From c0224225c7ee03116d6ea7d5ae1a1dab5913838b Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 27 Nov 2019 13:48:21 -0500 Subject: [PATCH 001/116] fix: Adjust projectKey styling and text --- messages/en.json | 4 ++++ messages/es.json | 4 ++++ messages/fr.json | 4 ++++ messages/pt.json | 4 ++++ src/frontend/screens/SyncModal/SyncView.js | 6 ++++-- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/messages/en.json b/messages/en.json index 58b369705..52c0ea2c8 100644 --- a/messages/en.json +++ b/messages/en.json @@ -256,6 +256,10 @@ "description": "Title of message shown when no wifi network", "message": "No WiFi" }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, "screens.SyncModal.SyncView.searchingDesc": { "description": "Description shown whilst searcing for sync peers", "message": "Ensure that other devices are turned on and connected to the same WiFi network" diff --git a/messages/es.json b/messages/es.json index 9be7dc084..e8608ddb1 100644 --- a/messages/es.json +++ b/messages/es.json @@ -256,6 +256,10 @@ "description": "Title of message shown when no wifi network", "message": "Sin WiFi" }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Clave del proyecto: {projectKey}" + }, "screens.SyncModal.SyncView.searchingDesc": { "description": "Description shown whilst searcing for sync peers", "message": "Asegúrese de que otros dispositivos están encendidos y conectados a la misma red WiFi" diff --git a/messages/fr.json b/messages/fr.json index 05bc7a430..3791161b4 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -256,6 +256,10 @@ "description": "Title of message shown when no wifi network", "message": "No WiFi" }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "" + }, "screens.SyncModal.SyncView.searchingDesc": { "description": "Description shown whilst searcing for sync peers", "message": "Ensure that other devices are turned on and connected to the same WiFi network" diff --git a/messages/pt.json b/messages/pt.json index 05bc7a430..3791161b4 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -256,6 +256,10 @@ "description": "Title of message shown when no wifi network", "message": "No WiFi" }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "" + }, "screens.SyncModal.SyncView.searchingDesc": { "description": "Description shown whilst searcing for sync peers", "message": "Ensure that other devices are turned on and connected to the same WiFi network" diff --git a/src/frontend/screens/SyncModal/SyncView.js b/src/frontend/screens/SyncModal/SyncView.js index e50c3d630..ad3236d2a 100644 --- a/src/frontend/screens/SyncModal/SyncView.js +++ b/src/frontend/screens/SyncModal/SyncView.js @@ -156,9 +156,11 @@ export default SyncView; const styles = StyleSheet.create({ projectId: { - color: "white", + color: "#aaaaaa", padding: 10, - textAlign: "center" + textAlign: "center", + backgroundColor: "black", + flex: 0 }, header: { flexGrow: 0, From 8362831fddc5a7f58bd8633bdc1f3c9f78ef5e18 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 27 Nov 2019 13:48:47 -0500 Subject: [PATCH 002/116] fix(Sync): Touch up styles of no wifi sync screen --- messages/en.json | 4 + messages/es.json | 4 + messages/fr.json | 4 + messages/pt.json | 4 + src/frontend/screens/SyncModal/SyncView.js | 103 ++++++++++++++------- src/frontend/sharedComponents/Button.js | 98 ++++++++++++++++++++ 6 files changed, 181 insertions(+), 36 deletions(-) create mode 100644 src/frontend/sharedComponents/Button.js diff --git a/messages/en.json b/messages/en.json index 52c0ea2c8..c5b54b7c6 100644 --- a/messages/en.json +++ b/messages/en.json @@ -268,6 +268,10 @@ "description": "Title of message shown while looking for sync peers", "message": "Searching" }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, "screens.SyncModal.SyncView.syncHeader": { "description": "Header of sync screen", "message": "Synchronize" diff --git a/messages/es.json b/messages/es.json index e8608ddb1..f78caa285 100644 --- a/messages/es.json +++ b/messages/es.json @@ -268,6 +268,10 @@ "description": "Title of message shown while looking for sync peers", "message": "Buscando" }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Abrir configuración" + }, "screens.SyncModal.SyncView.syncHeader": { "description": "Header of sync screen", "message": "Sincronizar" diff --git a/messages/fr.json b/messages/fr.json index 3791161b4..88201e647 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -268,6 +268,10 @@ "description": "Title of message shown while looking for sync peers", "message": "Searching" }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "" + }, "screens.SyncModal.SyncView.syncHeader": { "description": "Header of sync screen", "message": "Synchronize" diff --git a/messages/pt.json b/messages/pt.json index 3791161b4..88201e647 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -268,6 +268,10 @@ "description": "Title of message shown while looking for sync peers", "message": "Searching" }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "" + }, "screens.SyncModal.SyncView.syncHeader": { "description": "Header of sync screen", "message": "Synchronize" diff --git a/src/frontend/screens/SyncModal/SyncView.js b/src/frontend/screens/SyncModal/SyncView.js index ad3236d2a..539509edc 100644 --- a/src/frontend/screens/SyncModal/SyncView.js +++ b/src/frontend/screens/SyncModal/SyncView.js @@ -1,10 +1,12 @@ +/* eslint-disable react-native/no-raw-text */ // @flow import React from "react"; import { View, Text, StyleSheet } from "react-native"; import { TouchableNativeFeedback } from "../../sharedComponents/Touchables"; -import { defineMessages, FormattedMessage } from "react-intl"; +import { defineMessages, FormattedMessage, useIntl } from "react-intl"; import IconButton from "../../sharedComponents/IconButton"; +import Button from "../../sharedComponents/Button"; import { CloseIcon, WifiOffIcon, WifiIcon } from "../../sharedComponents/icons"; import DotIndicator from "./DotIndicator"; import PeerList from "./PeerList"; @@ -22,7 +24,6 @@ const m = defineMessages({ defaultMessage: "WiFi:", description: "Label for wifi network name" }, - noWifiTitle: { id: "screens.SyncModal.SyncView.noWifiTitle", defaultMessage: "No WiFi", @@ -34,6 +35,11 @@ const m = defineMessages({ defaultMessage: "Open your phone settins and connect to a WiFi network to synchronize" }, + settingsButton: { + id: "screens.SyncModal.SyncView.settingsButton", + description: "Button to open WiFi settings", + defaultMessage: "Open Settings" + }, searchingTitle: { id: "screens.SyncModal.SyncView.searchingTitle", defaultMessage: "Searching", @@ -44,6 +50,11 @@ const m = defineMessages({ description: "Description shown whilst searcing for sync peers", defaultMessage: "Ensure that other devices are turned on and connected to the same WiFi network" + }, + projectKey: { + id: "screens.SyncModal.SyncView.projectKey", + description: "First 5 characters of project key displayed on sync screen", + defaultMessage: "Project Key: {projectKey}" } }); @@ -77,25 +88,29 @@ const WifiBar = ({ onPress, ssid, deviceName }) => ( ); -const NoWifiBox = ({ onPress }) => ( - +const NoWifiBox = ({ onPress }) => { + const { formatMessage: t } = useIntl(); + return ( - + - - - - - - - - - + + + + {t(m.noWifiTitle)} + + + {t(m.noWifiDesc)} + + + + + - -); + ); +}; const SearchingBox = () => ( @@ -142,13 +157,18 @@ const SyncView = ({ ) : ( )} + {projectKey && ( + + + + )} ) : ( )} - {projectKey && ( - {projectKey.slice(0, 5)} - )} ); @@ -163,8 +183,8 @@ const styles = StyleSheet.create({ flex: 0 }, header: { - flexGrow: 0, - flexShrink: 0, + // flexGrow: 0, + // flexShrink: 0, height: 60, flexDirection: "row", alignItems: "center", @@ -185,16 +205,16 @@ const styles = StyleSheet.create({ justifyContent: "flex-start" }, noWifiBox: { - backgroundColor: "#AD145C", - minHeight: 300, - paddingHorizontal: 30, + backgroundColor: "#000034", flexDirection: "column", - justifyContent: "center" + justifyContent: "flex-start", + alignItems: "stretch", + flex: 1 }, - noWifiBoxInner: { - flex: 1, - flexDirection: "row", - alignItems: "center" + noWifiIconContainer: { + flexDirection: "column", + alignItems: "center", + flex: 0 }, searchingBoxInner: { marginTop: 20, @@ -202,10 +222,11 @@ const styles = StyleSheet.create({ alignItems: "center" }, noWifiIcon: { - width: 120, - height: 120, - backgroundColor: "#93114E", - borderRadius: 60, + width: 250, + height: 250, + marginVertical: 50, + backgroundColor: "#19337F", + borderRadius: 125, alignItems: "center", justifyContent: "center" }, @@ -217,11 +238,14 @@ const styles = StyleSheet.create({ infoSubheader: { color: "white", fontWeight: "400", - fontSize: 20 + fontSize: 18 }, noWifiTextContainer: { - maxWidth: "60%", - marginLeft: 20 + flex: 0, + paddingHorizontal: 20 + }, + noWifiText: { + textAlign: "center" }, searchingTextContainer: { maxWidth: "75%", @@ -248,6 +272,13 @@ const styles = StyleSheet.create({ bold: { fontWeight: "700" }, + settingsButton: { + flex: 1, + paddingVertical: 10, + flexDirection: "column", + alignItems: "center", + justifyContent: "center" + }, searchingBox: { backgroundColor: "#2348B2", minHeight: 250, diff --git a/src/frontend/sharedComponents/Button.js b/src/frontend/sharedComponents/Button.js new file mode 100644 index 000000000..0c3b8a4e0 --- /dev/null +++ b/src/frontend/sharedComponents/Button.js @@ -0,0 +1,98 @@ +/* eslint-disable react-native/no-unused-styles */ +// @flow +import * as React from "react"; +import PropTypes from "prop-types"; +import { StyleSheet, View, Text } from "react-native"; +import { TouchableNativeFeedback } from "../sharedComponents/Touchables"; + +import { VERY_LIGHT_BLUE } from "../lib/styles"; +import type { Style } from "../types"; + +// Fix warning pending https://github.com/kmagiera/react-native-gesture-handler/pull/561/files +TouchableNativeFeedback.propTypes = { + ...TouchableNativeFeedback.propTypes, + background: PropTypes.object +}; + +type Props = { + onPress: (SyntheticEvent<>) => any, + children: string | React.Node, + variant?: "contained" | "outlined" | "text", + color?: "dark" | "light", + style?: Style, + fullWidth?: boolean, + testID?: string +}; + +const Button = ({ + onPress, + variant = "contained", + color = "dark", + style, + children, + fullWidth = false +}: Props) => { + const buttonStyle = styles["button" + capitalize(variant)]; + const textStyle = styles["text" + capitalize(variant) + capitalize(color)]; + return ( + + + {typeof children === "string" ? ( + + {children.toUpperCase()} + + ) : ( + children + )} + + + ); +}; + +export default Button; + +function capitalize(str: string) { + return str.charAt(0).toUpperCase() + str.slice(1); +} + +const styles = StyleSheet.create({ + buttonBase: { + borderRadius: 6, + alignSelf: "center", + overflow: "hidden" + }, + fullWidth: { + width: "100%" + }, + buttonContained: { + backgroundColor: "#0066FF" + }, + buttonOutlined: { + borderColor: "#EEEEEE", + borderWidth: 1.5 + }, + touchable: { + paddingVertical: 15, + paddingHorizontal: 30, + justifyContent: "center", + alignItems: "center" + }, + textBase: { + fontWeight: "700", + letterSpacing: 0.5, + fontSize: 16, + color: "#FFFFFF" + }, + textOutlinedLight: { + color: "#0066FF" + } +}); From 0f3aaf615c96d7c5fba9923265324ca3ba213b7f Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 4 Dec 2019 10:22:01 +0000 Subject: [PATCH 003/116] chore(docs): Add README note about breaking changes and stability --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d42ea13d..a2a3798d8 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,25 @@ Mapeo Mobile is a mobile app (currently Android only) for offline mapping and mo ## Table of Contents +- [Compatibility & Stability](#-Compatibility) - [Install](#install) - [Usage](#usage) - [Maintainers](#maintainers) - [Contributing](#contributing) - [License](#license) +## ⚠ Compatibility & Stability + +**Mapeo Mobile v2 is unable to sync with Mapeo Mobile v1**, due to a change in the way synchronization works. You will need to update all devices to v2 or higher in order to continue syncing. + +Due to this sync change, **Mapeo Mobile v2 is also unable to sync with Mapeo Desktop v4 or v3**. You will need to update Mapeo Desktop to v5 or higher in order to continue syncing. + +Mapeo Mobile is currently in Beta. This means that there might be frequent changes to the user interface and there may be changes that break the ability to sync with older versions unless every device updates. We understand that this is an inconvenience if many users are offline and unable to update more easily, and when the sync protocol is more stable we will move Mapeo out of beta and work on a way of updating offline clients offline during sync. + +Mapeo Mobile is already being used in the field with dozens of local community partners and is stable and reliable enough for real-world usage, and we work hard to ensure that no data is lost during updates. + +You will also see Alpha releases on the releases page. These should be regarded as unstable and likely to crash / not work. We use the Alpha releases for internal testing and once it is stable enough we release it as a Beta. If you don't mind things breaking we really welcome others being able to test the latest Alpha and sending us feedback about any bugs you find. + ## Install Download the [latest release](https://github.com/digidem/mapeo-mobile/releases) @@ -75,7 +88,6 @@ Connect with the Mapeo community for support & to contribute! - [**IRC**](https://kiwiirc.com/nextclient/irc.freenode.net/) (channel #ddem) - [**Slack**](http://slack.digital-democracy.org) - ## Contributing See [the contributing file](CONTRIBUTING.md)! From b53f93c19d55bc62cea0f81b4402fefe3e203220 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 4 Dec 2019 10:27:45 +0000 Subject: [PATCH 004/116] chore(docs): Add README note about translations --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index a2a3798d8..03dc6cf60 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ Mapeo Mobile is a mobile app (currently Android only) for offline mapping and mo - [Compatibility & Stability](#-Compatibility) - [Install](#install) - [Usage](#usage) +- [Translations](#translations) - [Maintainers](#maintainers) - [Contributing](#contributing) - [License](#license) @@ -73,6 +74,14 @@ tiles/ ...maybe more ``` +## Translations + +Mapeo is designed to be used in any language, but we rely on volunteers like you to help with translations. You can see current translation status on the [Crowdin project page](https://crowdin.com/project/mapeo-mobile). + +If you would like to add translations in your language, you can [sign up to Crowdin](https://crwd.in/mapeo-mobile) and being translating immediately. + +If you would like your language added to the translations list, [please request it](https://github.com/digidem/mapeo-mobile/issues/new). + ## Maintainers - [@gmaclennan](https://github.com/gmaclennan) From 4d0123b8e97304757d552c4a67717c70978ac154 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 4 Dec 2019 22:08:52 +0000 Subject: [PATCH 005/116] feat: Update to latest React Native & Unimodules (better performance and bug fixes) Squashed commits: [2cdd3e6] chore: Cleanup unused vars (+7 squashed commits) [2599762] chore: Fix gradlew script (was throwing warning) [dd60087] chore: Update deps [c41f02d] fix: Update react-native-v8 for RN 0.61 [556422c] Update to latest unimodules [737c490] remove redundant patch (issue was fixed in RN61) [8cf62f0] Bump react-native-fs to latest [37a7e1e] Update to RN 0.61.5 --- .flowconfig | 35 +- android/app/build.gradle | 10 +- .../main/java/com/mapeo/MainApplication.java | 3 +- android/build.gradle | 3 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/gradlew | 102 +- ios/Podfile | 16 +- ios/Podfile.lock | 338 ++++++ ios/mapeo.xcodeproj/project.pbxproj | 1078 +++-------------- ios/mapeo/AppDelegate.m | 2 - ios/mapeo/Base.lproj/LaunchScreen.xib | 27 +- ios/mapeoTests/mapeoTests.m | 8 +- package.json | 28 +- patches/README.md | 16 - patches/metro+0.54.1.patch | 14 - .../ObservationsList/ObservationsListView.js | 3 +- src/frontend/sharedComponents/Loading.js | 12 +- 17 files changed, 604 insertions(+), 1093 deletions(-) create mode 100644 ios/Podfile.lock delete mode 100644 patches/README.md delete mode 100644 patches/metro+0.54.1.patch diff --git a/.flowconfig b/.flowconfig index 7624d4520..0d49f306e 100644 --- a/.flowconfig +++ b/.flowconfig @@ -1,19 +1,10 @@ [ignore] -android/.* ; We fork some components by platform .*/*[.]android.js ; Ignore "BUCK" generated dirs /\.buckd/ -; Ignore unexpected extra "@providesModule" -.*/node_modules/.*/node_modules/fbjs/.* - -; Ignore duplicate module providers -; For RN Apps installed via npm, "Libraries" folder is inside -; "node_modules/react-native" but in the source repo it is in the root -node_modules/react-native/Libraries/react-native/React.js - ; Ignore polyfills node_modules/react-native/Libraries/polyfills/.* @@ -22,7 +13,7 @@ node_modules/react-native/Libraries/polyfills/.* node_modules/warning/.* ; Flow doesn't support platforms -.*/Libraries/Utilities/HMRLoadingView.js +.*/Libraries/Utilities/LoadingView.js [untyped] .*/node_modules/@react-native-community/cli/.*/.* @@ -50,27 +41,11 @@ module.file_ext=.js module.file_ext=.json module.file_ext=.ios.js -module.system=haste -module.system.haste.use_name_reducers=true -# get basename -module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1' -# strip .js or .js.flow suffix -module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1' -# strip .ios suffix -module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1' -module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1' -module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1' -module.system.haste.paths.blacklist=.*/__tests__/.* -module.system.haste.paths.blacklist=.*/__mocks__/.* -module.system.haste.paths.whitelist=/node_modules/react-native/Libraries/.* -module.system.haste.paths.whitelist=/node_modules/react-native/RNTester/.* -module.system.haste.paths.whitelist=/node_modules/react-native/IntegrationTests/.* -module.system.haste.paths.blacklist=/node_modules/react-native/Libraries/react-native/react-native-implementation.js -module.system.haste.paths.blacklist=/node_modules/react-native/Libraries/Animated/src/polyfills/.* - munge_underscores=true -module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' +module.name_mapper='^react-native$' -> '/node_modules/react-native/Libraries/react-native/react-native-implementation' +module.name_mapper='^react-native/\(.*\)$' -> '/node_modules/react-native/\1' +module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '/node_modules/react-native/Libraries/Image/RelativeImageStub' suppress_type=$FlowIssue suppress_type=$FlowFixMe @@ -104,4 +79,4 @@ untyped-import untyped-type-import [version] -^0.98.0 +^0.105.0 diff --git a/android/app/build.gradle b/android/app/build.gradle index 6d9be0ee5..25926f581 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -217,12 +217,6 @@ android { } packagingOptions { - pickFirst '**/armeabi-v7a/libc++_shared.so' - pickFirst '**/x86/libc++_shared.so' - pickFirst '**/arm64-v8a/libc++_shared.so' - pickFirst '**/x86_64/libc++_shared.so' - pickFirst '**/x86/libjsc.so' - pickFirst '**/armeabi-v7a/libjsc.so' // Fix for detox exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/NOTICE' @@ -250,9 +244,9 @@ dependencies { addUnimodulesDependencies() if (enableHermes) { - def hermesPath = "../../node_modules/hermesvm/android/"; + def hermesPath = "../../node_modules/hermes-engine/android/"; debugImplementation files(hermesPath + "hermes-debug.aar") - releaseImplementation files(hermesPath + "hermes-release.aar") + releaseImplementation files(hermesPath + "hermes-release.aar") } else { implementation jscFlavor } diff --git a/android/app/src/main/java/com/mapeo/MainApplication.java b/android/app/src/main/java/com/mapeo/MainApplication.java index 2b8b41886..ea560e02d 100644 --- a/android/app/src/main/java/com/mapeo/MainApplication.java +++ b/android/app/src/main/java/com/mapeo/MainApplication.java @@ -1,7 +1,7 @@ package com.mapeo; import android.app.Application; -import android.util.Log; +import android.content.Context; import com.facebook.react.PackageList; import com.facebook.hermes.reactexecutor.HermesExecutorFactory; @@ -21,6 +21,7 @@ import com.mapbox.rctmgl.RCTMGLPackage; import java.util.Arrays; +import java.lang.reflect.InvocationTargetException; import java.util.List; public class MainApplication extends Application implements ShareApplication, ReactApplication { diff --git a/android/build.gradle b/android/build.gradle index 450d613ad..165d10a09 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -17,7 +17,7 @@ buildscript { maven { url("https://maven.google.com") } } dependencies { - classpath("com.android.tools.build:gradle:3.4.1") + classpath("com.android.tools.build:gradle:3.4.2") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -42,5 +42,6 @@ allprojects { } google() jcenter() + maven { url 'https://jitpack.io' } } } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index ee69dd68d..e0c4de36d 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/gradlew b/android/gradlew index 0972cf2ad..b0d6d0ab5 100755 --- a/android/gradlew +++ b/android/gradlew @@ -26,22 +26,22 @@ # Resolve links: $0 may be a link PRG="$0" # Need this for relative symlinks. -while [ -h "$PRG" ]; do - ls=$(ls -ld "$PRG") - link=$(expr "$ls" : '.*-> \(.*\)$') - if expr "$link" : '/.*' >/dev/null; then +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then PRG="$link" else - PRG=$(dirname "$PRG")"/$link" + PRG=`dirname "$PRG"`"/$link" fi done -SAVED="$(pwd)" -cd "$(dirname \"$PRG\")/" >/dev/null -APP_HOME="$(pwd -P)" +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" cd "$SAVED" >/dev/null APP_NAME="Gradle" -APP_BASE_NAME=$(basename "$0") +APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' @@ -49,11 +49,11 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn() { +warn () { echo "$*" } -die() { +die () { echo echo "$*" echo @@ -65,17 +65,17 @@ cygwin=false msys=false darwin=false nonstop=false -case "$(uname)" in -CYGWIN*) +case "`uname`" in + CYGWIN* ) cygwin=true ;; -Darwin*) + Darwin* ) darwin=true ;; -MINGW*) + MINGW* ) msys=true ;; -NONSTOP*) + NONSTOP* ) nonstop=true ;; esac @@ -83,14 +83,14 @@ esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ]; then - if [ -x "$JAVA_HOME/jre/sh/java" ]; then +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi - if [ ! -x "$JAVACMD" ]; then + if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME Please set the JAVA_HOME variable in your environment to match the @@ -105,14 +105,14 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ]; then - MAX_FD_LIMIT=$(ulimit -H -n) - if [ $? -eq 0 ]; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then MAX_FD="$MAX_FD_LIMIT" fi ulimit -n $MAX_FD - if [ $? -ne 0 ]; then + if [ $? -ne 0 ] ; then warn "Could not set maximum file descriptor limit: $MAX_FD" fi else @@ -126,53 +126,53 @@ if $darwin; then fi # For Cygwin, switch paths to Windows format before running java -if $cygwin; then - APP_HOME=$(cygpath --path --mixed "$APP_HOME") - CLASSPATH=$(cygpath --path --mixed "$CLASSPATH") - JAVACMD=$(cygpath --unix "$JAVACMD") +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=$(find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null) + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` SEP="" - for dir in $ROOTDIRSRAW; do + for dir in $ROOTDIRSRAW ; do ROOTDIRS="$ROOTDIRS$SEP$dir" SEP="|" done OURCYGPATTERN="(^($ROOTDIRS))" # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ]; then + if [ "$GRADLE_CYGPATTERN" != "" ] ; then OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" fi # Now convert the arguments - kludge to limit ourselves to /bin/sh i=0 - for arg in "$@"; do - CHECK=$(echo "$arg" | egrep -c "$OURCYGPATTERN" -) - CHECK2=$(echo "$arg" | egrep -c "^-") ### Determine if an option + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ]; then ### Added a condition - eval $(echo args$i)=$(cygpath --path --ignore --mixed "$arg") + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` else - eval $(echo args$i)="\"$arg\"" + eval `echo args$i`="\"$arg\"" fi - i=$((i + 1)) + i=$((i+1)) done case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi # Escape application args -save() { - for i; do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/"; done +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } APP_ARGS=$(save "$@") @@ -182,7 +182,7 @@ eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$A # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" + cd "$(dirname "$0")" fi exec "$JAVACMD" "$@" diff --git a/ios/Podfile b/ios/Podfile index 4bb8a666d..fa1036632 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -3,10 +3,14 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ target 'mapeo' do # Pods for mapeo + pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" + pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" + pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" + pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety" pod 'React', :path => '../node_modules/react-native/' - pod 'React-Core', :path => '../node_modules/react-native/React' - pod 'React-DevSupport', :path => '../node_modules/react-native/React' - pod 'React-fishhook', :path => '../node_modules/react-native/Libraries/fishhook' + pod 'React-Core', :path => '../node_modules/react-native/' + pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules' + pod 'React-Core/DevSupport', :path => '../node_modules/react-native/' pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' @@ -16,13 +20,15 @@ target 'mapeo' do pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' - pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket' + pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/' pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' - pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga' + pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon" + pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon" + pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga' pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 000000000..73523d30c --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,338 @@ +PODS: + - boost-for-react-native (1.63.0) + - DoubleConversion (1.1.6) + - FBLazyVector (0.61.5) + - FBReactNativeSpec (0.61.5): + - Folly (= 2018.10.22.00) + - RCTRequired (= 0.61.5) + - RCTTypeSafety (= 0.61.5) + - React-Core (= 0.61.5) + - React-jsi (= 0.61.5) + - ReactCommon/turbomodule/core (= 0.61.5) + - Folly (2018.10.22.00): + - boost-for-react-native + - DoubleConversion + - Folly/Default (= 2018.10.22.00) + - glog + - Folly/Default (2018.10.22.00): + - boost-for-react-native + - DoubleConversion + - glog + - glog (0.3.5) + - RCTRequired (0.61.5) + - RCTTypeSafety (0.61.5): + - FBLazyVector (= 0.61.5) + - Folly (= 2018.10.22.00) + - RCTRequired (= 0.61.5) + - React-Core (= 0.61.5) + - React (0.61.5): + - React-Core (= 0.61.5) + - React-Core/DevSupport (= 0.61.5) + - React-Core/RCTWebSocket (= 0.61.5) + - React-RCTActionSheet (= 0.61.5) + - React-RCTAnimation (= 0.61.5) + - React-RCTBlob (= 0.61.5) + - React-RCTImage (= 0.61.5) + - React-RCTLinking (= 0.61.5) + - React-RCTNetwork (= 0.61.5) + - React-RCTSettings (= 0.61.5) + - React-RCTText (= 0.61.5) + - React-RCTVibration (= 0.61.5) + - React-Core (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default (= 0.61.5) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/CoreModulesHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/Default (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/DevSupport (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default (= 0.61.5) + - React-Core/RCTWebSocket (= 0.61.5) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - React-jsinspector (= 0.61.5) + - Yoga + - React-Core/RCTActionSheetHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTAnimationHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTBlobHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTImageHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTLinkingHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTNetworkHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTSettingsHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTTextHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTVibrationHeaders (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-Core/RCTWebSocket (0.61.5): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default (= 0.61.5) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - Yoga + - React-CoreModules (0.61.5): + - FBReactNativeSpec (= 0.61.5) + - Folly (= 2018.10.22.00) + - RCTTypeSafety (= 0.61.5) + - React-Core/CoreModulesHeaders (= 0.61.5) + - React-RCTImage (= 0.61.5) + - ReactCommon/turbomodule/core (= 0.61.5) + - React-cxxreact (0.61.5): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsinspector (= 0.61.5) + - React-jsi (0.61.5): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsi/Default (= 0.61.5) + - React-jsi/Default (0.61.5): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsiexecutor (0.61.5): + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsinspector (0.61.5) + - React-RCTActionSheet (0.61.5): + - React-Core/RCTActionSheetHeaders (= 0.61.5) + - React-RCTAnimation (0.61.5): + - React-Core/RCTAnimationHeaders (= 0.61.5) + - React-RCTBlob (0.61.5): + - React-Core/RCTBlobHeaders (= 0.61.5) + - React-Core/RCTWebSocket (= 0.61.5) + - React-jsi (= 0.61.5) + - React-RCTNetwork (= 0.61.5) + - React-RCTImage (0.61.5): + - React-Core/RCTImageHeaders (= 0.61.5) + - React-RCTNetwork (= 0.61.5) + - React-RCTLinking (0.61.5): + - React-Core/RCTLinkingHeaders (= 0.61.5) + - React-RCTNetwork (0.61.5): + - React-Core/RCTNetworkHeaders (= 0.61.5) + - React-RCTSettings (0.61.5): + - React-Core/RCTSettingsHeaders (= 0.61.5) + - React-RCTText (0.61.5): + - React-Core/RCTTextHeaders (= 0.61.5) + - React-RCTVibration (0.61.5): + - React-Core/RCTVibrationHeaders (= 0.61.5) + - ReactCommon/jscallinvoker (0.61.5): + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-cxxreact (= 0.61.5) + - ReactCommon/turbomodule/core (0.61.5): + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-Core (= 0.61.5) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - ReactCommon/jscallinvoker (= 0.61.5) + - Yoga (1.14.0) + +DEPENDENCIES: + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`) + - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/DevSupport (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - boost-for-react-native + +EXTERNAL SOURCES: + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + FBReactNativeSpec: + :path: "../node_modules/react-native/Libraries/FBReactNativeSpec" + Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + RCTRequired: + :path: "../node_modules/react-native/Libraries/RCTRequired" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../node_modules/react-native/" + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c + DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 + FBLazyVector: aaeaf388755e4f29cd74acbc9e3b8da6d807c37f + FBReactNativeSpec: 118d0d177724c2d67f08a59136eb29ef5943ec75 + Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 + glog: 1f3da668190260b06b429bb211bfbee5cd790c28 + RCTRequired: b153add4da6e7dbc44aebf93f3cf4fcae392ddf1 + RCTTypeSafety: 9aa1b91d7f9310fc6eadc3cf95126ffe818af320 + React: b6a59ef847b2b40bb6e0180a97d0ca716969ac78 + React-Core: 688b451f7d616cc1134ac95295b593d1b5158a04 + React-CoreModules: d04f8494c1a328b69ec11db9d1137d667f916dcb + React-cxxreact: d0f7bcafa196ae410e5300736b424455e7fb7ba7 + React-jsi: cb2cd74d7ccf4cffb071a46833613edc79cdf8f7 + React-jsiexecutor: d5525f9ed5f782fdbacb64b9b01a43a9323d2386 + React-jsinspector: fa0ecc501688c3c4c34f28834a76302233e29dc0 + React-RCTActionSheet: 600b4d10e3aea0913b5a92256d2719c0cdd26d76 + React-RCTAnimation: 791a87558389c80908ed06cc5dfc5e7920dfa360 + React-RCTBlob: d89293cc0236d9cb0933d85e430b0bbe81ad1d72 + React-RCTImage: 6b8e8df449eb7c814c99a92d6b52de6fe39dea4e + React-RCTLinking: 121bb231c7503cf9094f4d8461b96a130fabf4a5 + React-RCTNetwork: fb353640aafcee84ca8b78957297bd395f065c9a + React-RCTSettings: 8db258ea2a5efee381fcf7a6d5044e2f8b68b640 + React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe + React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad + ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd + Yoga: f2a7cd4280bfe2cca5a7aed98ba0eb3d1310f18b + +PODFILE CHECKSUM: 2258f62cde52edcba3886ffe0e970ad2e6220d4c + +COCOAPODS: 1.8.4 diff --git a/ios/mapeo.xcodeproj/project.pbxproj b/ios/mapeo.xcodeproj/project.pbxproj index dd25a9f58..7b99d9c1b 100644 --- a/ios/mapeo.xcodeproj/project.pbxproj +++ b/ios/mapeo.xcodeproj/project.pbxproj @@ -5,82 +5,24 @@ }; objectVersion = 46; objects = { + /* Begin PBXBuildFile section */ - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; - 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 00E356F31AD99517003FC87E /* mapeoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* mapeoTests.m */; }; - 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; + 02F672FB93EDF28FF787876C /* libPods-mapeo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C87C9867A5F84E7947DB7060 /* libPods-mapeo.a */; }; + 112F23894C3837C085DF4EC3 /* libPods-mapeo-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FCCE32129F349A53533763AF /* libPods-mapeo-tvOS.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; - 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; - 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; }; - 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; }; - 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; }; - 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; }; - 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; }; - 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; - 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; }; 2DCD954D1E0B4F2C00145EB5 /* mapeoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* mapeoTests.m */; }; - 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; - 559C68A763CD4E4C98BDF5E4 /* NodeMobile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3157A593023C4203A2B79AF3 /* NodeMobile.framework */; }; - 5B2C67E6C5474B3782D2EB5B /* NodeMobile.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3157A593023C4203A2B79AF3 /* NodeMobile.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; - CDE57748E8BC4536817DF9F7 /* nodejs-project in Resources */ = {isa = PBXBuildFile; fileRef = D6F2C0C739424F81BD67568D /* nodejs-project */; }; - DFBA28EC713A44B4A879787E /* builtin_modules in Resources */ = {isa = PBXBuildFile; fileRef = 00802A97CC484DA096F51E1A /* builtin_modules */; }; - ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; }; - ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED2971642150620600B7C4FE /* JavaScriptCore.framework */; }; + 5A10A3C9BC2E16103B7061EA /* libPods-mapeoTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 249B2B66D635AD0BD494C313 /* libPods-mapeoTests.a */; }; + E05E7176D1E8B05FA7EB0751 /* libPods-mapeo-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 03A87336D773BB016D4DF7FD /* libPods-mapeo-tvOSTests.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTActionSheet; - }; - 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTGeolocation; - }; - 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5115D1A9E6B3D00147676; - remoteInfo = RCTImage; - }; - 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B511DB1A9E6C8500147676; - remoteInfo = RCTNetwork; - }; - 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; - remoteInfo = RCTVibration; - }; 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -88,27 +30,6 @@ remoteGlobalIDString = 13B07F861A680F5B00A75B9A; remoteInfo = mapeo; }; - 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTSettings; - }; - 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3C86DF461ADF2C930047B81A; - remoteInfo = RCTWebSocket; - }; - 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; - remoteInfo = React; - }; 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -116,238 +37,14 @@ remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; remoteInfo = "mapeo-tvOS"; }; - 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ADD01A681E09402E00F6D226; - remoteInfo = "RCTBlob-tvOS"; - }; - 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; - remoteInfo = fishhook; - }; - 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; - remoteInfo = "fishhook-tvOS"; - }; - 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EBF21BDC1FC498900052F4D5; - remoteInfo = jsinspector; - }; - 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5; - remoteInfo = "jsinspector-tvOS"; - }; - 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; - remoteInfo = "third-party"; - }; - 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; - remoteInfo = "third-party-tvOS"; - }; - 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7E881E25C6D100323FB7; - remoteInfo = "double-conversion"; - }; - 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D383D621EBD27B9005632C8; - remoteInfo = "double-conversion-tvOS"; - }; - 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; - remoteInfo = "RCTImage-tvOS"; - }; - 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28471D9B043800D4039D; - remoteInfo = "RCTLinking-tvOS"; - }; - 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28541D9B044C00D4039D; - remoteInfo = "RCTNetwork-tvOS"; - }; - 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28611D9B046600D4039D; - remoteInfo = "RCTSettings-tvOS"; - }; - 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A287B1D9B048500D4039D; - remoteInfo = "RCTText-tvOS"; - }; - 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28881D9B049200D4039D; - remoteInfo = "RCTWebSocket-tvOS"; - }; - 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28131D9B038B00D4039D; - remoteInfo = "React-tvOS"; - }; - 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C059A1DE3340900C268FA; - remoteInfo = yoga; - }; - 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C06751DE3340C00C268FA; - remoteInfo = "yoga-tvOS"; - }; - 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; - remoteInfo = cxxreact; - }; - 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; - remoteInfo = "cxxreact-tvOS"; - }; - 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTAnimation; - }; - 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28201D9B03D100D4039D; - remoteInfo = "RCTAnimation-tvOS"; - }; - 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTLinking; - }; - 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5119B1A9E6C1200147676; - remoteInfo = RCTText; - }; - ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 358F4ED71D1E81A9004DF814; - remoteInfo = RCTBlob; - }; - F5C099CE2224671F0006A69E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EDEBC6D6214B3E7000DD5AC8; - remoteInfo = jsi; - }; - F5C099D02224671F0006A69E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EDEBC73B214B45A300DD5AC8; - remoteInfo = jsiexecutor; - }; - F5C099D22224671F0006A69E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ED296FB6214C9A0900B7C4FE; - remoteInfo = "jsi-tvOS"; - }; - F5C099D42224671F0006A69E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ED296FEE214C9CF800B7C4FE; - remoteInfo = "jsiexecutor-tvOS"; - }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 8A4314636A56476AA1FB882F /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 5B2C67E6C5474B3782D2EB5B /* NodeMobile.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ - 00802A97CC484DA096F51E1A /* builtin_modules */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = builtin_modules; path = "../node_modules/nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules"; sourceTree = ""; }; 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; - 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; }; - 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; }; - 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; - 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; - 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; 00E356EE1AD99517003FC87E /* mapeoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = mapeoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* mapeoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = mapeoTests.m; sourceTree = ""; }; - 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; - 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; + 03A87336D773BB016D4DF7FD /* libPods-mapeo-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mapeo-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07F961A680F5B00A75B9A /* mapeo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mapeo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = mapeo/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = mapeo/AppDelegate.m; sourceTree = ""; }; @@ -355,18 +52,21 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = mapeo/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mapeo/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = mapeo/main.m; sourceTree = ""; }; - 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; + 20D6855CB6AD53909BA2F057 /* Pods-mapeoTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mapeoTests.debug.xcconfig"; path = "Target Support Files/Pods-mapeoTests/Pods-mapeoTests.debug.xcconfig"; sourceTree = ""; }; + 249B2B66D635AD0BD494C313 /* libPods-mapeoTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mapeoTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 286498A51D98A5119EBFB8B1 /* Pods-mapeo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mapeo.release.xcconfig"; path = "Target Support Files/Pods-mapeo/Pods-mapeo.release.xcconfig"; sourceTree = ""; }; 2D02E47B1E0B4A5D006451C7 /* mapeo-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "mapeo-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* mapeo-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mapeo-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 3157A593023C4203A2B79AF3 /* NodeMobile.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = NodeMobile.framework; path = "../node_modules/nodejs-mobile-react-native/ios/NodeMobile.framework"; sourceTree = ""; }; - 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; - 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; - 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; - D6F2C0C739424F81BD67568D /* nodejs-project */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "nodejs-project"; path = "../nodejs-assets/nodejs-project"; sourceTree = ""; }; + 4CC8CFA6AC0256F348E730A3 /* Pods-mapeo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mapeo.debug.xcconfig"; path = "Target Support Files/Pods-mapeo/Pods-mapeo.debug.xcconfig"; sourceTree = ""; }; + 7E086374642DC914897D478B /* Pods-mapeoTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mapeoTests.release.xcconfig"; path = "Target Support Files/Pods-mapeoTests/Pods-mapeoTests.release.xcconfig"; sourceTree = ""; }; + C87C9867A5F84E7947DB7060 /* libPods-mapeo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mapeo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + CB0829455CA23DBBFB0B41D7 /* Pods-mapeo-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mapeo-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-mapeo-tvOS/Pods-mapeo-tvOS.debug.xcconfig"; sourceTree = ""; }; + D7D19216BB07E545212266FF /* Pods-mapeo-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mapeo-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-mapeo-tvOSTests/Pods-mapeo-tvOSTests.debug.xcconfig"; sourceTree = ""; }; + E289B8F75D5B945CD64B97EF /* Pods-mapeo-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mapeo-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-mapeo-tvOSTests/Pods-mapeo-tvOSTests.release.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; + F0279FACBA5C6FF4E48E5E8C /* Pods-mapeo-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mapeo-tvOS.release.xcconfig"; path = "Target Support Files/Pods-mapeo-tvOS/Pods-mapeo-tvOS.release.xcconfig"; sourceTree = ""; }; + FCCE32129F349A53533763AF /* libPods-mapeo-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mapeo-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -374,7 +74,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, + 5A10A3C9BC2E16103B7061EA /* libPods-mapeoTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -382,20 +82,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */, - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */, - 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */, - 146834051AC3E58100842450 /* libReact.a in Frameworks */, - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, - 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - 559C68A763CD4E4C98BDF5E4 /* NodeMobile.framework in Frameworks */, + 02F672FB93EDF28FF787876C /* libPods-mapeo.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -403,17 +90,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */, - 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */, - 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */, - 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */, - 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */, - 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */, - 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */, - 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */, - 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */, - D29FCEED4E3040F8965EDF30 /* libRNGestureHandler-tvOS.a in Frameworks */, - 86DA8BC18AC846DF869F5F69 /* libRNCNetInfo-tvOS.a in Frameworks */, + 112F23894C3837C085DF4EC3 /* libPods-mapeo-tvOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -421,55 +98,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */, + E05E7176D1E8B05FA7EB0751 /* libPods-mapeo-tvOSTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00C302A81ABCB8CE00DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302B61ABCB90400DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302BC1ABCB91800DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, - 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302D41ABCB9D200DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, - 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302E01ABCB9EE00DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, - ); - name = Products; - sourceTree = ""; - }; 00E356EF1AD99517003FC87E /* mapeoTests */ = { isa = PBXGroup; children = ( @@ -487,26 +122,6 @@ name = "Supporting Files"; sourceTree = ""; }; - 139105B71AF99BAD00B5F7CC /* Products */ = { - isa = PBXGroup; - children = ( - 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, - 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 139FDEE71B06529A00C62182 /* Products */ = { - isa = PBXGroup; - children = ( - 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, - 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, - 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */, - 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 13B07FAE1A68108700A75B9A /* mapeo */ = { isa = PBXGroup; children = ( @@ -521,86 +136,26 @@ name = mapeo; sourceTree = ""; }; - 146834001AC3E56700842450 /* Products */ = { - isa = PBXGroup; - children = ( - 146834041AC3E56700842450 /* libReact.a */, - 3DAD3EA31DF850E9000B6D8A /* libReact.a */, - 3DAD3EA51DF850E9000B6D8A /* libyoga.a */, - 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, - 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, - 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, - 2DF0FFDF2056DD460020B375 /* libjsinspector.a */, - 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */, - 2DF0FFE32056DD460020B375 /* libthird-party.a */, - 2DF0FFE52056DD460020B375 /* libthird-party.a */, - 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */, - 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */, - F5C099CF2224671F0006A69E /* libjsi.a */, - F5C099D12224671F0006A69E /* libjsiexecutor.a */, - F5C099D32224671F0006A69E /* libjsi-tvOS.a */, - F5C099D52224671F0006A69E /* libjsiexecutor-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */, - 2D16E6891FA4F8E400B85C8A /* libReact.a */, - 3157A593023C4203A2B79AF3 /* NodeMobile.framework */, + C87C9867A5F84E7947DB7060 /* libPods-mapeo.a */, + FCCE32129F349A53533763AF /* libPods-mapeo-tvOS.a */, + 03A87336D773BB016D4DF7FD /* libPods-mapeo-tvOSTests.a */, + 249B2B66D635AD0BD494C313 /* libPods-mapeoTests.a */, ); name = Frameworks; sourceTree = ""; }; - 5E91572E1DD0AC6500FF2AA8 /* Products */ = { - isa = PBXGroup; - children = ( - 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */, - ); - name = Products; - sourceTree = ""; - }; - 78C398B11ACF4ADC00677621 /* Products */ = { - isa = PBXGroup; - children = ( - 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, - 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( - 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, - 146833FF1AC3E56700842450 /* React.xcodeproj */, - 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, - ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */, - 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, - 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, - 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, - 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, - 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, - 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, - 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, - 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, ); name = Libraries; sourceTree = ""; }; - 832341B11AAA6A8300B99B32 /* Products */ = { - isa = PBXGroup; - children = ( - 832341B51AAA6A8300B99B32 /* libRCTText.a */, - 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( @@ -609,9 +164,7 @@ 00E356EF1AD99517003FC87E /* mapeoTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, - D6F2C0C739424F81BD67568D /* nodejs-project */, - 00802A97CC484DA096F51E1A /* builtin_modules */, - F5C099A82224671E0006A69E /* Recovered References */, + C97BED76E257BB2CCE83AF53 /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -629,26 +182,20 @@ name = Products; sourceTree = ""; }; - ADBDB9201DFEBF0600ED6528 /* Products */ = { - isa = PBXGroup; - children = ( - ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */, - 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - F5C099A82224671E0006A69E /* Recovered References */ = { + C97BED76E257BB2CCE83AF53 /* Pods */ = { isa = PBXGroup; children = ( - AF682DDCE37340D783BFC7C3 /* libRNNodeJsMobile.a */, - D66E202CE88E4581A8959C83 /* libSplashScreen.a */, - 53E7D6EA17F547E48E722110 /* libRNGestureHandler.a */, - 399F6F8BADDA4FE290B1DD92 /* libRNReanimated.a */, - A334B1318A60480E92B8A2E7 /* libRNFS.a */, - DA592683F89A489C92A06653 /* libRNGestureHandler-tvOS.a */, - ); - name = "Recovered References"; + 4CC8CFA6AC0256F348E730A3 /* Pods-mapeo.debug.xcconfig */, + 286498A51D98A5119EBFB8B1 /* Pods-mapeo.release.xcconfig */, + CB0829455CA23DBBFB0B41D7 /* Pods-mapeo-tvOS.debug.xcconfig */, + F0279FACBA5C6FF4E48E5E8C /* Pods-mapeo-tvOS.release.xcconfig */, + D7D19216BB07E545212266FF /* Pods-mapeo-tvOSTests.debug.xcconfig */, + E289B8F75D5B945CD64B97EF /* Pods-mapeo-tvOSTests.release.xcconfig */, + 20D6855CB6AD53909BA2F057 /* Pods-mapeoTests.debug.xcconfig */, + 7E086374642DC914897D478B /* Pods-mapeoTests.release.xcconfig */, + ); + name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -658,6 +205,7 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "mapeoTests" */; buildPhases = ( + 245B910735F465A0254DDD4F /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, @@ -676,21 +224,19 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "mapeo" */; buildPhases = ( + 23905965F790F25F9EC57B20 /* [CP] Check Pods Manifest.lock */, + FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 8A4314636A56476AA1FB882F /* Embed Frameworks */, - CED52ED746CD41D4A87123BA /* Build NodeJS Mobile Native Modules */, - FA5DE6668E0B49CBA9F86EDA /* Sign NodeJS Mobile Native Modules */, - 57232D44F1494694AB32B68E /* Remove NodeJS Mobile Framework Simulator Strips */, ); buildRules = ( ); dependencies = ( ); name = mapeo; - productName = "Hello World"; + productName = mapeo; productReference = 13B07F961A680F5B00A75B9A /* mapeo.app */; productType = "com.apple.product-type.application"; }; @@ -698,6 +244,8 @@ isa = PBXNativeTarget; buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "mapeo-tvOS" */; buildPhases = ( + 11C71256689A8F6D03484C55 /* [CP] Check Pods Manifest.lock */, + FD10A7F122414F3F0027D42C /* Start Packager */, 2D02E4771E0B4A5D006451C7 /* Sources */, 2D02E4781E0B4A5D006451C7 /* Frameworks */, 2D02E4791E0B4A5D006451C7 /* Resources */, @@ -716,6 +264,7 @@ isa = PBXNativeTarget; buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "mapeo-tvOSTests" */; buildPhases = ( + 72346FFA324C6A9B88E8061F /* [CP] Check Pods Manifest.lock */, 2D02E48C1E0B4A5D006451C7 /* Sources */, 2D02E48D1E0B4A5D006451C7 /* Frameworks */, 2D02E48E1E0B4A5D006451C7 /* Resources */, @@ -736,7 +285,7 @@ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 940; + LastUpgradeCheck = 0940; ORGANIZATIONNAME = Facebook; TargetAttributes = { 00E356ED1AD99517003FC87E = { @@ -765,56 +314,6 @@ mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; - ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - }, - { - ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; - ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - }, - { - ProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */; - ProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - }, - { - ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; - ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; - }, - { - ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; - ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - }, - { - ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; - ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - }, - { - ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; - ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - }, - { - ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; - ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - }, - { - ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; - ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - }, - { - ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; - ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; - }, - { - ProductGroup = 139FDEE71B06529A00C62182 /* Products */; - ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - }, - { - ProductGroup = 146834001AC3E56700842450 /* Products */; - ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* mapeo */, @@ -825,275 +324,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTActionSheet.a; - remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTGeolocation.a; - remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTImage.a; - remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTNetwork.a; - remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTVibration.a; - remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTSettings.a; - remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTWebSocket.a; - remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 146834041AC3E56700842450 /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTBlob-tvOS.a"; - remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libfishhook.a; - remoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libfishhook-tvOS.a"; - remoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsinspector.a; - remoteRef = 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsinspector-tvOS.a"; - remoteRef = 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE32056DD460020B375 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE52056DD460020B375 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTImage-tvOS.a"; - remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTLinking-tvOS.a"; - remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTNetwork-tvOS.a"; - remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTSettings-tvOS.a"; - remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTText-tvOS.a"; - remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTWebSocket-tvOS.a"; - remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTLinking.a; - remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTText.a; - remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTBlob.a; - remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F56C0CCE22315CB300C0D1BD /* libRNGestureHandler-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRNGestureHandler-tvOS.a"; - remoteRef = F56C0CCD22315CB300C0D1BD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5C099CF2224671F0006A69E /* libjsi.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsi.a; - remoteRef = F5C099CE2224671F0006A69E /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5C099D12224671F0006A69E /* libjsiexecutor.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsiexecutor.a; - remoteRef = F5C099D02224671F0006A69E /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5C099D32224671F0006A69E /* libjsi-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsi-tvOS.a"; - remoteRef = F5C099D22224671F0006A69E /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5C099D52224671F0006A69E /* libjsiexecutor-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsiexecutor-tvOS.a"; - remoteRef = F5C099D42224671F0006A69E /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 00E356EC1AD99517003FC87E /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -1108,8 +338,6 @@ files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, - CDE57748E8BC4536817DF9F7 /* nodejs-project in Resources */, - DFBA28EC713A44B4A879787E /* builtin_modules in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1145,6 +373,72 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; + 11C71256689A8F6D03484C55 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-mapeo-tvOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 23905965F790F25F9EC57B20 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-mapeo-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 245B910735F465A0254DDD4F /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-mapeoTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1159,47 +453,65 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; - 57232D44F1494694AB32B68E /* Remove NodeJS Mobile Framework Simulator Strips */ = { + 72346FFA324C6A9B88E8061F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Remove NodeJS Mobile Framework Simulator Strips"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-mapeo-tvOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\nset -e\nFRAMEWORK_BINARY_PATH=\"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/NodeMobile.framework/NodeMobile\"\nFRAMEWORK_STRIPPED_PATH=\"$FRAMEWORK_BINARY_PATH-strip\"\nif [ \"$PLATFORM_NAME\" != \"iphonesimulator\" ]; then\n if $(lipo \"$FRAMEWORK_BINARY_PATH\" -verify_arch \"x86_64\") ; then\n lipo -output \"$FRAMEWORK_STRIPPED_PATH\" -remove \"x86_64\" \"$FRAMEWORK_BINARY_PATH\"\n rm \"$FRAMEWORK_BINARY_PATH\"\n mv \"$FRAMEWORK_STRIPPED_PATH\" \"$FRAMEWORK_BINARY_PATH\"\n echo \"Removed simulator strip from NodeMobile.framework\"\n fi\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - CED52ED746CD41D4A87123BA /* Build NodeJS Mobile Native Modules */ = { + FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( ); - name = "Build NodeJS Mobile Native Modules"; + name = "Start Packager"; + outputFileListPaths = ( + ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\nset -e\nif [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then\n# If build native modules preference is not set, look for it in the project's\n#nodejs-assets/BUILD_NATIVE_MODULES.txt file.\nNODEJS_ASSETS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../nodejs-assets/ && pwd )\"\nPREFERENCE_FILE_PATH=\"$NODEJS_ASSETS_DIR/BUILD_NATIVE_MODULES.txt\"\n if [ -f \"$PREFERENCE_FILE_PATH\" ]; then\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=\"$(cat $PREFERENCE_FILE_PATH | xargs)\"\n fi\nfi\nif [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then\n# If build native modules preference is not set, try to find .gyp files\n#to turn it on.\n gypfiles=($(find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -type f -name \"*.gyp\"))\n if [ ${#gypfiles[@]} -gt 0 ]; then\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=1\n else\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=0\n fi\nfi\nif [ \"1\" != \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then exit 0; fi\n# Delete object files that may already come from within the npm package.\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.o\" -type f -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.a\" -type f -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.node\" -type f -delete\n# Delete bundle contents that may be there from previous builds.\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.node/*\" -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.node\" -type d -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.framework/*\" -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d -delete\n# Apply patches to the modules package.json\nif [ -d \"$CODESIGNING_FOLDER_PATH\"/nodejs-project/node_modules/ ]; then\n PATCH_SCRIPT_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/scripts/ && pwd )\"\n NODEJS_PROJECT_MODULES_DIR=\"$( cd \"$CODESIGNING_FOLDER_PATH\" && cd nodejs-project/node_modules/ && pwd )\"\n node \"$PATCH_SCRIPT_DIR\"/patch-package.js $NODEJS_PROJECT_MODULES_DIR\nfi\n# Get the nodejs-mobile-gyp location\nif [ -d \"$PROJECT_DIR/../node_modules/nodejs-mobile-gyp/\" ]; then\n NODEJS_MOBILE_GYP_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-gyp/ && pwd )\"\nelse\n NODEJS_MOBILE_GYP_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/node_modules/nodejs-mobile-gyp/ && pwd )\"\nfi\nNODEJS_MOBILE_GYP_BIN_FILE=\"$NODEJS_MOBILE_GYP_DIR\"/bin/node-gyp.js\n# Rebuild modules with right environment\nNODEJS_HEADERS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/ios/libnode/ && pwd )\"\npushd $CODESIGNING_FOLDER_PATH/nodejs-project/\nif [ \"$PLATFORM_NAME\" == \"iphoneos\" ]\nthen\n GYP_DEFINES=\"OS=ios\" npm_config_nodedir=\"$NODEJS_HEADERS_DIR\" npm_config_node_gyp=\"$NODEJS_MOBILE_GYP_BIN_FILE\" npm_config_platform=\"ios\" npm_config_format=\"make-ios\" npm_config_node_engine=\"chakracore\" npm_config_arch=\"arm64\" npm --verbose rebuild --build-from-source\nelse\n GYP_DEFINES=\"OS=ios\" npm_config_nodedir=\"$NODEJS_HEADERS_DIR\" npm_config_node_gyp=\"$NODEJS_MOBILE_GYP_BIN_FILE\" npm_config_platform=\"ios\" npm_config_format=\"make-ios\" npm_config_node_engine=\"chakracore\" npm_config_arch=\"x64\" npm --verbose rebuild --build-from-source\nfi\npopd\n"; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; }; - FA5DE6668E0B49CBA9F86EDA /* Sign NodeJS Mobile Native Modules */ = { + FD10A7F122414F3F0027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( ); - name = "Sign NodeJS Mobile Native Modules"; + name = "Start Packager"; + outputFileListPaths = ( + ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\nset -e\nif [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then\n# If build native modules preference is not set, look for it in the project's\n#nodejs-assets/BUILD_NATIVE_MODULES.txt file.\nNODEJS_ASSETS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../nodejs-assets/ && pwd )\"\nPREFERENCE_FILE_PATH=\"$NODEJS_ASSETS_DIR/BUILD_NATIVE_MODULES.txt\"\n if [ -f \"$PREFERENCE_FILE_PATH\" ]; then\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=\"$(cat $PREFERENCE_FILE_PATH | xargs)\"\n fi\nfi\nif [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then\n# If build native modules preference is not set, try to find .gyp files\n#to turn it on.\n gypfiles=($(find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -type f -name \"*.gyp\"))\n if [ ${#gypfiles[@]} -gt 0 ]; then\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=1\n else\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=0\n fi\nfi\nif [ \"1\" != \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then exit 0; fi\n# Delete object files\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.o\" -type f -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.a\" -type f -delete\n# Create Info.plist for each framework built and loader override.\nPATCH_SCRIPT_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/scripts/ && pwd )\"\nNODEJS_PROJECT_DIR=\"$( cd \"$CODESIGNING_FOLDER_PATH\" && cd nodejs-project/ && pwd )\"\nnode \"$PATCH_SCRIPT_DIR\"/ios-create-plists-and-dlopen-override.js $NODEJS_PROJECT_DIR\n# Embed every resulting .framework in the application and delete them afterwards.\nembed_framework()\n{\n FRAMEWORK_NAME=\"$(basename \"$1\")\"\n cp -r \"$1\" \"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/\"\n \n /usr/bin/codesign --force --sign $EXPANDED_CODE_SIGN_IDENTITY --preserve-metadata=identifier,entitlements,flags --timestamp=none \"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/$FRAMEWORK_NAME\"\n}\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d | while read frmwrk_path; do embed_framework \"$frmwrk_path\"; done\n\n#Delete gyp temporary .deps dependency folders from the project structure.\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/.deps/*\" -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \".deps\" -type d -delete\n\n#Delete frameworks from their build paths\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.framework/*\" -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d -delete\n"; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -1268,31 +580,20 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 20D6855CB6AD53909BA2F057 /* Pods-mapeoTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-image-resizer/ios/RCTImageResizer", - ); INFOPLIST_FILE = mapeoTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", + "$(inherited)", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1302,28 +603,17 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 7E086374642DC914897D478B /* Pods-mapeoTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-image-resizer/ios/RCTImageResizer", - ); INFOPLIST_FILE = mapeoTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", + "$(inherited)", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1333,19 +623,11 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4CC8CFA6AC0256F348E730A3 /* Pods-mapeo.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-image-resizer/ios/RCTImageResizer", - ); INFOPLIST_FILE = mapeo/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( @@ -1361,18 +643,10 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 286498A51D98A5119EBFB8B1 /* Pods-mapeo.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-image-resizer/ios/RCTImageResizer", - ); INFOPLIST_FILE = mapeo/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( @@ -1388,6 +662,7 @@ }; 2D02E4971E0B4A5E006451C7 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = CB0829455CA23DBBFB0B41D7 /* Pods-mapeo-tvOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -1396,24 +671,12 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_BITCODE = NO; ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - ); GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-image-resizer/ios/RCTImageResizer", - ); INFOPLIST_FILE = "mapeo-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - ); OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); @@ -1427,6 +690,7 @@ }; 2D02E4981E0B4A5E006451C7 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = F0279FACBA5C6FF4E48E5E8C /* Pods-mapeo-tvOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -1436,23 +700,11 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - ); GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-image-resizer/ios/RCTImageResizer", - ); INFOPLIST_FILE = "mapeo-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - ); OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); @@ -1466,6 +718,7 @@ }; 2D02E4991E0B4A5E006451C7 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = D7D19216BB07E545212266FF /* Pods-mapeo-tvOSTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -1473,24 +726,12 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_BITCODE = NO; ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - ); GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-image-resizer/ios/RCTImageResizer", - ); INFOPLIST_FILE = "mapeo-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - ); OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); @@ -1504,6 +745,7 @@ }; 2D02E49A1E0B4A5E006451C7 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = E289B8F75D5B945CD64B97EF /* Pods-mapeo-tvOSTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -1512,23 +754,11 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - "\"../node_modules/nodejs-mobile-react-native/ios\"", - ); GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-image-resizer/ios/RCTImageResizer", - ); INFOPLIST_FILE = "mapeo-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - ); OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); @@ -1569,7 +799,6 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -1623,7 +852,6 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; - ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; diff --git a/ios/mapeo/AppDelegate.m b/ios/mapeo/AppDelegate.m index 56d9469b6..ce4af6bfc 100644 --- a/ios/mapeo/AppDelegate.m +++ b/ios/mapeo/AppDelegate.m @@ -10,7 +10,6 @@ #import #import #import -#import "RNSplashScreen.h" // react-native-splash-screen @implementation AppDelegate @@ -28,7 +27,6 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( rootViewController.view = rootView; self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible]; - [RNSplashScreen show]; // react-native-splash-screen return YES; } diff --git a/ios/mapeo/Base.lproj/LaunchScreen.xib b/ios/mapeo/Base.lproj/LaunchScreen.xib index d9f0c0169..9d9d21d19 100644 --- a/ios/mapeo/Base.lproj/LaunchScreen.xib +++ b/ios/mapeo/Base.lproj/LaunchScreen.xib @@ -1,12 +1,9 @@ - - - - - + + - - + + @@ -15,20 +12,20 @@ - - + @@ -39,7 +36,7 @@ - + diff --git a/ios/mapeoTests/mapeoTests.m b/ios/mapeoTests/mapeoTests.m index b04febbe5..ac324785a 100644 --- a/ios/mapeoTests/mapeoTests.m +++ b/ios/mapeoTests/mapeoTests.m @@ -12,7 +12,7 @@ #import #define TIMEOUT_SECONDS 600 -#define TEXT_TO_LOOK_FOR @"Welcome to React Native!" +#define TEXT_TO_LOOK_FOR @"Welcome to React" @interface mapeoTests : XCTestCase @@ -40,11 +40,13 @@ - (void)testRendersWelcomeScreen BOOL foundElement = NO; __block NSString *redboxError = nil; +#ifdef DEBUG RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { if (level >= RCTLogLevelError) { redboxError = message; } }); +#endif while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; @@ -57,8 +59,10 @@ - (void)testRendersWelcomeScreen return NO; }]; } - + +#ifdef DEBUG RCTSetLogFunction(RCTDefaultLogFunction); +#endif XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); diff --git a/package.json b/package.json index 00dbfd73f..556a83d0e 100644 --- a/package.json +++ b/package.json @@ -46,23 +46,23 @@ "core-js": "^3.1.4", "debug": "^4.1.1", "eslint-plugin-jest": "^22.6.4", - "expo-camera": "^7.0.0", - "expo-localization": "^7.0.0", - "expo-location": "^7.0.0", - "expo-sensors": "^7.0.0", + "expo-camera": "^8.0.0", + "expo-localization": "^8.0.0", + "expo-location": "^8.0.0", + "expo-sensors": "^8.0.0", "hoist-non-react-statics": "^3.3.0", - "ky": "^0.11.1", + "ky": "^0.16.1", "lodash": "^4.17.11", "mapeo-schema": "^1.8.0", "memoize-one": "^5.0.0", "nodejs-mobile-react-native": "^0.5.0", "prop-types": "^15.7.2", "querystring": "^0.2.0", - "react": "16.8.6", + "react": "16.9.0", "react-intl": "^3.3.2", - "react-native": "^0.60.6", + "react-native": "0.61.5", "react-native-android-open-settings": "^1.3.0", - "react-native-fs": "^2.13.3", + "react-native-fs": "^2.16.1", "react-native-gesture-handler": "^1.1.0", "react-native-hooks": "^0.9.0", "react-native-image-resizer": "^1.1.0", @@ -75,8 +75,8 @@ "react-native-share": "^2.0.0", "react-native-splash-screen": "^3.2.0", "react-native-tab-view": "^2.10.0", - "react-native-unimodules": "^0.7.0-rc.1", - "react-native-v8": ">=0.60.6-patch.0 <0.60.7", + "react-native-unimodules": "^0.7.0", + "react-native-v8": ">=0.61.5-patch.0 <0.61.6", "react-native-vector-icons": "^6.3.0", "react-navigation": "^3.9.0", "react-navigation-hooks": "^1.0.1", @@ -107,7 +107,7 @@ "babel-plugin-react-native-web": "^0.11.2", "buble": "^0.19.6", "conventional-changelog-cli": "^2.0.17", - "eslint": "^6.1.0", + "eslint": "^6.5.1", "eslint-config-prettier": "^6.0.0", "eslint-config-standard": "^13.0.1", "eslint-plugin-flowtype": "^3.4.2", @@ -119,13 +119,13 @@ "eslint-plugin-react-hooks": "^1.6.1", "eslint-plugin-react-native": "^3.6.0", "eslint-plugin-standard": "^4.0.0", - "flow-bin": "^0.98.0", + "flow-bin": "^0.105.0", "flow-typed": "^2.5.1", "glob": "^7.1.5", "husky": "^3.0.9", "jest": "^24.1.0", "jetifier": "^1.6.3", - "metro-react-native-babel-preset": "^0.54.1", + "metro-react-native-babel-preset": "^0.57.0", "mkdirp": "^0.5.1", "patch-package": "^6.1.2", "postinstall-postinstall": "^2.0.0", @@ -136,7 +136,7 @@ "react-art": "^16.8.2", "react-dom": "^16.8.6", "react-native-web": "^0.11.0", - "react-test-renderer": "16.8.6", + "react-test-renderer": "16.9.0", "rimraf": "^3.0.0", "standard-version": "^6.0.1", "txtgen": "^2.2.2" diff --git a/patches/README.md b/patches/README.md deleted file mode 100644 index 04d047027..000000000 --- a/patches/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Patches to `node_modules` - -These patches use [`patch-package`](https://www.npmjs.com/package/patch-package) -to update dependencies which have unpublished fixes. - -## `metro` - -Builds were throwing an error: - -``` -android/app/src/main/res/raw/package.json: Error: package is not a valid resource name (reserved Java keyword) -``` - -This was due to mapeo-mobile code requiring `package.json` (which is used to get -the version number). This fix is pending -https://github.com/facebook/metro/pull/420 diff --git a/patches/metro+0.54.1.patch b/patches/metro+0.54.1.patch deleted file mode 100644 index 4443e7770..000000000 --- a/patches/metro+0.54.1.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/node_modules/metro/src/DeltaBundler/Serializers/getAssets.js b/node_modules/metro/src/DeltaBundler/Serializers/getAssets.js -index a08868e..1024bba 100644 ---- a/node_modules/metro/src/DeltaBundler/Serializers/getAssets.js -+++ b/node_modules/metro/src/DeltaBundler/Serializers/getAssets.js -@@ -63,7 +63,8 @@ function _getAssets() { - if ( - isJsModule(module) && - processModuleFilter(module) && -- getJsOutput(module).type === "js/module/asset" -+ getJsOutput(module).type === "js/module/asset" && -+ path.relative(options.projectRoot, module.path) !== "package.json" - ) { - promises.push( - getAssetData( diff --git a/src/frontend/screens/ObservationsList/ObservationsListView.js b/src/frontend/screens/ObservationsList/ObservationsListView.js index 4a5dd9d14..4f641850c 100644 --- a/src/frontend/screens/ObservationsList/ObservationsListView.js +++ b/src/frontend/screens/ObservationsList/ObservationsListView.js @@ -48,8 +48,7 @@ const ObservationsListView = ({ loading, error, observations, - onPressObservation, - getPreset + onPressObservation }: Props) => { const rowsPerWindow = Math.ceil( (Dimensions.get("window").height - 65) / OBSERVATION_CELL_HEIGHT diff --git a/src/frontend/sharedComponents/Loading.js b/src/frontend/sharedComponents/Loading.js index 41aa57173..de15f6c60 100644 --- a/src/frontend/sharedComponents/Loading.js +++ b/src/frontend/sharedComponents/Loading.js @@ -1,14 +1,14 @@ // @flow import * as React from "react"; -import { View, Text, StyleSheet, Easing } from "react-native"; +import { View, StyleSheet, Easing } from "react-native"; import { DotIndicator } from "react-native-indicators"; -type Props = { - // title: React.Node, - // description: React.Node -}; +// type Props = { +// title: React.Node, +// description: React.Node +// }; -const Loading = ({ title, description }: Props) => ( +const Loading = () => ( Date: Fri, 10 Jan 2020 13:03:33 +0000 Subject: [PATCH 006/116] fix: Don't render app until saved draft is loaded from storage --- .../context/DraftObservationContext.js | 23 ++++++++++--------- src/frontend/hooks/useDraftObservation.js | 2 -- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/frontend/context/DraftObservationContext.js b/src/frontend/context/DraftObservationContext.js index 8e3eed0b4..4b980d1d2 100644 --- a/src/frontend/context/DraftObservationContext.js +++ b/src/frontend/context/DraftObservationContext.js @@ -54,7 +54,6 @@ export type DraftObservationContextState = {| photoPromises: Array< Promise & { signal?: { didCancel: boolean } } >, - loading: boolean, observationId?: string |}; @@ -64,8 +63,7 @@ const defaultContext: DraftObservationContextType = [ { photos: [], value: null, - photoPromises: [], - loading: true + photoPromises: [] }, () => {} ]; @@ -80,6 +78,7 @@ type Props = { export const DraftObservationProvider = ({ children }: Props) => { const [state, setState] = React.useState(defaultContext[0]); + const [loading, setLoading] = React.useState(true); const contextValue = React.useMemo(() => [state, setState], [state]); // When the app first mounts, load draft from storage @@ -87,19 +86,20 @@ export const DraftObservationProvider = ({ children }: Props) => { let didCancel = false; AsyncStorage.getItem(STORE_KEY) .then(savedDraft => { - if (savedDraft == null || didCancel) return; + if (didCancel) return; + if (savedDraft == null) return setLoading(false); const { photos, value, observationId } = JSON.parse(savedDraft); - setState(state => ({ - ...state, + setLoading(false); + setState({ + photoPromises: [], photos: photos.filter(filterCapturedPhotos), value, - observationId, - loading: false - })); + observationId + }); }) .catch(e => { log("Error reading draft from storage", e); - setState(state => ({ ...state, loading: false })); + setLoading(false); }); return () => { didCancel = true; @@ -107,6 +107,7 @@ export const DraftObservationProvider = ({ children }: Props) => { }, []); // Save draft to local storage on every update + // TODO: Debounce this for perf when typing fast React.useEffect(() => { const { photos, value, observationId } = state; AsyncStorage.setItem( @@ -119,7 +120,7 @@ export const DraftObservationProvider = ({ children }: Props) => { return ( - {children} + {loading ? null : children} ); }; diff --git a/src/frontend/hooks/useDraftObservation.js b/src/frontend/hooks/useDraftObservation.js index ebcc5b667..b69769f55 100644 --- a/src/frontend/hooks/useDraftObservation.js +++ b/src/frontend/hooks/useDraftObservation.js @@ -44,7 +44,6 @@ export type UseDraftObservation = [ {| value: $ElementType, photos: $ElementType, - loading: $ElementType, savingStatus: Status, preset?: PresetWithFields |}, @@ -239,7 +238,6 @@ export default (): UseDraftObservation => { { value: draft.value, photos: draft.photos, - loading: draft.loading, savingStatus: savingStatus, preset: preset && addFieldDefinitions(preset, fields) }, From 330fdab7f8ff701d13180113539cb06af7b86915 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Mon, 20 Jan 2020 18:32:54 +0000 Subject: [PATCH 007/116] fix: Fix crash after deleting an observation's description --- src/frontend/screens/Observation/ObservationView.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/frontend/screens/Observation/ObservationView.js b/src/frontend/screens/Observation/ObservationView.js index d65b51515..1e37e2655 100644 --- a/src/frontend/screens/Observation/ObservationView.js +++ b/src/frontend/screens/Observation/ObservationView.js @@ -244,13 +244,14 @@ const ObservationView = ({ {preset ? preset.name : t(m.observation)} - {observation.value.tags.notes && observation.value.tags.notes.trim() && ( + {observation.value.tags.notes && + observation.value.tags.notes.trim() ? ( {observation.value.tags.notes} - )} + ) : null} {!!photos.length && ( Date: Mon, 20 Jan 2020 19:10:59 +0000 Subject: [PATCH 008/116] feat: Use Android default animation for navigation (changes close icon on GPS and Sync screens) Simplify the navigation structure to remove nested stacks and use the built-in react-navigation headers. Change the way navigation is blocked for user confirmation after creating or editing an observation. Uses back arrow (not X close icon) on GPS and Sync modals, since this is the Android default. --- src/frontend/App.js | 2 +- src/frontend/AppContainer.js | 210 +++--------------- src/frontend/hooks/useDraftObservation.js | 53 +++-- src/frontend/screens/CameraScreen.js | 7 +- src/frontend/screens/GpsModal.js | 56 ++--- src/frontend/screens/MapScreen.js | 7 +- src/frontend/screens/ObservationEdit/index.js | 7 +- src/frontend/screens/SyncModal/SyncView.js | 43 +--- src/frontend/screens/SyncModal/index.js | 20 +- .../sharedComponents/CustomHeaderLeft.js | 141 ++++++++++++ src/frontend/sharedComponents/HeaderTitle.js | 6 +- 11 files changed, 258 insertions(+), 294 deletions(-) create mode 100644 src/frontend/sharedComponents/CustomHeaderLeft.js diff --git a/src/frontend/App.js b/src/frontend/App.js index 50b737d9c..3f6399dee 100644 --- a/src/frontend/App.js +++ b/src/frontend/App.js @@ -21,7 +21,7 @@ import messages from "../../translations/messages.json"; if (__DEV__) debug.enable("*"); const log = debug("mapeo:App"); // WARNING: This needs to change if we change the navigation structure -const NAV_STORE_KEY = "@MapeoNavigation@6"; +const NAV_STORE_KEY = "@MapeoNavigation@7"; const ERROR_STORE_KEY = "@MapeoError"; const persistNavigationState = async navState => { diff --git a/src/frontend/AppContainer.js b/src/frontend/AppContainer.js index b612d5e0d..9f34c33fb 100644 --- a/src/frontend/AppContainer.js +++ b/src/frontend/AppContainer.js @@ -1,14 +1,10 @@ // @flow import React from "react"; -import { Alert } from "react-native"; import { createStackNavigator, createAppContainer, - createBottomTabNavigator, - // $FlowFixMe - StackViewTransitionConfigs + createBottomTabNavigator } from "react-navigation"; -import { defineMessages, useIntl } from "react-intl"; import MapScreen from "./screens/MapScreen"; import CameraScreen from "./screens/CameraScreen"; @@ -22,157 +18,20 @@ import GpsModal from "./screens/GpsModal"; import SyncModal from "./screens/SyncModal"; import PhotosModal from "./screens/PhotosModal"; import ManualGpsScreen from "./screens/ManualGpsScreen"; -import IconButton from "./sharedComponents/IconButton"; -import MaterialIcons from "react-native-vector-icons/MaterialIcons"; -import { BackIcon, CloseIcon } from "./sharedComponents/icons"; -import type { NavigationProp } from "./types"; - -const m = defineMessages({ - discardTitle: { - id: "AppContainer.EditHeader.discardTitle", - defaultMessage: "Discard observation?", - description: - "Title of dialog that shows when closing an observation without saving" - }, - discardConfirm: { - id: "AppContainer.EditHeader.discardContent", - defaultMessage: "Discard without saving", - description: "Button on dialog to close without saving" - }, - discardCancel: { - id: "AppContainer.EditHeader.discardCancel", - defaultMessage: "Continue editing", - description: "Button on dialog to keep editing (cancelling close action)" - } -}); - -type Props = { - navigation: NavigationProp -}; - -const HeaderLeft = ({ navigation }: Props) => ( - navigation.pop()}> - - -); - -const EditHeaderLeft = ({ navigation }: Props) => { - const { formatMessage: t } = useIntl(); - const parent = navigation.dangerouslyGetParent(); - const isClose = - (isTopOfStack(navigation) || - navigation.state.routeName === "ObservationEdit") && - parent && - // $FlowFixMe - parent.state.routeName === "NewObservation"; - - const handleCloseRequest = () => { - Alert.alert(t(m.discardTitle), undefined, [ - { - text: t(m.discardConfirm), - onPress: () => navigation.navigate("Home") - }, - { - text: t(m.discardCancel), - onPress: () => {} - } - ]); - }; - - return ( - (isClose ? handleCloseRequest() : navigation.pop())}> - {isClose ? : } - - ); -}; - -const defaultNavigationOptions = { - headerStyle: { - height: 60 - }, - headerLeft: React.memo(HeaderLeft), - headerTitleStyle: { - marginHorizontal: 0 - } -}; - -const ObservationsStack = createStackNavigator( - { - // $FlowFixMe - flow definitions don't recognize static props on function components - CategoryChooser: CategoryChooser, - // $FlowFixMe - flow definitions don't recognize static props on function components - AddPhoto: AddPhoto, - ObservationList: { - // $FlowFixMe - flow definitions don't recognize static props on function components - screen: ObservationList, - path: "observations" - }, - Observation: { - // $FlowFixMe - flow definitions don't recognize static props on function components - screen: Observation, - path: "observations/:observationId" - }, - ObservationEdit: { - screen: ObservationEdit, - path: "observations/:observationId/edit" - }, - ManualGpsScreen: ManualGpsScreen, - ObservationDetails: ObservationDetails - }, - { - initialRouteName: "ObservationList", - transitionConfig: () => StackViewTransitionConfigs.SlideFromRightIOS, - defaultNavigationOptions: ({ navigation }) => { - const parent = navigation.dangerouslyGetParent(); - const inNewStack = parent && parent.state.routeName === "NewObservation"; - return { - ...defaultNavigationOptions, - headerLeft: inNewStack ? ( - - ) : ( - - ) - }; - } - } -); - -// const defaultGetStateForAction = EditStack.router.getStateForAction; +import CustomHeaderLeft from "./sharedComponents/CustomHeaderLeft"; -// EditStack.router.getStateForAction = (action, state) => { -// let newState = defaultGetStateForAction(action, state); -// // This is a hack that pops the ObservationEdit screen to the top of the stack -// // when in the NewObservation stack. This is so that after selecting a -// // category then the back button cancels the new observation, and when you -// // subsequently change the category, then the screen enters from the -// // right-hand-side -// if ( -// state && -// !state.isTransitioning && -// newState && -// newState.routeName === "NewObservation" && -// action && -// action.type === StackActions.COMPLETE_TRANSITION && -// newState.index === 1 && -// newState.routes && -// newState.routes[1].routeName === "ObservationEdit" -// ) { -// newState = { -// ...newState, -// index: 0, -// routes: [newState.routes[1]] -// }; -// } -// return newState; -// }; +import MaterialIcons from "react-native-vector-icons/MaterialIcons"; -const Home = createBottomTabNavigator( +const HomeTabs = createBottomTabNavigator( { Map: MapScreen, Camera: CameraScreen }, + // $FlowFixMe { + navigationOptions: () => ({ + header: null + }), defaultNavigationOptions: ({ navigation }) => ({ initialRouteName: "Map", backBehavior: "initialRoute", @@ -190,42 +49,39 @@ const Home = createBottomTabNavigator( } ); -const MainStack = createStackNavigator( - { - Home: Home, - Observations: { - screen: ObservationsStack, - path: "observations" - } - }, - { - initialRouteName: "Home", - headerMode: "none", - transitionConfig: () => StackViewTransitionConfigs.SlideFromRightIOS, - defaultNavigationOptions - } -); - const RootStack = createStackNavigator( + // $FlowFixMe - flow definitions don't recognize static props on function components { - Main: MainStack, - NewObservation: ObservationsStack, + Home: HomeTabs, GpsModal: GpsModal, SyncModal: SyncModal, - PhotosModal: PhotosModal + PhotosModal: PhotosModal, + CategoryChooser: CategoryChooser, + AddPhoto: AddPhoto, + ObservationList: ObservationList, + Observation: Observation, + ObservationEdit: ObservationEdit, + ManualGpsScreen: ManualGpsScreen, + ObservationDetails: ObservationDetails }, { - initialRouteName: "Main", - mode: "modal", - headerMode: "none" + initialRouteName: "Home", + // TODO iOS: Dynamically set transition mode to modal for modals + mode: "card", + headerMode: "screen", + defaultNavigationOptions: { + headerStyle: { + height: 60 + }, + // We use a slightly larger back icon, to improve accessibility + // TODO iOS: This should probably be a chevron not an arrow + headerLeft: CustomHeaderLeft, + headerTitleStyle: { + marginHorizontal: 0 + } + } } ); // $FlowFixMe export default createAppContainer(RootStack); - -// returns true of the component is top of the stack -function isTopOfStack(navigation) { - const parent = navigation.dangerouslyGetParent(); - return parent && parent.state && parent.state.index === 0; -} diff --git a/src/frontend/hooks/useDraftObservation.js b/src/frontend/hooks/useDraftObservation.js index b69769f55..eee9e9b03 100644 --- a/src/frontend/hooks/useDraftObservation.js +++ b/src/frontend/hooks/useDraftObservation.js @@ -2,6 +2,7 @@ import { useContext, useState, useCallback } from "react"; import ImageResizer from "react-native-image-resizer"; import debug from "debug"; +import isEqual from "lodash/isEqual"; import api from "../api"; import { @@ -44,6 +45,7 @@ export type UseDraftObservation = [ {| value: $ElementType, photos: $ElementType, + observationId: $ElementType, savingStatus: Status, preset?: PresetWithFields |}, @@ -134,39 +136,59 @@ export default (): UseDraftObservation => { [setDraft] ); + const cancelPhotoProcessing = useCallback(() => { + // TODO: Cleanup photos and previews in temp storage here + // Signal any pending photo captures to cancel: + draft.photoPromises.forEach(p => p.signal && (p.signal.didCancel = true)); + }, [draft.photoPromises]); + const newDraft = useCallback( ( id?: string, value?: ObservationValue | null = { tags: {} }, capture?: CapturePromise ) => { - function cancelPhotoProcessing() { - // TODO: Cleanup photos and previews in temp storage here - // Signal any pending photo captures to cancel: - draft.photoPromises.forEach( - p => p.signal && (p.signal.didCancel = true) - ); - } cancelPhotoProcessing(); - setDraft(draft => ({ - ...draft, + setDraft({ photoPromises: [], // $FlowFixMe photos: value ? filterPhotosFromAttachments(value.attachments) : [], value: value, observationId: id - })); + }); + if (capture) addPhoto(capture); }, - [addPhoto, draft.photoPromises, setDraft] + [addPhoto, cancelPhotoProcessing, setDraft] ); const clearDraft = useCallback(() => { - newDraft(undefined, null); - }, [newDraft]); + cancelPhotoProcessing(); + setDraft({ + photoPromises: [], + photos: [], + value: null + }); + }, [cancelPhotoProcessing, setDraft]); async function saveDraft() { log("saveDraft call"); + const existingObservation = + draft.observationId !== undefined + ? observations.get(draft.observationId) + : undefined; + const isUntouched = + existingObservation && + isEqual(existingObservation.value, draft.value) && + isEqual( + filterPhotosFromAttachments(existingObservation.value.attachments), + draft.photos + ); + if (isUntouched) { + // If draft isn't dirty, no need to save + setSavingStatus("success"); + return; + } setSavingStatus("loading"); const draftValue = draft.value; if (!draftValue) { @@ -208,10 +230,6 @@ export default (): UseDraftObservation => { savedAttachments.map(addMimeType) ) }; - const existingObservation = - draft.observationId !== undefined - ? observations.get(draft.observationId) - : undefined; if (existingObservation) { const updatedObservation = await api.updateObservation( existingObservation.id, @@ -238,6 +256,7 @@ export default (): UseDraftObservation => { { value: draft.value, photos: draft.photos, + observationId: draft.observationId, savingStatus: savingStatus, preset: preset && addFieldDefinitions(preset, fields) }, diff --git a/src/frontend/screens/CameraScreen.js b/src/frontend/screens/CameraScreen.js index acb4021ce..62cb99223 100644 --- a/src/frontend/screens/CameraScreen.js +++ b/src/frontend/screens/CameraScreen.js @@ -2,7 +2,6 @@ import * as React from "react"; import { View, StyleSheet, Text } from "react-native"; import debug from "debug"; -import { NavigationActions } from "react-navigation"; import { useFocusState, useNavigation } from "react-navigation-hooks"; import { defineMessages, FormattedMessage } from "react-intl"; @@ -37,11 +36,7 @@ const CameraScreen = () => { (e: any, capture: CapturePromise) => { log("pressed add button"); newDraft(undefined, { tags: {} }, capture); - navigation.navigate( - "NewObservation", - {}, - NavigationActions.navigate({ routeName: "CategoryChooser" }) - ); + navigation.navigate("CategoryChooser"); }, [newDraft, navigation] ); diff --git a/src/frontend/screens/GpsModal.js b/src/frontend/screens/GpsModal.js index 6534ae84b..9f303e53a 100644 --- a/src/frontend/screens/GpsModal.js +++ b/src/frontend/screens/GpsModal.js @@ -3,19 +3,12 @@ import React from "react"; import { View, ScrollView, Text, StyleSheet } from "react-native"; import { defineMessages, FormattedMessage, useIntl } from "react-intl"; -import IconButton from "../sharedComponents/IconButton"; -import { CloseIcon } from "../sharedComponents/icons"; import LocationContext from "../context/LocationContext"; import FormattedCoords from "../sharedComponents/FormattedCoords"; import DateDistance from "../sharedComponents/DateDistance"; -import { getLocationStatus } from "../lib/utils"; -import type { LocationStatus } from "../lib/utils"; -import type { LocationContextType } from "../context/LocationContext"; +import HeaderTitle from "../sharedComponents/HeaderTitle"; -type HeaderProps = { - onClose: () => void, - variant: LocationStatus -}; +import type { LocationContextType } from "../context/LocationContext"; const m = defineMessages({ gpsHeader: { @@ -55,17 +48,6 @@ const m = defineMessages({ } }); -const GpsModalHeader = ({ onClose, variant }: HeaderProps) => ( - - - - - - - - -); - const GpsModalRow = ({ label, value }: { label: string, value: string }) => ( {label} @@ -83,10 +65,6 @@ const GpsModal = ({ navigation }: Props) => { return ( - navigation.pop()} - variant={getLocationStatus(location)} - /> @@ -135,6 +113,19 @@ const GpsModal = ({ navigation }: Props) => { ); }; + +GpsModal.navigationOptions = { + headerTintColor: "white", + headerStyle: { + backgroundColor: "rgb(40,40,40)" + }, + headerTitle: ( + + + + ) +}; + export default GpsModal; function getLastUpdateText(location: LocationContextType) { @@ -147,24 +138,9 @@ function getLastUpdateText(location: LocationContextType) { } const styles = StyleSheet.create({ - header: { - flex: 1, - height: 60, - marginBottom: 20, - flexDirection: "row", - alignItems: "center" - }, - title: { - color: "white", - fontWeight: "700", - fontSize: 20, - flex: 1, - textAlign: "center", - marginRight: 60 - }, container: { flex: 1, - backgroundColor: "rgba(0,0,0,0.85)", + backgroundColor: "rgb(40,40,40)", flexDirection: "column" }, row: { diff --git a/src/frontend/screens/MapScreen.js b/src/frontend/screens/MapScreen.js index 8c0e38e10..e64397523 100644 --- a/src/frontend/screens/MapScreen.js +++ b/src/frontend/screens/MapScreen.js @@ -3,7 +3,6 @@ import * as React from "react"; import { View, Text } from "react-native"; import debug from "debug"; -import { NavigationActions } from "react-navigation"; import MapView from "../sharedComponents/MapView"; import HomeHeader from "../sharedComponents/HomeHeader"; @@ -37,11 +36,7 @@ const MapScreen = ({ navigation }: Props) => { (e: any) => { log("pressed add button"); newDraft(undefined, { tags: {} }); - navigation.navigate( - "NewObservation", - {}, - NavigationActions.navigate({ routeName: "CategoryChooser" }) - ); + navigation.navigate("CategoryChooser"); }, [navigation, newDraft] ); diff --git a/src/frontend/screens/ObservationEdit/index.js b/src/frontend/screens/ObservationEdit/index.js index 4241d0e87..f89d3e10f 100644 --- a/src/frontend/screens/ObservationEdit/index.js +++ b/src/frontend/screens/ObservationEdit/index.js @@ -23,7 +23,12 @@ const m = defineMessages({ const ObservationEdit = ({ navigation }: { navigation: NavigationProp }) => { const handleCategoryPress = useCallback(() => { - navigation.navigate("CategoryChooser"); + navigation.navigate({ + routeName: "CategoryChooser", + // Set a key here so we don't navigate back in the stack when creating a + // new observation (which starts with the category chooser screen) + key: "fromObservationEdit" + }); }, [navigation]); const handleCameraPress = useCallback(() => { diff --git a/src/frontend/screens/SyncModal/SyncView.js b/src/frontend/screens/SyncModal/SyncView.js index 539509edc..62a1429ef 100644 --- a/src/frontend/screens/SyncModal/SyncView.js +++ b/src/frontend/screens/SyncModal/SyncView.js @@ -5,20 +5,13 @@ import { View, Text, StyleSheet } from "react-native"; import { TouchableNativeFeedback } from "../../sharedComponents/Touchables"; import { defineMessages, FormattedMessage, useIntl } from "react-intl"; -import IconButton from "../../sharedComponents/IconButton"; import Button from "../../sharedComponents/Button"; -import { CloseIcon, WifiOffIcon, WifiIcon } from "../../sharedComponents/icons"; +import { WifiOffIcon, WifiIcon } from "../../sharedComponents/icons"; import DotIndicator from "./DotIndicator"; import PeerList from "./PeerList"; import type { Peer } from "./PeerList"; const m = defineMessages({ - syncHeader: { - id: "screens.SyncModal.SyncView.syncHeader", - defaultMessage: "Synchronize", - description: "Header of sync screen" - }, - wifi: { id: "screens.SyncModal.SyncView.wifi", defaultMessage: "WiFi:", @@ -58,21 +51,6 @@ const m = defineMessages({ } }); -type HeaderProps = { - onClosePress: () => void -}; - -const Header = ({ onClosePress }: HeaderProps) => ( - - - - - - - - -); - const WifiBar = ({ onPress, ssid, deviceName }) => ( @@ -129,7 +107,6 @@ const SearchingBox = () => ( ); type Props = { - onClosePress: () => void, onSyncPress: (peerId: string) => void, onWifiPress: () => void, deviceName: string, @@ -139,7 +116,6 @@ type Props = { }; const SyncView = ({ - onClosePress, onSyncPress, peers, ssid, @@ -148,7 +124,6 @@ const SyncView = ({ projectKey }: Props) => ( -
{ssid ? ( <> @@ -182,22 +157,6 @@ const styles = StyleSheet.create({ backgroundColor: "black", flex: 0 }, - header: { - // flexGrow: 0, - // flexShrink: 0, - height: 60, - flexDirection: "row", - alignItems: "center", - backgroundColor: "#3366FF" - }, - title: { - color: "white", - fontWeight: "700", - fontSize: 20, - flex: 1, - textAlign: "center", - marginRight: 60 - }, root: { flex: 1, backgroundColor: "#2348B2", diff --git a/src/frontend/screens/SyncModal/index.js b/src/frontend/screens/SyncModal/index.js index a63181bef..84bb58593 100644 --- a/src/frontend/screens/SyncModal/index.js +++ b/src/frontend/screens/SyncModal/index.js @@ -12,7 +12,7 @@ import { Alert } from "react-native"; import { NetworkInfo } from "react-native-network-info"; import OpenSettings from "react-native-android-open-settings"; import KeepAwake from "react-native-keep-awake"; -import { defineMessages, useIntl } from "react-intl"; +import { defineMessages, useIntl, FormattedMessage } from "react-intl"; import SyncView from "./SyncView"; import api from "../../api"; @@ -21,6 +21,7 @@ import useAllObservations from "../../hooks/useAllObservations"; import useMetadata from "../../hooks/useMetadata"; import { peerStatus } from "./PeerList"; import { parseVersionMajor } from "../../lib/utils"; +import HeaderTitle from "../../sharedComponents/HeaderTitle"; import type { Peer } from "./PeerList"; import type { ServerPeer, PeerError } from "../../api"; @@ -60,6 +61,11 @@ const m = defineMessages({ defaultMessage: "OK", description: "Button to dismiss error alert about incompatible sync protocol" + }, + syncHeader: { + id: "screens.SyncModal.SyncView.syncHeader", + defaultMessage: "Synchronize", + description: "Header of sync screen" } }); @@ -187,6 +193,18 @@ const SyncModal = ({ navigation }: Props) => { ); }; +SyncModal.navigationOptions = { + headerTintColor: "white", + headerStyle: { + backgroundColor: "#2348B2" + }, + headerTitle: ( + + + + ) +}; + /** * State in Mapeo Core can loose the history of an error or completion of sync. * In this sync modal, for the lifecycle of the component: diff --git a/src/frontend/sharedComponents/CustomHeaderLeft.js b/src/frontend/sharedComponents/CustomHeaderLeft.js new file mode 100644 index 000000000..4cc693b57 --- /dev/null +++ b/src/frontend/sharedComponents/CustomHeaderLeft.js @@ -0,0 +1,141 @@ +// @flow +import React from "react"; +import { defineMessages, useIntl } from "react-intl"; +import { HeaderBackButton } from "react-navigation"; +import { useNavigation } from "react-navigation-hooks"; +import { Alert } from "react-native"; +import isEqual from "lodash/isEqual"; + +import { CloseIcon, BackIcon } from "./icons"; +import useDraftObservation from "../hooks/useDraftObservation"; +import useObservation from "../hooks/useObservation"; +import { filterPhotosFromAttachments } from "../lib/utils"; + +const m = defineMessages({ + discardTitle: { + id: "AppContainer.EditHeader.discardTitle", + defaultMessage: "Discard observation?", + description: + "Title of dialog that shows when closing an observation without saving" + }, + discardConfirm: { + id: "AppContainer.EditHeader.discardContent", + defaultMessage: "Discard without saving", + description: "Button on dialog to close without saving" + }, + discardCancel: { + id: "AppContainer.EditHeader.discardCancel", + defaultMessage: "Continue editing", + description: "Button on dialog to keep editing (cancelling close action)" + } +}); + +const HeaderCloseIcon = ({ tintColor }: { tintColor: string }) => ( + +); + +// We use a slightly larger back icon, to improve accessibility +// TODO iOS: This should probably be a chevron not an arrow +const HeaderBackIcon = ({ tintColor }: { tintColor: string }) => ( + +); + +/** + * WARNING: Hairy code which could probably be clearer! + * + * Currently our UX is different for new observations vs. editing an existing + * observation. For a new observation, the category chooser is shown first, but + * after the category is chosen, the user cannot return to it, but instead needs + * to use the "change category" button. + * + * This code will show the close icon in the header if any of these conditions + * are true: + * + * - It is a new observation and the user is on the "ObservationEdit" screen + * - It is a new observation and the user is on the first "CategoryChoose" + * screen, but not when they are they are trying to later change the category + * of a new observation + * + * The code will request a confirmation if any of these conditions are true: + * + * - Any of the conditions above (for showing a close icon) + * - The user is on the "ObservationEdit" screen for an existing observation + * **and** the observation has been edited. + * + * Whether the observation has been edited is checked by deep-equal between the + * draft and the original observation + */ +const CustomHeaderLeft = ({ onPress: originalOnPress, ...props }: any) => { + const { formatMessage: t } = useIntl(); + const navigation = useNavigation(); + const [draftObservation, { clearDraft }] = useDraftObservation(); + const [{ observation: existingObservation }] = useObservation( + draftObservation.observationId + ); + const isNew = + draftObservation.value && + typeof draftObservation.observationId === "undefined"; + const { routeName, key } = navigation.state; + const parent = navigation.dangerouslyGetParent(); + const routes = parent && parent.state.routes; + const currentIndex = routes && routes.findIndex(route => route.key === key); + const prevRouteNameInStack = + routes && routes[currentIndex - 1] && routes[currentIndex - 1].routeName; + + const shouldConfirm = + routeName === "ObservationEdit" || + (isNew && + routeName === "CategoryChooser" && + prevRouteNameInStack === "Home"); + + const shouldCloseToHome = isNew && shouldConfirm; + + const handleCloseRequest = React.useCallback(() => { + const isUntouched = + existingObservation && + isEqual(existingObservation.value, draftObservation.value) && + isEqual( + filterPhotosFromAttachments(existingObservation.value.attachments), + draftObservation.photos + ); + if (!shouldConfirm || isUntouched) { + if (shouldConfirm) clearDraft(); + navigation.goBack(); + return; + } + + Alert.alert(t(m.discardTitle), undefined, [ + { + text: t(m.discardConfirm), + onPress: () => { + clearDraft(); + if (shouldCloseToHome) navigation.navigate("Home"); + else navigation.goBack(); + } + }, + { + text: t(m.discardCancel), + onPress: () => {} + } + ]); + }, [ + clearDraft, + draftObservation.photos, + draftObservation.value, + existingObservation, + navigation, + shouldCloseToHome, + shouldConfirm, + t + ]); + + return ( + + ); +}; + +export default CustomHeaderLeft; diff --git a/src/frontend/sharedComponents/HeaderTitle.js b/src/frontend/sharedComponents/HeaderTitle.js index c3cc4d4ea..b9d9d692b 100644 --- a/src/frontend/sharedComponents/HeaderTitle.js +++ b/src/frontend/sharedComponents/HeaderTitle.js @@ -1,8 +1,8 @@ import * as React from "react"; import { Platform, StyleSheet, Text } from "react-native"; -const HeaderTitle = ({ children }) => ( - {children} +const HeaderTitle = ({ children, style }) => ( + {children} ); const styles = StyleSheet.create({ @@ -18,7 +18,7 @@ const styles = StyleSheet.create({ fontSize: 20, fontWeight: "700", color: "rgba(0, 0, 0, .9)", - marginHorizontal: 8 + marginRight: 8 }, default: { fontSize: 18, From 281553aab0df3674bbd46b1ab4b8564627924aab Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Mon, 20 Jan 2020 19:11:41 +0000 Subject: [PATCH 009/116] feat: Ask for confirmation when the user presses the back button when editing/creating an observation --- .../sharedComponents/CustomHeaderLeft.js | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/frontend/sharedComponents/CustomHeaderLeft.js b/src/frontend/sharedComponents/CustomHeaderLeft.js index 4cc693b57..343a629cd 100644 --- a/src/frontend/sharedComponents/CustomHeaderLeft.js +++ b/src/frontend/sharedComponents/CustomHeaderLeft.js @@ -2,8 +2,8 @@ import React from "react"; import { defineMessages, useIntl } from "react-intl"; import { HeaderBackButton } from "react-navigation"; -import { useNavigation } from "react-navigation-hooks"; -import { Alert } from "react-native"; +import { useNavigation, useFocusEffect } from "react-navigation-hooks"; +import { Alert, BackHandler } from "react-native"; import isEqual from "lodash/isEqual"; import { CloseIcon, BackIcon } from "./icons"; @@ -30,6 +30,18 @@ const m = defineMessages({ } }); +const useBackHandler = (backHandler: () => boolean) => { + useFocusEffect( + React.useCallback(() => { + const subscription = BackHandler.addEventListener( + "hardwareBackPress", + backHandler + ); + return () => subscription.remove(); + }, [backHandler]) + ); +}; + const HeaderCloseIcon = ({ tintColor }: { tintColor: string }) => ( ); @@ -129,6 +141,16 @@ const CustomHeaderLeft = ({ onPress: originalOnPress, ...props }: any) => { t ]); + // Listen to the Android back button + useBackHandler( + React.useCallback(() => { + handleCloseRequest(); + // Return true to denote to BackHandler that we have handled the event + // See https://reactnavigation.org/docs/en/3.x/custom-android-back-button-handling.html + return true; + }, [handleCloseRequest]) + ); + return ( Date: Mon, 20 Jan 2020 19:12:21 +0000 Subject: [PATCH 010/116] fix: Fix bug when a user edits an existing observation and is returned to the home screen (map) --- src/frontend/screens/ObservationEdit/SaveButton.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/screens/ObservationEdit/SaveButton.js b/src/frontend/screens/ObservationEdit/SaveButton.js index 6402c6648..74f680659 100644 --- a/src/frontend/screens/ObservationEdit/SaveButton.js +++ b/src/frontend/screens/ObservationEdit/SaveButton.js @@ -103,7 +103,7 @@ const SaveButton = ({ navigation }: Props) => { useEffect(() => { if (savingStatus !== "success") return; const observationId = navigation.getParam("observationId"); - if (observationId === "string") { + if (typeof observationId === "string") { navigation.pop(); } else { navigation.navigate("Home"); From cf1251867d53f7835f0a11d9eaa0dca558c6d082 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Mon, 20 Jan 2020 19:24:16 +0000 Subject: [PATCH 011/116] chore(release): 2.0.0-alpha.0 --- CHANGELOG.md | 16 ++++++++++++++++ package.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12e8fc5b2..569705f0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.1.0-alpha.0](https://github.com/digidem/mapeo-mobile/compare/v2.0.0-beta.0...v2.1.0-alpha.0) (2020-01-20) + +### Features + +- Ask for confirmation when the user presses the back button when editing/creating an observation ([281553a](https://github.com/digidem/mapeo-mobile/commit/281553aab0df3674bbd46b1ab4b8564627924aab)) +- Update to latest React Native & Unimodules (better performance and bug fixes) ([4d0123b](https://github.com/digidem/mapeo-mobile/commit/4d0123b8e97304757d552c4a67717c70978ac154)) +- Use Android default animation for navigation (changes close icon on GPS and Sync screens) ([69d7b82](https://github.com/digidem/mapeo-mobile/commit/69d7b82dce7860c8e1d74ac0ceaea0d2a4f9762a)) + +### Bug Fixes + +- Adjust projectKey styling and text ([c022422](https://github.com/digidem/mapeo-mobile/commit/c0224225c7ee03116d6ea7d5ae1a1dab5913838b)) +- **Sync:** Touch up styles of no wifi sync screen ([8362831](https://github.com/digidem/mapeo-mobile/commit/8362831fddc5a7f58bd8633bdc1f3c9f78ef5e18)) +- Don't render app until saved draft is loaded from storage ([f8d7a0b](https://github.com/digidem/mapeo-mobile/commit/f8d7a0b963e68bb987503c199d4db92609a23369)) +- Fix bug when a user edits an existing observation and is returned to the home screen (map) ([9751501](https://github.com/digidem/mapeo-mobile/commit/975150194033d38a203ce39cba9000b7956281ee)) +- Fix crash after deleting an observation's description ([330fdab](https://github.com/digidem/mapeo-mobile/commit/330fdab7f8ff701d13180113539cb06af7b86915)) + ## [2.0.0-beta.0](https://github.com/digidem/mapeo-mobile/compare/v2.0.0-alpha.9...v2.0.0-beta.0) (2019-11-26) ## [2.0.0-alpha.9](https://github.com/digidem/mapeo-mobile/compare/v2.0.0-alpha.8...v2.0.0-alpha.9) (2019-11-25) diff --git a/package.json b/package.json index 556a83d0e..fa84ed18b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapeo-mobile", - "version": "2.0.0-beta.0", + "version": "2.1.0-alpha.0", "private": true, "engines": { "node": "^10.16.0" From 562b95ac2cac4406e3ba9631ea59707d5e087565 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Thu, 23 Jan 2020 15:19:52 +0100 Subject: [PATCH 012/116] =?UTF-8?q?feat:=20=F0=9F=8E=89=20Import=20configu?= =?UTF-8?q?ration=20files=20(.mapeosettings)=20from=20a=20new=20settings?= =?UTF-8?q?=20screen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc | 4 +- .../com/mapeo/generated/BasePackageList.java | 1 + messages/en.json | 16 ++ messages/es.json | 16 ++ messages/fr.json | 16 ++ messages/pt.json | 16 ++ package.json | 3 +- src/backend/index.js | 4 +- src/backend/package.json | 5 +- src/backend/server.js | 89 +++++++++- src/frontend/App.js | 5 +- src/frontend/AppContainer.js | 2 + src/frontend/api.js | 59 +++++-- src/frontend/context/AppProvider.js | 6 +- .../{PresetsContext.js => ConfigContext.js} | 92 +++++++--- src/frontend/hooks/useDraftObservation.js | 6 +- src/frontend/hooks/useMetadata.js | 9 - src/frontend/hooks/useObservation.js | 6 +- src/frontend/hooks/usePresets.js | 40 ----- src/frontend/lib/logger.js | 4 +- src/frontend/lib/utils.js | 2 +- src/frontend/screens/CategoryChooser.js | 4 +- .../screens/Observation/ObservationView.js | 2 +- .../screens/ObservationDetails/Question.js | 2 +- .../ObservationDetails/SelectMultiple.js | 2 +- .../screens/ObservationDetails/SelectOne.js | 2 +- .../ObservationEdit/ObservationEditView.js | 2 +- src/frontend/screens/Settings.js | 162 ++++++++++++++++++ src/frontend/screens/SyncModal/SyncView.js | 20 ++- src/frontend/screens/SyncModal/index.js | 24 ++- src/frontend/sharedComponents/Button.js | 26 ++- src/frontend/sharedComponents/icons/index.js | 9 + src/frontend/types.js | 2 +- 33 files changed, 521 insertions(+), 137 deletions(-) rename src/frontend/context/{PresetsContext.js => ConfigContext.js} (58%) delete mode 100644 src/frontend/hooks/useMetadata.js delete mode 100644 src/frontend/hooks/usePresets.js create mode 100644 src/frontend/screens/Settings.js diff --git a/.eslintrc b/.eslintrc index e905dde18..4bd53a67e 100644 --- a/.eslintrc +++ b/.eslintrc @@ -35,12 +35,12 @@ "rules": { "react/prop-types": 0, "react-native/no-unused-styles": 2, - "react-native/no-raw-text": 2, "react/display-name": 0, "camelcase": 0, "lines-between-class-members": 0, "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn" + "react-hooks/exhaustive-deps": "warn", + "react-native/no-raw-text": ["error", { "skip": ["Button"] }] }, "settings": { "react": { diff --git a/android/app/src/main/java/com/mapeo/generated/BasePackageList.java b/android/app/src/main/java/com/mapeo/generated/BasePackageList.java index 9ca5833e8..d7ff53969 100644 --- a/android/app/src/main/java/com/mapeo/generated/BasePackageList.java +++ b/android/app/src/main/java/com/mapeo/generated/BasePackageList.java @@ -9,6 +9,7 @@ public List getPackageList() { return Arrays.asList( new expo.modules.camera.CameraPackage(), new expo.modules.constants.ConstantsPackage(), + new expo.modules.documentpicker.DocumentPickerPackage(), new expo.modules.filesystem.FileSystemPackage(), new expo.modules.localization.LocalizationPackage(), new expo.modules.location.LocationPackage(), diff --git a/messages/en.json b/messages/en.json index c5b54b7c6..8a24546be 100644 --- a/messages/en.json +++ b/messages/en.json @@ -224,6 +224,22 @@ "description": "Title of message when the server has not responded for 10 seconds", "message": "Something is up with the Mapeo database" }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, "screens.SyncModal.PeerList.completeButton": { "description": "Button label when complete", "message": "Complete" diff --git a/messages/es.json b/messages/es.json index f78caa285..bfc001a1d 100644 --- a/messages/es.json +++ b/messages/es.json @@ -224,6 +224,22 @@ "description": "Title of message when the server has not responded for 10 seconds", "message": "Esperando contacto con el base de datos de Mapeo, si continúa este mensaje, reinicie a Mapeo" }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Configuración Actual" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Clave del proyecto" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Preferencias" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Sin nombre" + }, "screens.SyncModal.PeerList.completeButton": { "description": "Button label when complete", "message": "Completo" diff --git a/messages/fr.json b/messages/fr.json index 88201e647..8ff53105f 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -224,6 +224,22 @@ "description": "Title of message when the server has not responded for 10 seconds", "message": "Something is up with the Mapeo database" }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "" + }, "screens.SyncModal.PeerList.completeButton": { "description": "Button label when complete", "message": "Complete" diff --git a/messages/pt.json b/messages/pt.json index 88201e647..8ff53105f 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -224,6 +224,22 @@ "description": "Title of message when the server has not responded for 10 seconds", "message": "Something is up with the Mapeo database" }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "" + }, "screens.SyncModal.PeerList.completeButton": { "description": "Button label when complete", "message": "Complete" diff --git a/package.json b/package.json index fa84ed18b..c926c58bc 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "debug": "^4.1.1", "eslint-plugin-jest": "^22.6.4", "expo-camera": "^8.0.0", + "expo-document-picker": "^8.0.0", "expo-localization": "^8.0.0", "expo-location": "^8.0.0", "expo-sensors": "^8.0.0", @@ -81,7 +82,7 @@ "react-navigation": "^3.9.0", "react-navigation-hooks": "^1.0.1", "react-navigation-transitions": "^1.0.10", - "semver": "^6.1.1", + "semver": "^7.1.1", "shallowequal": "^1.1.0", "stacktrace-parser": "^0.1.4", "utm": "^1.1.1" diff --git a/src/backend/index.js b/src/backend/index.js index bf3f94ad3..f0944f36d 100644 --- a/src/backend/index.js +++ b/src/backend/index.js @@ -25,10 +25,10 @@ const ServerStatus = require("./status"); const constants = require("./constants"); const createServer = require("./server"); const createBugsnag = require("@bugsnag/js"); -const semver = require("semver"); +const semverPrerelease = require("semver/functions/prerelease"); const { version } = require("../../package.json"); -const prereleaseComponents = semver.prerelease(version); +const prereleaseComponents = semverPrerelease(version); const releaseStage = prereleaseComponents ? prereleaseComponents[0] : "production"; diff --git a/src/backend/package.json b/src/backend/package.json index d0654f2f8..3bb5358d1 100644 --- a/src/backend/package.json +++ b/src/backend/package.json @@ -20,9 +20,12 @@ "mapeo-default-settings": "^2.1.0", "mapeo-server": "^17.0.0", "mkdirp": "^0.5.1", + "pump": "^3.0.0", "random-access-file": "^2.1.0", "safe-fs-blob-store": "^1.0.3", - "semver": "^6.1.1" + "semver": "^7.1.1", + "tar-fs": "^2.0.0", + "tmp": "^0.1.0" }, "devDependencies": { "node-gyp-build": "^4.1.0", diff --git a/src/backend/server.js b/src/backend/server.js index e12cee506..a0d0919de 100644 --- a/src/backend/server.js +++ b/src/backend/server.js @@ -12,6 +12,14 @@ const rnBridge = require("rn-bridge"); const throttle = require("lodash/throttle"); const main = require("./index"); const fs = require("fs"); +const tar = require("tar-fs"); +const pump = require("pump"); +const tmp = require("tmp"); +const semverCoerce = require("semver/functions/coerce"); +const semverMajor = require("semver/functions/major"); + +// Cleanup the temporary files even when an uncaught exception occurs +tmp.setGracefulCleanup(); const log = debug("mapeo-core:server"); @@ -19,12 +27,11 @@ module.exports = createServer; function createServer({ privateStorage, sharedStorage }) { let projectKey; + const defaultConfigPath = path.join(sharedStorage, "presets/default"); + try { const metadata = JSON.parse( - fs.readFileSync( - path.join(sharedStorage, "presets/default/metadata.json"), - "utf8" - ) + fs.readFileSync(path.join(defaultConfigPath, "metadata.json"), "utf8") ); projectKey = metadata.projectKey; if (projectKey) @@ -47,7 +54,7 @@ function createServer({ privateStorage, sharedStorage }) { ); } // create folders for presets & styles - mkdirp.sync(path.join(sharedStorage, "presets/default")); + mkdirp.sync(defaultConfigPath); mkdirp.sync(path.join(sharedStorage, "styles/default")); // Folder with default (built-in) presets to server when the user has not @@ -103,10 +110,81 @@ function createServer({ privateStorage, sharedStorage }) { rnBridge.channel.on("sync-start", startSync); rnBridge.channel.on("sync-join", joinSync); rnBridge.channel.on("sync-leave", leaveSync); + rnBridge.channel.on("replace-config", replaceConfig); origListen.apply(server, args); }); }; + // Given a config tarball at `path`, replace the current config. + function replaceConfig({ id, path: pathToNewConfigTarball }) { + const cb = err => rnBridge.channel.post("replace-config-" + id, err); + + tmp.dir( + { + unsafeCleanup: true, + // NB: os.tmp() is in private cache storage on Android, but currently + // the destination is in sharedStorage. We can't fs.rename() between + // these two storage areas, so we create our own temp dir in + // sharedStorage + dir: sharedStorage + }, + (err, tmpDir, cleanup) => { + // 1 - extract to temp directory + if (err) { + log("Could not create tmp directory for config extract", err); + return cb(err); + } + log("Creating in temp import path: " + tmpDir); + var source = fs.createReadStream(pathToNewConfigTarball); + var dest = tar.extract(tmpDir, { + readable: true, + writable: true + }); + pump(source, dest, onExtract); + + // 2 - If extract worked, check version + function onExtract(err) { + // TODO: Better checking that presets are valid + if (err) { + log("Error extracting config tarball", err); + return cb(err); + } + fs.readFile(path.join(tmpDir, "VERSION"), "utf8", (err, version) => { + const parsedVersion = semverCoerce(version); + if (err || parsedVersion == null) { + log("Error reading VERSION file from imported config"); + return cb(err || new Error("Unreadable config version")); + } + if (parsedVersion.major > 2 || parsedVersion.major < 2) { + log( + "Mapeo is not compatible with this config version (" + + version + + ")" + ); + cb(new Error("Incompatible config version")); + } + log("Importing config version: " + version); + onVersionCheck(); + }); + } + + // 3 - Presets look ok, replace current presets with these + function onVersionCheck() { + fs.rename(tmpDir, defaultConfigPath, err => { + if (err) { + log("Error replacing existing config with new config", err); + return cb(err); + } + // Manual cleanup of temp dir - tmp should cleanup on node exist, but + // just in case + cleanup(); + cb(); + }); + } + } + ); + } + // Send message to frontend whenever there is an update to the peer list function sendPeerUpdateToRN(peer) { const peers = mapeoCore.sync.peers().map(peer => { @@ -185,6 +263,7 @@ function createServer({ privateStorage, sharedStorage }) { rnBridge.channel.removeListener("sync-start", startSync); rnBridge.channel.removeListener("sync-join", joinSync); rnBridge.channel.removeListener("sync-leave", leaveSync); + rnBridge.channel.removeListener("replace-config", replaceConfig); onReplicationComplete(() => { mapeoCore.sync.destroy(() => origClose.call(server, cb)); }); diff --git a/src/frontend/App.js b/src/frontend/App.js index 3f6399dee..5b8178b33 100644 --- a/src/frontend/App.js +++ b/src/frontend/App.js @@ -1,7 +1,7 @@ /* global __DEV__ */ // @flow import * as React from "react"; -import { Platform } from "react-native"; +import { Platform, YellowBox } from "react-native"; import debug from "debug"; import SplashScreen from "react-native-splash-screen"; import AsyncStorage from "@react-native-community/async-storage"; @@ -17,6 +17,9 @@ import AppProvider from "./context/AppProvider"; import bugsnag from "./lib/logger"; import messages from "../../translations/messages.json"; +// Turn off warnings about require cycles +YellowBox.ignoreWarnings(["Require cycle:"]); + // Turn on logging if in debug mode if (__DEV__) debug.enable("*"); const log = debug("mapeo:App"); diff --git a/src/frontend/AppContainer.js b/src/frontend/AppContainer.js index 9f34c33fb..775958fbd 100644 --- a/src/frontend/AppContainer.js +++ b/src/frontend/AppContainer.js @@ -16,6 +16,7 @@ import ObservationDetails from "./screens/ObservationDetails"; import CategoryChooser from "./screens/CategoryChooser"; import GpsModal from "./screens/GpsModal"; import SyncModal from "./screens/SyncModal"; +import Settings from "./screens/Settings"; import PhotosModal from "./screens/PhotosModal"; import ManualGpsScreen from "./screens/ManualGpsScreen"; import CustomHeaderLeft from "./sharedComponents/CustomHeaderLeft"; @@ -55,6 +56,7 @@ const RootStack = createStackNavigator( Home: HomeTabs, GpsModal: GpsModal, SyncModal: SyncModal, + Settings: Settings, PhotosModal: PhotosModal, CategoryChooser: CategoryChooser, AddPhoto: AddPhoto, diff --git a/src/frontend/api.js b/src/frontend/api.js index 9358e106a..96efb12c5 100644 --- a/src/frontend/api.js +++ b/src/frontend/api.js @@ -6,7 +6,7 @@ import nodejs from "nodejs-mobile-react-native"; import RNFS from "react-native-fs"; import debug from "debug"; -import type { Preset, Field } from "./context/PresetsContext"; +import type { Preset, Field, Metadata } from "./context/ConfigContext"; import type { Observation, ObservationValue @@ -173,6 +173,9 @@ export function Api({ return onReady().then(() => req.post(url, { json: data }).json()); } + // Used to track RPC communication + let channelId = 0; + // All public methods const api = { // Start server, returns a promise that resolves when the server is ready @@ -241,7 +244,7 @@ export function Api({ ); }, - getMetadata: function getMetadata(): Promise<{ projectKey?: string }> { + getMetadata: function getMetadata(): Promise { return get(`presets/default/metadata.json?${startupTime}`).then( data => data || {} ); @@ -283,9 +286,9 @@ export function Api({ new Error("Missing uri for full image or thumbnail to save to server") ); const data = { - original: originalUri.replace(/^file:\/\//, ""), - preview: previewUri.replace(/^file:\/\//, ""), - thumbnail: thumbnailUri.replace(/^file:\/\//, "") + original: convertFileUriToPosixPath(originalUri), + preview: convertFileUriToPosixPath(previewUri), + thumbnail: convertFileUriToPosixPath(thumbnailUri) }; const createPromise = post("media", data); // After images have saved to the server we can delete the versions in @@ -318,9 +321,11 @@ export function Api({ schemaVersion: 3, id }; - return put(`observations/${id}`, valueForServer).then( - (serverObservation: ServerObservation) => - convertFromServer(serverObservation) + return put( + `observations/${id}`, + valueForServer + ).then((serverObservation: ServerObservation) => + convertFromServer(serverObservation) ); }, @@ -332,9 +337,35 @@ export function Api({ type: "observation", schemaVersion: 3 }; - return post("observations", valueForServer).then( - (serverObservation: ServerObservation) => - convertFromServer(serverObservation) + return post( + "observations", + valueForServer + ).then((serverObservation: ServerObservation) => + convertFromServer(serverObservation) + ); + }, + + // Replaces app config with .mapeosettings tar file at `path` + replaceConfig: function replaceConfig(fileUri: string): Promise { + const path = convertFileUriToPosixPath(fileUri); + return onReady().then( + () => + new Promise((resolve, reject) => { + const id = channelId++; + nodejs.channel.once("replace-config-" + id, done); + nodejs.channel.post("replace-config", { path, id }); + + const timeoutId = setTimeout(() => { + nodejs.channel.removeListener("replace-config-" + id, done); + done(new Error("Timeout when replacing config")); + }, 30 * 1000); + + function done(err) { + clearTimeout(timeoutId); + if (err) reject(err); + else resolve(); + } + }) ); }, @@ -465,3 +496,9 @@ function convertFromServer(obs: ServerObservation): Observation { } }; } + +function convertFileUriToPosixPath(fileUri) { + if (typeof fileUri !== "string") + throw new Error("Attempted to convert invalid file Uri:" + fileUri); + return fileUri.replace(/^file:\/\//, ""); +} diff --git a/src/frontend/context/AppProvider.js b/src/frontend/context/AppProvider.js index 468a17832..c69d38480 100644 --- a/src/frontend/context/AppProvider.js +++ b/src/frontend/context/AppProvider.js @@ -3,7 +3,7 @@ import * as React from "react"; import { LocationProvider } from "./LocationContext"; import { ObservationsProvider } from "./ObservationsContext"; -import { PresetsProvider } from "./PresetsContext"; +import { ConfigProvider } from "./ConfigContext"; import { DraftObservationProvider } from "./DraftObservationContext"; // This is a convenience wrapper for providing all App contexts to the tree, @@ -11,9 +11,9 @@ import { DraftObservationProvider } from "./DraftObservationContext"; const AppProvider = ({ children }: { children: React.Node }) => ( - + {children} - + ); diff --git a/src/frontend/context/PresetsContext.js b/src/frontend/context/ConfigContext.js similarity index 58% rename from src/frontend/context/PresetsContext.js rename to src/frontend/context/ConfigContext.js index 2aa6556a6..6dd03f06a 100644 --- a/src/frontend/context/PresetsContext.js +++ b/src/frontend/context/ConfigContext.js @@ -3,9 +3,9 @@ import * as React from "react"; import debug from "debug"; import api from "../api"; -import type { UseState, Status } from "../types"; +import type { Status } from "../types"; -const log = debug("mapeo:PresetsContext"); +const log = debug("mapeo:ConfigContext"); export type Preset = {| id: string, @@ -57,75 +57,113 @@ export type PresetWithFields = {| export type PresetsMap = Map; export type FieldsMap = Map; +export type Metadata = { + projectKey?: string, + name?: string, + dataset_id?: string, + version?: string +}; + export type State = { // A map of presets by preset id presets: PresetsMap, // A map of field definitions by id fields: FieldsMap, - metadata: { - projectKey?: string - }, + metadata: Metadata, status: Status }; -export type PresetsContextType = UseState; +export type ConfigContextType = [ + State, + { reload: () => any, replace: (fileUri: string) => any } +]; + +const defaultConfig = { + presets: new Map(), + fields: new Map(), + metadata: {} +}; -const defaultContext = [ +const defaultContext: ConfigContextType = [ { - presets: new Map(), - fields: new Map(), - metadata: {}, - status: "loading" + ...defaultConfig, + status: "idle" }, - () => {} + { + reload: () => {}, + replace: () => {} + } ]; -const PresetsContext = React.createContext(defaultContext); +const ConfigContext = React.createContext(defaultContext); type Props = { children: React.Node }; -export const PresetsProvider = ({ children }: Props) => { - const [state, setState] = React.useState(defaultContext[0]); - const contextValue = React.useMemo(() => [state, setState], [state]); +export const ConfigProvider = ({ children }: Props) => { + const [config, setConfig] = React.useState(defaultConfig); + const [status, setStatus] = React.useState("idle"); + const [reloadToken, setReloadToken] = React.useState(); + + const reload = React.useCallback(() => setReloadToken({}), []); + + const replace = React.useCallback( + fileUri => { + setStatus("loading"); + api + .replaceConfig(fileUri) + .then(reload) + .catch(err => { + log("Error replacing presets", err); + setStatus("error"); + }); + }, + [reload] + ); + + const contextValue = React.useMemo( + () => [ + { ...config, status }, + { reload, replace } + ], + [config, status, reload, replace] + ); // Load presets and fields from Mapeo Core on first mount of the app React.useEffect(() => { let didCancel = false; - setState({ ...state, status: "loading" }); + setStatus("loading"); Promise.all([api.getPresets(), api.getFields(), api.getMetadata()]) .then(([presetsList, fieldsList, metadata]) => { if (didCancel) return; // if component was unmounted, don't set state - setState({ + setConfig({ presets: new Map( presetsList.filter(filterPointPreset).map(p => [p.id, p]) ), fields: new Map(fieldsList.map(p => [p.id, p])), - metadata: metadata, - status: "success" + metadata: metadata }); + setStatus("success"); }) .catch(err => { log("Error loading presets and fields", err); if (didCancel) return; // if component was unmounted, don't set state - setState({ ...state, status: "error" }); + setStatus("error"); }); return () => { didCancel = true; }; - // Disabled because we only ever want this to run on first load of the app - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + }, [reloadToken]); return ( - + {children} - + ); }; -export default PresetsContext; +export default ConfigContext; // We only want to show presets that apply to geometry type "point" function filterPointPreset(preset: Preset) { diff --git a/src/frontend/hooks/useDraftObservation.js b/src/frontend/hooks/useDraftObservation.js index eee9e9b03..d3286310d 100644 --- a/src/frontend/hooks/useDraftObservation.js +++ b/src/frontend/hooks/useDraftObservation.js @@ -13,9 +13,7 @@ import { import bugsnag from "../lib/logger"; import type { Status } from "../types"; -import PresetsContext, { - type PresetWithFields -} from "../context/PresetsContext"; +import ConfigContext, { type PresetWithFields } from "../context/ConfigContext"; import ObservationsContext, { type ObservationValue, type ObservationAttachment @@ -76,7 +74,7 @@ type CancellablePromise = Promise & { signal?: { didCancel: boolean } }; export default (): UseDraftObservation => { const [draft, setDraft] = useContext(DraftObservationContext); const [{ observations }, dispatch] = useContext(ObservationsContext); - const [{ presets, fields }] = useContext(PresetsContext); + const [{ presets, fields }] = useContext(ConfigContext); const [savingStatus, setSavingStatus] = useState(); const addPhoto = useCallback( diff --git a/src/frontend/hooks/useMetadata.js b/src/frontend/hooks/useMetadata.js deleted file mode 100644 index 52750e3b6..000000000 --- a/src/frontend/hooks/useMetadata.js +++ /dev/null @@ -1,9 +0,0 @@ -// @flow -import { useContext } from "react"; - -import PresetsContext from "../context/PresetsContext"; - -export default (): { projectKey?: string } => { - const [{ metadata }] = useContext(PresetsContext); - return metadata; -}; diff --git a/src/frontend/hooks/useObservation.js b/src/frontend/hooks/useObservation.js index 2abf10ea8..6423efca8 100644 --- a/src/frontend/hooks/useObservation.js +++ b/src/frontend/hooks/useObservation.js @@ -6,9 +6,7 @@ import { matchPreset, addFieldDefinitions } from "../lib/utils"; import ObservationsContext, { type Observation } from "../context/ObservationsContext"; -import PresetsContext, { - type PresetWithFields -} from "../context/PresetsContext"; +import ConfigContext, { type PresetWithFields } from "../context/ConfigContext"; import type { Status } from "../types"; type UseObservation = [ @@ -27,7 +25,7 @@ export default (observationId: mixed): UseObservation => { ObservationsContext ); const [{ presets, fields, status: presetsStatus }] = useContext( - PresetsContext + ConfigContext ); const [deletingStatus, setDeletingStatus] = useState(); const loadingStatus = mergeLoadingStatus(observationsStatus, presetsStatus); diff --git a/src/frontend/hooks/usePresets.js b/src/frontend/hooks/usePresets.js deleted file mode 100644 index 5ce2f4614..000000000 --- a/src/frontend/hooks/usePresets.js +++ /dev/null @@ -1,40 +0,0 @@ -// @flow -import { useContext } from "react"; - -import PresetsContext, { - type PresetWithFields -} from "../context/PresetsContext"; -import { addFieldDefinitions } from "../lib/utils"; - -function compareStrings(a = "", b = "") { - return a.toLowerCase().localeCompare(b.toLowerCase()); -} - -export default (): PresetWithFields[] => { - const [{ presets, fields }] = useContext(PresetsContext); - - return ( - Array.from(presets.values()) - .sort((a, b) => { - if (typeof a.sort !== "undefined" && typeof b.sort !== "undefined") { - // If sort value is the same, then sort by name - if (a.sort === b.sort) return compareStrings(a.name, b.name); - // Lower sort numbers come before higher numbers - else return a.sort - b.sort; - } else if (typeof a.sort !== "undefined") { - // If a has a sort field but b doesn't, a comes first - return -1; - } else if (typeof b.sort !== "undefined") { - // if b has a sort field but a doesn't, b comes first - return 1; - } else { - // if neither have sort defined, compare by name - return compareStrings(a.name, b.name); - } - }) - // Only show presets where the geometry property includes "point" - .filter(p => p.geometry.includes("point")) - // Replace field ids with full field definitions - .map(p => addFieldDefinitions(p, fields)) - ); -}; diff --git a/src/frontend/lib/logger.js b/src/frontend/lib/logger.js index 1639e9f39..893e0e34c 100644 --- a/src/frontend/lib/logger.js +++ b/src/frontend/lib/logger.js @@ -1,9 +1,9 @@ import { Client, Configuration } from "bugsnag-react-native"; -import semver from "semver"; +import semverPrerelease from "semver/functions/prerelease"; import { version } from "../../../package.json"; const config = new Configuration("572d472ea9d5a9199777b88ef268da4e"); -const prereleaseComponents = semver.prerelease(version); +const prereleaseComponents = semverPrerelease(version); config.releaseStage = __DEV__ ? "development" : prereleaseComponents diff --git a/src/frontend/lib/utils.js b/src/frontend/lib/utils.js index f0cfd6e58..075c36ec4 100644 --- a/src/frontend/lib/utils.js +++ b/src/frontend/lib/utils.js @@ -12,7 +12,7 @@ import type { PresetsMap, PresetWithFields, FieldsMap -} from "../context/PresetsContext"; +} from "../context/ConfigContext"; export function getDisplayName(WrappedComponent: any) { return WrappedComponent.displayName || WrappedComponent.name || "Component"; diff --git a/src/frontend/screens/CategoryChooser.js b/src/frontend/screens/CategoryChooser.js index 5d12d08b3..ec39a7ade 100644 --- a/src/frontend/screens/CategoryChooser.js +++ b/src/frontend/screens/CategoryChooser.js @@ -10,7 +10,7 @@ import { } from "react-native"; import { defineMessages, FormattedMessage } from "react-intl"; -import PresetsContext, { type Preset } from "../context/PresetsContext"; +import ConfigContext, { type Preset } from "../context/ConfigContext"; import HeaderTitle from "../sharedComponents/HeaderTitle"; import useDraftObservation from "../hooks/useDraftObservation"; import { CategoryCircleIcon } from "../sharedComponents/icons"; @@ -61,7 +61,7 @@ const Item = React.memo( ); const CategoryChooser = ({ navigation }: { navigation: NavigationProp }) => { - const [{ presets }] = useContext(PresetsContext); + const [{ presets }] = useContext(ConfigContext); const [{ value: draftValue }, { updateDraft }] = useDraftObservation(); const presetsList = Array.from(presets.values()) diff --git a/src/frontend/screens/Observation/ObservationView.js b/src/frontend/screens/Observation/ObservationView.js index 1e37e2655..df5fce90a 100644 --- a/src/frontend/screens/Observation/ObservationView.js +++ b/src/frontend/screens/Observation/ObservationView.js @@ -21,7 +21,7 @@ import { MEDIUM_GREY } from "../../lib/styles"; import { TouchableOpacity } from "../../sharedComponents/Touchables"; -import type { PresetWithFields } from "../../context/PresetsContext"; +import type { PresetWithFields } from "../../context/ConfigContext"; import type { Observation } from "../../context/ObservationsContext"; import useMapStyle from "../../hooks/useMapStyle"; import Loading from "../../sharedComponents/Loading"; diff --git a/src/frontend/screens/ObservationDetails/Question.js b/src/frontend/screens/ObservationDetails/Question.js index ebfdbdfc3..1cccb88cb 100644 --- a/src/frontend/screens/ObservationDetails/Question.js +++ b/src/frontend/screens/ObservationDetails/Question.js @@ -5,7 +5,7 @@ import SelectOne from "./SelectOne"; import SelectMultiple from "./SelectMultiple"; import TextArea from "./TextArea"; -import type { Field } from "../../context/PresetsContext"; +import type { Field } from "../../context/ConfigContext"; export type QuestionProps = { field: Field, diff --git a/src/frontend/screens/ObservationDetails/SelectMultiple.js b/src/frontend/screens/ObservationDetails/SelectMultiple.js index eb794ce93..0e436b5d0 100644 --- a/src/frontend/screens/ObservationDetails/SelectMultiple.js +++ b/src/frontend/screens/ObservationDetails/SelectMultiple.js @@ -9,7 +9,7 @@ import QuestionLabel from "./QuestionLabel"; import type { Style } from "../../types"; import type { QuestionProps } from "./Question"; -import type { SelectField } from "../../context/PresetsContext"; +import type { SelectField } from "../../context/ConfigContext"; type Props = { ...$Exact, diff --git a/src/frontend/screens/ObservationDetails/SelectOne.js b/src/frontend/screens/ObservationDetails/SelectOne.js index 29e8e2e97..242669002 100644 --- a/src/frontend/screens/ObservationDetails/SelectOne.js +++ b/src/frontend/screens/ObservationDetails/SelectOne.js @@ -9,7 +9,7 @@ import QuestionLabel from "./QuestionLabel"; import type { Style } from "../../types"; import type { QuestionProps } from "./Question"; -import type { SelectField } from "../../context/PresetsContext"; +import type { SelectField } from "../../context/ConfigContext"; type Props = { ...$Exact, diff --git a/src/frontend/screens/ObservationEdit/ObservationEditView.js b/src/frontend/screens/ObservationEdit/ObservationEditView.js index d9b38963d..36b1b1c4c 100644 --- a/src/frontend/screens/ObservationEdit/ObservationEditView.js +++ b/src/frontend/screens/ObservationEdit/ObservationEditView.js @@ -18,7 +18,7 @@ import ThumbnailScrollView from "../../sharedComponents/ThumbnailScrollView"; import TextButton from "../../sharedComponents/TextButton"; import { BLACK, LIGHT_GREY, LIGHT_BLUE } from "../../lib/styles"; -import type { PresetWithFields } from "../../context/PresetsContext"; +import type { PresetWithFields } from "../../context/ConfigContext"; const m = defineMessages({ searching: { diff --git a/src/frontend/screens/Settings.js b/src/frontend/screens/Settings.js new file mode 100644 index 000000000..0204dd76e --- /dev/null +++ b/src/frontend/screens/Settings.js @@ -0,0 +1,162 @@ +// @flow +import React from "react"; +import { View, Text, StyleSheet, ActivityIndicator } from "react-native"; +import { Picker as OriginalPicker } from "@react-native-community/picker"; +import HeaderTitle from "../sharedComponents/HeaderTitle"; +import { FormattedMessage, defineMessages, useIntl } from "react-intl"; +import * as DocumentPicker from "expo-document-picker"; + +import Button from "../sharedComponents/Button"; +import ConfigContext from "../context/ConfigContext"; +import type { Status } from "../types"; + +const m = defineMessages({ + settingsTitle: { + id: "screens.Settings.title", + defaultMessage: "Settings", + description: "Title of settings screen" + }, + currentConfig: { + id: "screens.Settings.currentConfig", + defaultMessage: "Current Configuration", + description: "Label for name & version of current configuration" + }, + projectKey: { + id: "screens.Settings.projectKey", + defaultMessage: "Project Key", + description: "Label for project key" + }, + unnamedConfig: { + id: "screens.Settings.unnamedConfig", + defaultMessage: "Un-named", + description: "Config name when do name is defined" + } +}); + +const Picker = ({ label, children, ...props }) => ( + + {label} + + + {children} + + + +); + +Picker.Item = OriginalPicker.Item; + +const Settings = () => { + const { formatMessage: t } = useIntl(); + const [status, setStatus] = React.useState("idle"); + const [config, { replace: replaceConfig }] = React.useContext(ConfigContext); + + const handleImportPress = React.useCallback(async () => { + setStatus("loading"); + const result = await DocumentPicker.getDocumentAsync(); + setStatus("idle"); + if (result.type === "success") replaceConfig(result.uri); + }, [replaceConfig]); + + const configName = + config.metadata.name || config.metadata.dataset_id || t(m.unnamedConfig); + const configVersion = config.metadata.version; + const projectKeySlice = + config.metadata.projectKey && config.metadata.projectKey.slice(0, 5); + + return ( + + + + : + + + {configName} + {configVersion && ( + {" v" + configVersion} + )} + + + : + + + {projectKeySlice ? projectKeySlice + "**********" : "MAPEO"} + + {(status === "loading" || config.status === "loading") && ( + + + + )} + + + + ); +}; + +Settings.navigationOptions = { + headerTitle: ( + + + + ) +}; + +export default Settings; + +const styles = StyleSheet.create({ + root: { + flex: 1, + paddingHorizontal: 15, + paddingVertical: 20 + }, + pickerWrapper: { + marginBottom: 15 + }, + pickerLabel: { + marginBottom: 5, + marginLeft: 2 + }, + picker: { + borderWidth: 1, + borderColor: "#CCCCCC", + borderStyle: "solid", + borderRadius: 5, + paddingLeft: 10 + }, + configInfo: { + marginBottom: 20, + position: "relative" + }, + centerText: { + textAlign: "center" + }, + configName: { + fontWeight: "bold", + color: "#444444", + fontSize: 20, + marginBottom: 10 + }, + configVersion: { + fontWeight: "normal" + }, + projectKey: { + fontSize: 16, + color: "#444444", + fontFamily: "monospace", + marginTop: 2 + }, + loadingContainer: { + position: "absolute", + width: "100%", + top: 0, + bottom: 0, + backgroundColor: "rgba(255,255,255,0.9)", + justifyContent: "center", + alignItems: "center" + } +}); diff --git a/src/frontend/screens/SyncModal/SyncView.js b/src/frontend/screens/SyncModal/SyncView.js index 62a1429ef..cfc356e30 100644 --- a/src/frontend/screens/SyncModal/SyncView.js +++ b/src/frontend/screens/SyncModal/SyncView.js @@ -1,4 +1,3 @@ -/* eslint-disable react-native/no-raw-text */ // @flow import React from "react"; import { View, Text, StyleSheet } from "react-native"; @@ -132,14 +131,17 @@ const SyncView = ({ ) : ( )} - {projectKey && ( - - - - )} + + + + ) : ( diff --git a/src/frontend/screens/SyncModal/index.js b/src/frontend/screens/SyncModal/index.js index 84bb58593..9253bc22b 100644 --- a/src/frontend/screens/SyncModal/index.js +++ b/src/frontend/screens/SyncModal/index.js @@ -18,12 +18,16 @@ import SyncView from "./SyncView"; import api from "../../api"; import bugsnag from "../../lib/logger"; import useAllObservations from "../../hooks/useAllObservations"; -import useMetadata from "../../hooks/useMetadata"; +import ConfigContext from "../../context/ConfigContext"; import { peerStatus } from "./PeerList"; import { parseVersionMajor } from "../../lib/utils"; import HeaderTitle from "../../sharedComponents/HeaderTitle"; +import { SettingsIcon } from "../../sharedComponents/icons"; +import IconButton from "../../sharedComponents/IconButton"; + import type { Peer } from "./PeerList"; import type { ServerPeer, PeerError } from "../../api"; +import { useNavigation } from "react-navigation-hooks"; type Props = { navigation: any @@ -79,7 +83,11 @@ const deviceName: string = const SyncModal = ({ navigation }: Props) => { const { formatMessage: t } = useIntl(); const [, reload] = useAllObservations(); - const { projectKey } = useMetadata(); + const [ + { + metadata: { projectKey } + } + ] = React.useContext(ConfigContext); const [serverPeers, setServerPeers] = React.useState([]); const [syncErrors, setSyncErrors] = React.useState>( new Map() @@ -193,6 +201,15 @@ const SyncModal = ({ navigation }: Props) => { ); }; +const SettingsButton = () => { + const { navigate } = useNavigation(); + return ( + navigate("Settings")}> + + + ); +}; + SyncModal.navigationOptions = { headerTintColor: "white", headerStyle: { @@ -202,7 +219,8 @@ SyncModal.navigationOptions = { - ) + ), + headerRight: }; /** diff --git a/src/frontend/sharedComponents/Button.js b/src/frontend/sharedComponents/Button.js index 0c3b8a4e0..40501a7d4 100644 --- a/src/frontend/sharedComponents/Button.js +++ b/src/frontend/sharedComponents/Button.js @@ -21,7 +21,8 @@ type Props = { color?: "dark" | "light", style?: Style, fullWidth?: boolean, - testID?: string + testID?: string, + disabled?: boolean }; const Button = ({ @@ -30,10 +31,17 @@ const Button = ({ color = "dark", style, children, - fullWidth = false + fullWidth = false, + disabled = false }: Props) => { const buttonStyle = styles["button" + capitalize(variant)]; - const textStyle = styles["text" + capitalize(variant) + capitalize(color)]; + const textStyle = + styles[ + "text" + + capitalize(variant) + + capitalize(color) + + (disabled ? "Disabled" : "") + ]; return ( + onPress={disabled ? undefined : onPress}> {typeof children === "string" ? ( {children.toUpperCase()} @@ -94,5 +103,14 @@ const styles = StyleSheet.create({ }, textOutlinedLight: { color: "#0066FF" + }, + textOutlinedDark: { + color: "#0066FF" + }, + textOutlinedLightDisabled: { + color: "#666666" + }, + textOutlinedDarkDisabled: { + color: "#999999" } }); diff --git a/src/frontend/sharedComponents/icons/index.js b/src/frontend/sharedComponents/icons/index.js index 1c14c0060..f201be60a 100644 --- a/src/frontend/sharedComponents/icons/index.js +++ b/src/frontend/sharedComponents/icons/index.js @@ -29,6 +29,15 @@ export const AlertIcon = ({ size = 30, color = RED, style }: FontIconProps) => ( ); +export const SettingsIcon = ({ size = 30, color, style }: FontIconProps) => ( + +); + export const CellphoneIcon = ({ size = 30, color = "white", diff --git a/src/frontend/types.js b/src/frontend/types.js index 70ea6625a..d93c61186 100644 --- a/src/frontend/types.js +++ b/src/frontend/types.js @@ -19,7 +19,7 @@ export type MapStyle = { maxzoom: number }; export type UseState = [S, ((S => S) | S) => void]; -export type Status = "loading" | "error" | "success" | void; +export type Status = "idle" | "loading" | "error" | "success" | void; type NavigationParams = {| observationId?: string, From 1daf1eda7bf602a940e3cce300f8e641f550624a Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Thu, 23 Jan 2020 15:20:13 +0100 Subject: [PATCH 013/116] chore(release): 2.1.0-alpha.1 --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 569705f0d..056fd2fa3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.1.0-alpha.1](https://github.com/digidem/mapeo-mobile/compare/v2.1.0-alpha.0...v2.1.0-alpha.1) (2020-01-23) + +### Features + +- 🎉 Import configuration files (.mapeosettings) from a new settings screen ([562b95a](https://github.com/digidem/mapeo-mobile/commit/562b95ac2cac4406e3ba9631ea59707d5e087565)) + ## [2.1.0-alpha.0](https://github.com/digidem/mapeo-mobile/compare/v2.0.0-beta.0...v2.1.0-alpha.0) (2020-01-20) ### Features diff --git a/package.json b/package.json index c926c58bc..27a67345a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapeo-mobile", - "version": "2.1.0-alpha.0", + "version": "2.1.0-alpha.1", "private": true, "engines": { "node": "^10.16.0" From 0e6514d5d9ba7b6d861ecc201ba44ab9968f199f Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Thu, 23 Jan 2020 18:26:38 +0100 Subject: [PATCH 014/116] fix: Remove unused picker component (pending coordinate format setting) --- src/frontend/screens/Settings.js | 52 ++++++++++++++++---------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/frontend/screens/Settings.js b/src/frontend/screens/Settings.js index 0204dd76e..b13c9898f 100644 --- a/src/frontend/screens/Settings.js +++ b/src/frontend/screens/Settings.js @@ -1,7 +1,7 @@ // @flow import React from "react"; import { View, Text, StyleSheet, ActivityIndicator } from "react-native"; -import { Picker as OriginalPicker } from "@react-native-community/picker"; +// import { Picker as OriginalPicker } from "@react-native-community/picker"; import HeaderTitle from "../sharedComponents/HeaderTitle"; import { FormattedMessage, defineMessages, useIntl } from "react-intl"; import * as DocumentPicker from "expo-document-picker"; @@ -33,18 +33,18 @@ const m = defineMessages({ } }); -const Picker = ({ label, children, ...props }) => ( - - {label} - - - {children} - - - -); +// const Picker = ({ label, children, ...props }) => ( +// +// {label} +// +// +// {children} +// +// +// +// ); -Picker.Item = OriginalPicker.Item; +// Picker.Item = OriginalPicker.Item; const Settings = () => { const { formatMessage: t } = useIntl(); @@ -114,20 +114,20 @@ const styles = StyleSheet.create({ paddingHorizontal: 15, paddingVertical: 20 }, - pickerWrapper: { - marginBottom: 15 - }, - pickerLabel: { - marginBottom: 5, - marginLeft: 2 - }, - picker: { - borderWidth: 1, - borderColor: "#CCCCCC", - borderStyle: "solid", - borderRadius: 5, - paddingLeft: 10 - }, + // pickerWrapper: { + // marginBottom: 15 + // }, + // pickerLabel: { + // marginBottom: 5, + // marginLeft: 2 + // }, + // picker: { + // borderWidth: 1, + // borderColor: "#CCCCCC", + // borderStyle: "solid", + // borderRadius: 5, + // paddingLeft: 10 + // }, configInfo: { marginBottom: 20, position: "relative" From e28b657f552a007ae74d3c61e0fbb761a90fd522 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Thu, 23 Jan 2020 18:26:47 +0100 Subject: [PATCH 015/116] chore(release): 2.1.0-alpha.2 --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 056fd2fa3..06a22cd7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.1.0-alpha.2](https://github.com/digidem/mapeo-mobile/compare/v2.1.0-alpha.1...v2.1.0-alpha.2) (2020-01-23) + +### Bug Fixes + +- Remove unused picker component (pending coordinate format setting) ([0e6514d](https://github.com/digidem/mapeo-mobile/commit/0e6514d5d9ba7b6d861ecc201ba44ab9968f199f)) + ## [2.1.0-alpha.1](https://github.com/digidem/mapeo-mobile/compare/v2.1.0-alpha.0...v2.1.0-alpha.1) (2020-01-23) ### Features diff --git a/package.json b/package.json index 27a67345a..408bffdd9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapeo-mobile", - "version": "2.1.0-alpha.1", + "version": "2.1.0-alpha.2", "private": true, "engines": { "node": "^10.16.0" From 5dbe33eca8a48a410d1a587ac95d147331444290 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Sat, 25 Jan 2020 14:46:57 +0100 Subject: [PATCH 016/116] fix: Fix config import failing when there is an existing config --- src/backend/package.json | 1 + src/backend/server.js | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/backend/package.json b/src/backend/package.json index 3bb5358d1..0b2d569e4 100644 --- a/src/backend/package.json +++ b/src/backend/package.json @@ -22,6 +22,7 @@ "mkdirp": "^0.5.1", "pump": "^3.0.0", "random-access-file": "^2.1.0", + "rimraf": "^3.0.0", "safe-fs-blob-store": "^1.0.3", "semver": "^7.1.1", "tar-fs": "^2.0.0", diff --git a/src/backend/server.js b/src/backend/server.js index a0d0919de..b62f49659 100644 --- a/src/backend/server.js +++ b/src/backend/server.js @@ -12,11 +12,11 @@ const rnBridge = require("rn-bridge"); const throttle = require("lodash/throttle"); const main = require("./index"); const fs = require("fs"); +const rimraf = require("rimraf"); const tar = require("tar-fs"); const pump = require("pump"); const tmp = require("tmp"); const semverCoerce = require("semver/functions/coerce"); -const semverMajor = require("semver/functions/major"); // Cleanup the temporary files even when an uncaught exception occurs tmp.setGracefulCleanup(); @@ -134,7 +134,6 @@ function createServer({ privateStorage, sharedStorage }) { log("Could not create tmp directory for config extract", err); return cb(err); } - log("Creating in temp import path: " + tmpDir); var source = fs.createReadStream(pathToNewConfigTarball); var dest = tar.extract(tmpDir, { readable: true, @@ -170,15 +169,24 @@ function createServer({ privateStorage, sharedStorage }) { // 3 - Presets look ok, replace current presets with these function onVersionCheck() { - fs.rename(tmpDir, defaultConfigPath, err => { + // Need to rimraf() because fs.rename gives an error if the destination + // directory is not empty, despite what the nodejs docs say + // (https://github.com/nodejs/node/issues/21957) + rimraf(defaultConfigPath, err => { if (err) { - log("Error replacing existing config with new config", err); + log("Error trying to remove existing config", err); return cb(err); } - // Manual cleanup of temp dir - tmp should cleanup on node exist, but - // just in case - cleanup(); - cb(); + fs.rename(tmpDir, defaultConfigPath, err => { + if (err) { + log("Error replacing existing config with new config", err); + return cb(err); + } + // Manual cleanup of temp dir - tmp should cleanup on node exist, but + // just in case + cleanup(); + cb(); + }); }); } } From 3a1a2ca654e6294a4f3d3e82fb034813e3909c74 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Sat, 25 Jan 2020 14:47:06 +0100 Subject: [PATCH 017/116] chore(release): 2.1.0-alpha.3 --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06a22cd7a..b58dc3035 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.1.0-alpha.3](https://github.com/digidem/mapeo-mobile/compare/v2.1.0-alpha.2...v2.1.0-alpha.3) (2020-01-25) + +### Bug Fixes + +- Fix config import failing when there is an existing config ([5dbe33e](https://github.com/digidem/mapeo-mobile/commit/5dbe33eca8a48a410d1a587ac95d147331444290)) + ## [2.1.0-alpha.2](https://github.com/digidem/mapeo-mobile/compare/v2.1.0-alpha.1...v2.1.0-alpha.2) (2020-01-23) ### Bug Fixes diff --git a/package.json b/package.json index 408bffdd9..f55061a8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapeo-mobile", - "version": "2.1.0-alpha.2", + "version": "2.1.0-alpha.3", "private": true, "engines": { "node": "^10.16.0" From 184c7a12dba9ca28555ba1573d3e01ecb2c5092d Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Thu, 30 Jan 2020 13:27:22 +0000 Subject: [PATCH 018/116] New Crowdin translations (#272) * New translations en.json (Burmese) * New translations en.json (Khmer) * New translations en.json (Lao) * New translations en.json (Thai) * New translations en.json (Vietnamese) * New translations en.json (Hindi) * New translations en.json (Indonesian) * New translations en.json (Malay) * New translations en.json (Nepali) * New translations en.json (Nepali) * New translations en.json (Nepali) * New translations en.json (Nepali) * New translations en.json (Nepali) * New translations en.json (Nepali) * New translations en.json (Indonesian) * New translations en.json (Nepali) * New translations en.json (Nepali) * New translations en.json (Nepali) * New translations en.json (Nepali) * New translations en.json (Spanish) * New translations en.json (French) * New translations en.json (Spanish) * New translations en.json (Portuguese, Brazilian) * New translations en.json (Burmese) * New translations en.json (Khmer) * New translations en.json (Lao) * New translations en.json (Thai) * New translations en.json (Vietnamese) * New translations en.json (Hindi) * New translations en.json (Indonesian) * New translations en.json (Malay) * New translations en.json (Nepali) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Thai) * New translations en.json (Burmese) * New translations en.json (French) * New translations en.json (Hindi) * New translations en.json (Indonesian) * New translations en.json (Khmer) * New translations en.json (Lao) * New translations en.json (Malay) * New translations en.json (Nepali) * New translations en.json (Portuguese, Brazilian) * New translations en.json (Spanish) * New translations en.json (Thai) * New translations en.json (Vietnamese) --- messages/es.json | 2 +- messages/fr.json | 26 ++-- messages/hi.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ messages/id.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ messages/km.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ messages/lo.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ messages/ms.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ messages/my.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ messages/ne.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ messages/pt.json | 26 ++-- messages/th.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ messages/vi.json | 333 +++++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 3024 insertions(+), 27 deletions(-) create mode 100644 messages/hi.json create mode 100644 messages/id.json create mode 100644 messages/km.json create mode 100644 messages/lo.json create mode 100644 messages/ms.json create mode 100644 messages/my.json create mode 100644 messages/ne.json create mode 100644 messages/th.json create mode 100644 messages/vi.json diff --git a/messages/es.json b/messages/es.json index bfc001a1d..352c329ec 100644 --- a/messages/es.json +++ b/messages/es.json @@ -142,7 +142,7 @@ }, "screens.ObservationEdit.ObservationEditView.detailsButton": { "description": "Button label to add details", - "message": "Llenar Detalle" + "message": "Llenar Detalles" }, "screens.ObservationEdit.ObservationEditView.observation": { "description": "Name of observation when no preset matches", diff --git a/messages/fr.json b/messages/fr.json index 8ff53105f..8a24546be 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -226,19 +226,19 @@ }, "screens.Settings.currentConfig": { "description": "Label for name & version of current configuration", - "message": "" + "message": "Current Configuration" }, "screens.Settings.projectKey": { "description": "Label for project key", - "message": "" + "message": "Project Key" }, "screens.Settings.title": { "description": "Title of settings screen", - "message": "" + "message": "Settings" }, "screens.Settings.unnamedConfig": { "description": "Config name when do name is defined", - "message": "" + "message": "Un-named" }, "screens.SyncModal.PeerList.completeButton": { "description": "Button label when complete", @@ -250,11 +250,11 @@ }, "screens.SyncModal.PeerList.errorClientMismatch": { "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", - "message": "" + "message": "Not a Mapeo client" }, "screens.SyncModal.PeerList.errorTheyNeedUgrade": { "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", - "message": "" + "message": "Incompatible Mapeo" }, "screens.SyncModal.PeerList.syncButton": { "description": "Button label for sync button", @@ -274,7 +274,7 @@ }, "screens.SyncModal.SyncView.projectKey": { "description": "First 5 characters of project key displayed on sync screen", - "message": "" + "message": "Project Key: {projectKey}" }, "screens.SyncModal.SyncView.searchingDesc": { "description": "Description shown whilst searcing for sync peers", @@ -286,7 +286,7 @@ }, "screens.SyncModal.SyncView.settingsButton": { "description": "Button to open WiFi settings", - "message": "" + "message": "Open Settings" }, "screens.SyncModal.SyncView.syncHeader": { "description": "Header of sync screen", @@ -298,23 +298,23 @@ }, "screens.SyncModal.errorDialogOk": { "description": "Button to dismiss error alert about incompatible sync protocol", - "message": "" + "message": "OK" }, "screens.SyncModal.errorVersionThemBadDesc": { "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", - "message": "" + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." }, "screens.SyncModal.errorVersionThemBadTitle": { "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", - "message": "" + "message": "{deviceName} needs to upgrade Mapeo" }, "screens.SyncModal.errorVersionUsBadDesc": { "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", - "message": "" + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." }, "screens.SyncModal.errorVersionUsBadTitle": { "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", - "message": "" + "message": "You need to upgrade Mapeo" }, "screens.UncaughtError.errorDesc": { "description": "Description when there is an uncaught message in the app", diff --git a/messages/hi.json b/messages/hi.json new file mode 100644 index 000000000..8a24546be --- /dev/null +++ b/messages/hi.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "Continue editing" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "Discard without saving" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "Discard observation?" + }, + "screens.AddPhoto.cancel": { + "message": "Cancel" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "No access to camera" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "Choose what is happening" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "Details" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "Current GPS Location" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "Last update" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "Sensor Status" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "Coordinates UTM" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "No" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "Yes" + }, + "screens.ManualGpsScreen.easting": { + "message": "East" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mE" + }, + "screens.ManualGpsScreen.northing": { + "message": "North" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mN" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "Enter coordinates" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "Zone Letter" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "Zone Number" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "Sent from Mapeo" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "Mapeo Alert" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "Delete" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "No answer" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "Observation" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "Share" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "Cancel" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "Yes, delete" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "Delete observation?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "Observation not found" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{current} of {total}" + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "Done" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "Next" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "Question {current} of {total}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "Add…" + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "Change" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "What is happening here?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "Add Details" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "Observation" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "Add Photo" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "Searching…" + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "Continue waiting" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "Manual Coords" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "This observation does not have a location. You can continue waiting for a GPS signal, save the observation without a location, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "No GPS signal" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "Save" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "GPS accuracy is low. You can continue waiting for better accuracy, save the observation with low accuracy, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "Weak GPS signal" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "Edit Observation" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "New Observation" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "Observations" + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "Observation" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "Error loading observations. Try quitting and restarting Mapeo." + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "Loading… this can take a while after synchronizing with a new device" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "Oh dear, something is broken in the Mapeo database." + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "If you continue to see this message you may need to force-restart Mapeo" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "Something is up with the Mapeo database" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "Complete" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "Error" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "Not a Mapeo client" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "Incompatible Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "Sync" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "Synced:" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "Open your phone settins and connect to a WiFi network to synchronize" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "No WiFi" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "Ensure that other devices are turned on and connected to the same WiFi network" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "Searching" + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "Synchronize" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi:" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "OK" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} needs to upgrade Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "You need to upgrade Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "Really sorry about this, something unexpected went wrong, and it's our fault not yours. Try restarting the app to see if that fixes things." + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "Unexpected Error" + }, + "sharedComponents.GpsPill.noGps": { + "message": "No GPS" + }, + "sharedComponents.GpsPill.searching": { + "message": "Searching…" + } +} diff --git a/messages/id.json b/messages/id.json new file mode 100644 index 000000000..07fbeed3c --- /dev/null +++ b/messages/id.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "Lanjutkan menyunting" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "Discard without saving" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "Discard observation?" + }, + "screens.AddPhoto.cancel": { + "message": "Batal" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "No access to camera" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "Choose what is happening" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "Details" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "Current GPS Location" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "Pembaharuan terakhir" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "Sensor Status" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "Coordinates UTM" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "Tidak" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "Ya" + }, + "screens.ManualGpsScreen.easting": { + "message": "Timur" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mT" + }, + "screens.ManualGpsScreen.northing": { + "message": "Utara" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mU" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "Masukkan koordinat" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "Zone Letter" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "Zone Number" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "Sent from Mapeo" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "Mapeo Alert" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "Hapus" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "Tidak ada jawaban" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "Pengamatan" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "Bagikan" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "Batal" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "Ya, hapus" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "Menghapus pengamatan?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "Observation not found" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{current} dari {total}\n " + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "Selesai" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "Lanjut" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "Pertanyaan {current} dari {total}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "Tambah…" + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "Ubah" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "What is happening here?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "Tambahkan Rincian" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "Pengamatan" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "Tambahkan Foto" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "Mencari…" + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "Terus menunggu" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "Manual Coords" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "This observation does not have a location. You can continue waiting for a GPS signal, save the observation without a location, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "Tidak ada sinyal GPS" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "Simpan" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "GPS accuracy is low. You can continue waiting for better accuracy, save the observation with low accuracy, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "Sinyal GPS lemah" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "Sunting Pengamatan" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "Pengamatan Baru" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "Pengamatan" + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "Pengamatan" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "Error loading observations. Try quitting and restarting Mapeo." + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "Loading… this can take a while after synchronizing with a new device" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "Oh dear, something is broken in the Mapeo database." + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "If you continue to see this message you may need to force-restart Mapeo" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "Something is up with the Mapeo database" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "Selesai" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "Galat" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "Not a Mapeo client" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "Incompatible Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "Sync" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "Disinkornkan:" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "Open your phone settins and connect to a WiFi network to synchronize" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "No WiFi" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "Ensure that other devices are turned on and connected to the same WiFi network" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "Mencari" + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "Sinkronisasi" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi:" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "OK" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} needs to upgrade Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "You need to upgrade Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "Really sorry about this, something unexpected went wrong, and it's our fault not yours. Try restarting the app to see if that fixes things." + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "Unexpected Error" + }, + "sharedComponents.GpsPill.noGps": { + "message": "No GPS" + }, + "sharedComponents.GpsPill.searching": { + "message": "Mencari…" + } +} diff --git a/messages/km.json b/messages/km.json new file mode 100644 index 000000000..8a24546be --- /dev/null +++ b/messages/km.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "Continue editing" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "Discard without saving" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "Discard observation?" + }, + "screens.AddPhoto.cancel": { + "message": "Cancel" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "No access to camera" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "Choose what is happening" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "Details" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "Current GPS Location" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "Last update" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "Sensor Status" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "Coordinates UTM" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "No" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "Yes" + }, + "screens.ManualGpsScreen.easting": { + "message": "East" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mE" + }, + "screens.ManualGpsScreen.northing": { + "message": "North" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mN" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "Enter coordinates" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "Zone Letter" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "Zone Number" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "Sent from Mapeo" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "Mapeo Alert" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "Delete" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "No answer" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "Observation" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "Share" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "Cancel" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "Yes, delete" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "Delete observation?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "Observation not found" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{current} of {total}" + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "Done" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "Next" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "Question {current} of {total}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "Add…" + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "Change" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "What is happening here?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "Add Details" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "Observation" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "Add Photo" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "Searching…" + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "Continue waiting" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "Manual Coords" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "This observation does not have a location. You can continue waiting for a GPS signal, save the observation without a location, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "No GPS signal" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "Save" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "GPS accuracy is low. You can continue waiting for better accuracy, save the observation with low accuracy, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "Weak GPS signal" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "Edit Observation" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "New Observation" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "Observations" + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "Observation" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "Error loading observations. Try quitting and restarting Mapeo." + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "Loading… this can take a while after synchronizing with a new device" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "Oh dear, something is broken in the Mapeo database." + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "If you continue to see this message you may need to force-restart Mapeo" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "Something is up with the Mapeo database" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "Complete" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "Error" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "Not a Mapeo client" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "Incompatible Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "Sync" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "Synced:" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "Open your phone settins and connect to a WiFi network to synchronize" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "No WiFi" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "Ensure that other devices are turned on and connected to the same WiFi network" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "Searching" + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "Synchronize" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi:" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "OK" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} needs to upgrade Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "You need to upgrade Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "Really sorry about this, something unexpected went wrong, and it's our fault not yours. Try restarting the app to see if that fixes things." + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "Unexpected Error" + }, + "sharedComponents.GpsPill.noGps": { + "message": "No GPS" + }, + "sharedComponents.GpsPill.searching": { + "message": "Searching…" + } +} diff --git a/messages/lo.json b/messages/lo.json new file mode 100644 index 000000000..8a24546be --- /dev/null +++ b/messages/lo.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "Continue editing" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "Discard without saving" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "Discard observation?" + }, + "screens.AddPhoto.cancel": { + "message": "Cancel" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "No access to camera" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "Choose what is happening" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "Details" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "Current GPS Location" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "Last update" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "Sensor Status" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "Coordinates UTM" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "No" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "Yes" + }, + "screens.ManualGpsScreen.easting": { + "message": "East" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mE" + }, + "screens.ManualGpsScreen.northing": { + "message": "North" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mN" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "Enter coordinates" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "Zone Letter" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "Zone Number" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "Sent from Mapeo" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "Mapeo Alert" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "Delete" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "No answer" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "Observation" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "Share" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "Cancel" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "Yes, delete" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "Delete observation?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "Observation not found" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{current} of {total}" + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "Done" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "Next" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "Question {current} of {total}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "Add…" + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "Change" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "What is happening here?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "Add Details" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "Observation" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "Add Photo" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "Searching…" + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "Continue waiting" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "Manual Coords" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "This observation does not have a location. You can continue waiting for a GPS signal, save the observation without a location, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "No GPS signal" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "Save" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "GPS accuracy is low. You can continue waiting for better accuracy, save the observation with low accuracy, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "Weak GPS signal" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "Edit Observation" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "New Observation" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "Observations" + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "Observation" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "Error loading observations. Try quitting and restarting Mapeo." + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "Loading… this can take a while after synchronizing with a new device" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "Oh dear, something is broken in the Mapeo database." + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "If you continue to see this message you may need to force-restart Mapeo" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "Something is up with the Mapeo database" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "Complete" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "Error" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "Not a Mapeo client" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "Incompatible Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "Sync" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "Synced:" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "Open your phone settins and connect to a WiFi network to synchronize" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "No WiFi" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "Ensure that other devices are turned on and connected to the same WiFi network" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "Searching" + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "Synchronize" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi:" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "OK" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} needs to upgrade Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "You need to upgrade Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "Really sorry about this, something unexpected went wrong, and it's our fault not yours. Try restarting the app to see if that fixes things." + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "Unexpected Error" + }, + "sharedComponents.GpsPill.noGps": { + "message": "No GPS" + }, + "sharedComponents.GpsPill.searching": { + "message": "Searching…" + } +} diff --git a/messages/ms.json b/messages/ms.json new file mode 100644 index 000000000..8a24546be --- /dev/null +++ b/messages/ms.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "Continue editing" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "Discard without saving" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "Discard observation?" + }, + "screens.AddPhoto.cancel": { + "message": "Cancel" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "No access to camera" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "Choose what is happening" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "Details" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "Current GPS Location" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "Last update" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "Sensor Status" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "Coordinates UTM" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "No" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "Yes" + }, + "screens.ManualGpsScreen.easting": { + "message": "East" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mE" + }, + "screens.ManualGpsScreen.northing": { + "message": "North" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mN" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "Enter coordinates" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "Zone Letter" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "Zone Number" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "Sent from Mapeo" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "Mapeo Alert" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "Delete" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "No answer" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "Observation" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "Share" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "Cancel" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "Yes, delete" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "Delete observation?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "Observation not found" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{current} of {total}" + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "Done" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "Next" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "Question {current} of {total}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "Add…" + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "Change" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "What is happening here?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "Add Details" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "Observation" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "Add Photo" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "Searching…" + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "Continue waiting" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "Manual Coords" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "This observation does not have a location. You can continue waiting for a GPS signal, save the observation without a location, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "No GPS signal" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "Save" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "GPS accuracy is low. You can continue waiting for better accuracy, save the observation with low accuracy, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "Weak GPS signal" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "Edit Observation" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "New Observation" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "Observations" + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "Observation" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "Error loading observations. Try quitting and restarting Mapeo." + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "Loading… this can take a while after synchronizing with a new device" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "Oh dear, something is broken in the Mapeo database." + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "If you continue to see this message you may need to force-restart Mapeo" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "Something is up with the Mapeo database" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "Complete" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "Error" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "Not a Mapeo client" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "Incompatible Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "Sync" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "Synced:" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "Open your phone settins and connect to a WiFi network to synchronize" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "No WiFi" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "Ensure that other devices are turned on and connected to the same WiFi network" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "Searching" + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "Synchronize" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi:" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "OK" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} needs to upgrade Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "You need to upgrade Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "Really sorry about this, something unexpected went wrong, and it's our fault not yours. Try restarting the app to see if that fixes things." + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "Unexpected Error" + }, + "sharedComponents.GpsPill.noGps": { + "message": "No GPS" + }, + "sharedComponents.GpsPill.searching": { + "message": "Searching…" + } +} diff --git a/messages/my.json b/messages/my.json new file mode 100644 index 000000000..8a24546be --- /dev/null +++ b/messages/my.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "Continue editing" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "Discard without saving" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "Discard observation?" + }, + "screens.AddPhoto.cancel": { + "message": "Cancel" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "No access to camera" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "Choose what is happening" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "Details" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "Current GPS Location" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "Last update" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "Sensor Status" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "Coordinates UTM" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "No" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "Yes" + }, + "screens.ManualGpsScreen.easting": { + "message": "East" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mE" + }, + "screens.ManualGpsScreen.northing": { + "message": "North" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mN" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "Enter coordinates" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "Zone Letter" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "Zone Number" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "Sent from Mapeo" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "Mapeo Alert" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "Delete" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "No answer" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "Observation" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "Share" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "Cancel" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "Yes, delete" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "Delete observation?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "Observation not found" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{current} of {total}" + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "Done" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "Next" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "Question {current} of {total}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "Add…" + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "Change" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "What is happening here?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "Add Details" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "Observation" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "Add Photo" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "Searching…" + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "Continue waiting" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "Manual Coords" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "This observation does not have a location. You can continue waiting for a GPS signal, save the observation without a location, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "No GPS signal" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "Save" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "GPS accuracy is low. You can continue waiting for better accuracy, save the observation with low accuracy, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "Weak GPS signal" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "Edit Observation" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "New Observation" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "Observations" + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "Observation" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "Error loading observations. Try quitting and restarting Mapeo." + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "Loading… this can take a while after synchronizing with a new device" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "Oh dear, something is broken in the Mapeo database." + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "If you continue to see this message you may need to force-restart Mapeo" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "Something is up with the Mapeo database" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "Complete" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "Error" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "Not a Mapeo client" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "Incompatible Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "Sync" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "Synced:" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "Open your phone settins and connect to a WiFi network to synchronize" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "No WiFi" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "Ensure that other devices are turned on and connected to the same WiFi network" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "Searching" + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "Synchronize" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi:" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "OK" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} needs to upgrade Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "You need to upgrade Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "Really sorry about this, something unexpected went wrong, and it's our fault not yours. Try restarting the app to see if that fixes things." + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "Unexpected Error" + }, + "sharedComponents.GpsPill.noGps": { + "message": "No GPS" + }, + "sharedComponents.GpsPill.searching": { + "message": "Searching…" + } +} diff --git a/messages/ne.json b/messages/ne.json new file mode 100644 index 000000000..7f850923e --- /dev/null +++ b/messages/ne.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "निरन्तर सम्पादन" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "संग्रह नगरी खारेज गर्नु" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "अवलाेकन हटाउने?" + }, + "screens.AddPhoto.cancel": { + "message": "रद्द" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "क्यामाराकाे लागि पहुँच छैन" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "के भइ रहेकाे छ छान्नुहाेस" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "विवरणहरू" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "हालकाे GPS ठेगाना" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "पछिल्लाे अपडेट" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "सेन्सरकाे अवस्था" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "UTM निर्देश" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "हाेइन" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "हाे" + }, + "screens.ManualGpsScreen.easting": { + "message": "पुर्व" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mE" + }, + "screens.ManualGpsScreen.northing": { + "message": "उत्तर" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mN" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "निर्देश भित्र प्रवेश" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "क्षेत्र पत्र" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "जाेन नम्बर" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "Mapeo बाट पठाएकाे" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "Mapeo चेतावनी" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "मेटाउने" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "उत्तर छैन" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "अवलाेकन" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "साझा गरियो" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "रद्द" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "हुन्छ, मेट्नु" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "अवलाेकन हटाउने?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "अवलाेकन भेटिएन" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{हाल} मा {जम्मा}" + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "भयाे" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "अर्काे" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "प्रश्न {हाल} मा {जम्मा}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "थप…" + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "परिवर्तन" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "यहाँ के भइ राखेकाे छ?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "विवरण थप्नु" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "अवलाेकन" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "फाेटाे थप्नु" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "खाेजी जारी …" + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "पर्खाइ निरन्तर" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "म्यानुअल काेर्डस्" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "याे अवलाेकनकाे लाेकेसन छैन । तपाइले GPS संकेत निरन्तर कुर्न सक्नु हुनेछ, अवलाेकनलाइ लाेकेसन बेगर संग्रह गर्न सक्नुहुन्छ, वा निर्देशलाइ अाफैले राख्नु" + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "GPS संकेत छैन" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "संग्रह" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "GPS यथार्थता न्यून छ, दुरूस्त GPS काे लागि कुर्न सक्नु हुन्छ, न्यून GPS यथार्थतामा संग्रह गर्न सक्नु हुन्छ, वा अाफैले निर्देश गर्न सक्नुहुन्छ" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "कमजाेर GPS संकेत" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "अवलाेकन सम्पादन" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "नया अवलाेकन" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "अवलाेकनहरू" + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "अवलाेकन" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "अवलाेकन लाेड गर्नमा समस्या । Mapeo बाट बाहिरिने र पुन शुरू गर्ने." + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "लाेड हुँदै... नयाँ उपकरणसँग सिंक्राेनाइज हुन केहि समय लाग्न सक्छ" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "याे एपलाइ बलपूवर्क शुरू गर्न काेशिस सक्नुहुन्छ, तर त्यहाँ केहि मिलाउनु पर्ने हुन सक्दछ । यसकाे लागि माफ गर्नुहाेस, एप बनाउन गाह्राे छ" + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "ओह प्रिय, Mapeo डेटाबेसमा केहि समस्या भयाे जस्ताे छ।" + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "यदि यहि सन्देश देखी रहनु भएमा Mapeo लाई बलपूर्वक शुरू गर्नु हाेला" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "Mapeo डाटावेसकाे साथ केहि छ" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "सम्पन्न" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "समस्या" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "Not a Mapeo client" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "Incompatible Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "समिकरण" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "समिकरण" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "फाेनकाे सेटिङमा जानु र सिङ्क्राेनाइकाे लागि WiFi नेटवर्कमा जाेडिनु" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "WiFi छैन" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "अरू उपकरणहरू सकृय भएकाे र उहि WiFi नेटवर्कमा जाेडिएकाे निश्चत गर्नुहाेस" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "खाेजी जारी " + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "सिंक्राेनाइज" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "OK" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} needs to upgrade Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "You need to upgrade Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "यसकाे लागि माफ गर्नुहाेस, केहि नसाेचेकाे गलत हुन गयाे, र याे तपाईकाे हाेइन हाम्राे गल्ति हाे । याे app शुरू गर्ने काेशिस गर्नु यदि अन्य कुरा ठीक भएमा" + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "नसाेचेकाे समस्या" + }, + "sharedComponents.GpsPill.noGps": { + "message": "GPS छैन" + }, + "sharedComponents.GpsPill.searching": { + "message": "खाेजी जारी …" + } +} diff --git a/messages/pt.json b/messages/pt.json index 8ff53105f..8a24546be 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -226,19 +226,19 @@ }, "screens.Settings.currentConfig": { "description": "Label for name & version of current configuration", - "message": "" + "message": "Current Configuration" }, "screens.Settings.projectKey": { "description": "Label for project key", - "message": "" + "message": "Project Key" }, "screens.Settings.title": { "description": "Title of settings screen", - "message": "" + "message": "Settings" }, "screens.Settings.unnamedConfig": { "description": "Config name when do name is defined", - "message": "" + "message": "Un-named" }, "screens.SyncModal.PeerList.completeButton": { "description": "Button label when complete", @@ -250,11 +250,11 @@ }, "screens.SyncModal.PeerList.errorClientMismatch": { "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", - "message": "" + "message": "Not a Mapeo client" }, "screens.SyncModal.PeerList.errorTheyNeedUgrade": { "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", - "message": "" + "message": "Incompatible Mapeo" }, "screens.SyncModal.PeerList.syncButton": { "description": "Button label for sync button", @@ -274,7 +274,7 @@ }, "screens.SyncModal.SyncView.projectKey": { "description": "First 5 characters of project key displayed on sync screen", - "message": "" + "message": "Project Key: {projectKey}" }, "screens.SyncModal.SyncView.searchingDesc": { "description": "Description shown whilst searcing for sync peers", @@ -286,7 +286,7 @@ }, "screens.SyncModal.SyncView.settingsButton": { "description": "Button to open WiFi settings", - "message": "" + "message": "Open Settings" }, "screens.SyncModal.SyncView.syncHeader": { "description": "Header of sync screen", @@ -298,23 +298,23 @@ }, "screens.SyncModal.errorDialogOk": { "description": "Button to dismiss error alert about incompatible sync protocol", - "message": "" + "message": "OK" }, "screens.SyncModal.errorVersionThemBadDesc": { "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", - "message": "" + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." }, "screens.SyncModal.errorVersionThemBadTitle": { "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", - "message": "" + "message": "{deviceName} needs to upgrade Mapeo" }, "screens.SyncModal.errorVersionUsBadDesc": { "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", - "message": "" + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." }, "screens.SyncModal.errorVersionUsBadTitle": { "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", - "message": "" + "message": "You need to upgrade Mapeo" }, "screens.UncaughtError.errorDesc": { "description": "Description when there is an uncaught message in the app", diff --git a/messages/th.json b/messages/th.json new file mode 100644 index 000000000..ec02c6809 --- /dev/null +++ b/messages/th.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "ทำการแก้ไขต่อ" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "ยกเลิกโดยไม่บันทึก" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "ยืนยันการยกเลิก?" + }, + "screens.AddPhoto.cancel": { + "message": "ยกเลิก" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "ไม่สามารถเชื่อมต่อกล้องได้" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "เลือกสิ่งที่เกิดขึ้น" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "รายละเอียด" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "ตำแหน่ง GPS ปัจจุบัน" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "ปรับปรุงล่าสุด" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "สถานะเซ็นเซอร์" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "พิกัด:" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "ไม่ใช่" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "ใช่" + }, + "screens.ManualGpsScreen.easting": { + "message": "ตะวันออก" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mE" + }, + "screens.ManualGpsScreen.northing": { + "message": "เหนือ" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mN" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "ป้อนพิกัด" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "โซนตัวอักษร" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "โซนตัวเลข" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "ส่งจาก Mapeo" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "แจ้งเตือนจาก Mapeo" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "ลบ" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "ไม่มีการตอบรับ" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "ข้อสังเกต" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "แชร์" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "ยกเลิก" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "ใช่ ลบได้" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "ยืนยันให้ลบข้อสังเกตนี้หรือไม่?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "ไม่พบข้อสังเกต" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{current} ใน {total}" + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "เสร็จสิ้น" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "ถัดไป" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "คำถาม {current} ใน {total}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "เพิ่มเติม..." + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "แก้ไข" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "เกิดอะไรขึ้นที่นี่?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "เพิ่มรายละเอียด" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "ข้อสังเกต" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "เพิ่มรูปภาพ" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "กำลัง​ค้น​หา..." + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "กำลังรอ" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "ป้อนพิกัดด้วยตัวเอง" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "ข้อสังเกตนี้ไม่ปรากฎสถานที่ กรุณารอสัญญาณ GPS สักครู่ บันทึกข้อสังเกต โดยป้อนพิกัดด้วยตัวเอง " + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "ไม่มีสัญญาณ GPS" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "บันทึก" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "ความแม่นยำของ GPS ต่ำ กรุณารอสักพักเพื่อความแม่นยำของสัญญาณ กรุณาบันทึกข้อสังเกต หรือป้อนพิกัดด้วยตัวเอง" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "สัญญาณ GPS อ่อน" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "แก้ไขข้อสังเกต" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "ข้อสังเกตใหม่" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "ข้อสังเกตต่าง ๆ " + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "ข้อสังเกต" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "การแสดงผลไม่สำเร็จ ลองปิด-เปิด Mapeo อีกครั้ง" + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "กำลังโหลดข้อมูล... การเชื่อมต่อกับอุปกรณ์ใหม่จะใช้เวลาสักครู่" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "ลองปิด-เปิดแอพฯ อีกครั้ง ขออภัยในความไม่สะดวก ทางเรากำลังปรับปรุงการทำงานของแอพฯ ให้ดียิ่งขึ้น" + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "ขออภัยในความไม่สะดวก การเชื่อมต่อฐานข้อมูล Mapeo ไม่เสถียร" + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "ถ้าคุณได้รับข้อความนี้ กรุณาปิดและเปิด Mapeo อีกครั้ง" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "กำลังเชื่อมต่อกับฐานข้อมูล Mapeo" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "เสร็จสมบูรณ์" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "ผิดพลาด" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "ไม่พบเครื่องลูกข่าย Mapeo" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "ไม่รองรับการทำงานรวมกับ Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "เชื่อมต่อข้อมูล" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "เชื่อมต่อข้อมูลแล้ว:" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "เลือกการตั้งค่าในโทรศัพท์ของคุณเพื่อเชื่อมต่อเครือข่าย WiFi ​และโอนข้อมูล" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "ไม่มีสัญญาณ WiFi" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "รหัสโครงการ: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "ให้มั่นใจว่าอุปกรณ์เปิดอยู่และเชื่อมต่อภายใต้เครือข่าย WiFi เดียวกัน" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "กำลังค้นหา" + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "เปิดการตั้งค่า" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "เชื่อมโยงข้อมูลให้ตรงกัน" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi:" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "ตกลง" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "อุปกรณ์ที่กำลังเชื่อมต่อจำเป็นต้องอัพเกรดให้เป็นเวอร์ชันล่าสุดก่อน" + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} จำเป็นต้องอัพเกรด Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "อุปกรณ์ที่กำลังเชื่อมต่อจำเป็นต้องติดตั้ง Mapeo เวอร์ชันใหม่ก่อน" + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "คุณจำเป็นต้องอัพเกรด Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "ขออภัย... ระบบขัดข้อง กรุณาทดลองปิดและเปิดแอพพลิเคชันใหม่เพื่อดูว่าระบบใช้ได้เป็นปกติหรือไม่" + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "ผิดพลาดอย่างไม่คาดคิด" + }, + "sharedComponents.GpsPill.noGps": { + "message": "ไม่มีสัญญาณ GPS" + }, + "sharedComponents.GpsPill.searching": { + "message": "กำลัง​ค้น​หา..." + } +} diff --git a/messages/vi.json b/messages/vi.json new file mode 100644 index 000000000..8a24546be --- /dev/null +++ b/messages/vi.json @@ -0,0 +1,333 @@ +{ + "AppContainer.EditHeader.discardCancel": { + "description": "Button on dialog to keep editing (cancelling close action)", + "message": "Continue editing" + }, + "AppContainer.EditHeader.discardContent": { + "description": "Button on dialog to close without saving", + "message": "Discard without saving" + }, + "AppContainer.EditHeader.discardTitle": { + "description": "Title of dialog that shows when closing an observation without saving", + "message": "Discard observation?" + }, + "screens.AddPhoto.cancel": { + "message": "Cancel" + }, + "screens.CameraScreen.noCameraAccess": { + "description": "Error message shown when app does not have permissions to camera", + "message": "No access to camera" + }, + "screens.CategoryChooser.categoryTitle": { + "description": "Title for category chooser screen", + "message": "Choose what is happening" + }, + "screens.GpsModal.details": { + "description": "Section title for details about current position", + "message": "Details" + }, + "screens.GpsModal.gpsHeader": { + "description": "Header for GPS screen", + "message": "Current GPS Location" + }, + "screens.GpsModal.lastUpdate": { + "description": "Section title for time of last GPS update", + "message": "Last update" + }, + "screens.GpsModal.locationSensors": { + "description": "Heading for section about location sensor status", + "message": "Sensor Status" + }, + "screens.GpsModal.locationUTM": { + "description": "Section title for UTM coordinates", + "message": "Coordinates UTM" + }, + "screens.GpsModal.no": { + "description": "if a location sensor is active yes/no", + "message": "No" + }, + "screens.GpsModal.yes": { + "description": "if a location sensor is active yes/no", + "message": "Yes" + }, + "screens.ManualGpsScreen.easting": { + "message": "East" + }, + "screens.ManualGpsScreen.eastingSuffix": { + "message": "mE" + }, + "screens.ManualGpsScreen.northing": { + "message": "North" + }, + "screens.ManualGpsScreen.northingSuffix": { + "message": "mN" + }, + "screens.ManualGpsScreen.title": { + "description": "title of manual GPS screen", + "message": "Enter coordinates" + }, + "screens.ManualGpsScreen.zoneLetter": { + "message": "Zone Letter" + }, + "screens.ManualGpsScreen.zoneNumber": { + "message": "Zone Number" + }, + "screens.Observation.ObservationView.alertFooter": { + "description": "Footer for shared observations message", + "message": "Sent from Mapeo" + }, + "screens.Observation.ObservationView.alertSubject": { + "description": "Subject-line for shared observations", + "message": "Mapeo Alert" + }, + "screens.Observation.ObservationView.delete": { + "description": "Button to delete an observation", + "message": "Delete" + }, + "screens.Observation.ObservationView.noAnswer": { + "description": "Placeholder text for fields on an observation which are not answered", + "message": "No answer" + }, + "screens.Observation.ObservationView.observation": { + "description": "Default name of observation with no matching preset", + "message": "Observation" + }, + "screens.Observation.ObservationView.share": { + "description": "Button to share an observation", + "message": "Share" + }, + "screens.Observation.cancel": { + "description": "Button to cancel delete of observation", + "message": "Cancel" + }, + "screens.Observation.confirm": { + "description": "Button to confirm delete of observation", + "message": "Yes, delete" + }, + "screens.Observation.deleteTitle": { + "description": "Title of dialog asking confirmation to delete an observation", + "message": "Delete observation?" + }, + "screens.Observation.notFound": { + "description": "Message shown when an observation is not found", + "message": "Observation not found" + }, + "screens.ObservationDetails.QuestionNavBar.questionPage": { + "description": "Indicates which question we are on and total questions", + "message": "{current} of {total}" + }, + "screens.ObservationDetails.done": { + "description": "Button text when all questions are complete", + "message": "Done" + }, + "screens.ObservationDetails.nextQuestion": { + "description": "Button text to navigate to next question", + "message": "Next" + }, + "screens.ObservationDetails.title": { + "description": "Title of observation details screen showing question number and total", + "message": "Question {current} of {total}" + }, + "screens.ObservationEdit.BottomSheet.addLabel": { + "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", + "message": "Add…" + }, + "screens.ObservationEdit.ObservationEditView.changePreset": { + "description": "Button to change a category / preset", + "message": "Change" + }, + "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { + "description": "Placeholder for description/notes field", + "message": "What is happening here?" + }, + "screens.ObservationEdit.ObservationEditView.detailsButton": { + "description": "Button label to add details", + "message": "Add Details" + }, + "screens.ObservationEdit.ObservationEditView.observation": { + "description": "Name of observation when no preset matches", + "message": "Observation" + }, + "screens.ObservationEdit.ObservationEditView.photoButton": { + "description": "Button label for adding photo", + "message": "Add Photo" + }, + "screens.ObservationEdit.ObservationEditView.searching": { + "description": "Shown in new observation screen whilst looking for GPS", + "message": "Searching…" + }, + "screens.ObservationEdit.SaveButton.keepWaiting": { + "description": "Button to cancel save and continue waiting for GPS", + "message": "Continue waiting" + }, + "screens.ObservationEdit.SaveButton.manualEntry": { + "description": "Button to manually enter GPS coordinates", + "message": "Manual Coords" + }, + "screens.ObservationEdit.SaveButton.noGpsDesc": { + "description": "Description in dialog when trying to save with no GPS coords", + "message": "This observation does not have a location. You can continue waiting for a GPS signal, save the observation without a location, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.noGpsTitle": { + "description": "Title of dialog when trying to save with no GPS coords", + "message": "No GPS signal" + }, + "screens.ObservationEdit.SaveButton.saveAnyway": { + "description": "Button to save regardless of GPS state", + "message": "Save" + }, + "screens.ObservationEdit.SaveButton.weakGpsDesc": { + "description": "Description in dialog when trying to save with low GPS accuracy.", + "message": "GPS accuracy is low. You can continue waiting for better accuracy, save the observation with low accuracy, or enter coordinates manually" + }, + "screens.ObservationEdit.SaveButton.weakGpsTitle": { + "description": "Title of dialog when trying to save with low GPS accuracy.", + "message": "Weak GPS signal" + }, + "screens.ObservationEdit.editTitle": { + "description": "screen title for edit observation screen", + "message": "Edit Observation" + }, + "screens.ObservationEdit.newTitle": { + "description": "screen title for new observation screen", + "message": "New Observation" + }, + "screens.ObservationList.observationListTitle": { + "description": "Title of screen with list of observations", + "message": "Observations" + }, + "screens.ObservationsList.ObservationListItem.defaultObservationName": { + "description": "Default name for an observation that does not match a preset", + "message": "Observation" + }, + "screens.ObservationsList.error": { + "description": "message shown when there is an unexpected error when loading observations", + "message": "Error loading observations. Try quitting and restarting Mapeo." + }, + "screens.ObservationsList.loading": { + "description": "message shown whilst observations are loading", + "message": "Loading… this can take a while after synchronizing with a new device" + }, + "screens.ServerStatus.errorDesc": { + "description": "Description when there the Mapeo Core server crashes", + "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." + }, + "screens.ServerStatus.errorTitle": { + "description": "Title of message when there the Mapeo Core server crashes", + "message": "Oh dear, something is broken in the Mapeo database." + }, + "screens.ServerStatus.timeoutDesc": { + "description": "Description when the server has not responded for 10 seconds", + "message": "If you continue to see this message you may need to force-restart Mapeo" + }, + "screens.ServerStatus.timeoutTitle": { + "description": "Title of message when the server has not responded for 10 seconds", + "message": "Something is up with the Mapeo database" + }, + "screens.Settings.currentConfig": { + "description": "Label for name & version of current configuration", + "message": "Current Configuration" + }, + "screens.Settings.projectKey": { + "description": "Label for project key", + "message": "Project Key" + }, + "screens.Settings.title": { + "description": "Title of settings screen", + "message": "Settings" + }, + "screens.Settings.unnamedConfig": { + "description": "Config name when do name is defined", + "message": "Un-named" + }, + "screens.SyncModal.PeerList.completeButton": { + "description": "Button label when complete", + "message": "Complete" + }, + "screens.SyncModal.PeerList.errorButton": { + "description": "Button label when there is an error", + "message": "Error" + }, + "screens.SyncModal.PeerList.errorClientMismatch": { + "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", + "message": "Not a Mapeo client" + }, + "screens.SyncModal.PeerList.errorTheyNeedUgrade": { + "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", + "message": "Incompatible Mapeo" + }, + "screens.SyncModal.PeerList.syncButton": { + "description": "Button label for sync button", + "message": "Sync" + }, + "screens.SyncModal.PeerList.syncLabel": { + "description": "Label for last sync datetime", + "message": "Synced:" + }, + "screens.SyncModal.SyncView.noWifiDesc": { + "description": "Description shown when no wifi network", + "message": "Open your phone settins and connect to a WiFi network to synchronize" + }, + "screens.SyncModal.SyncView.noWifiTitle": { + "description": "Title of message shown when no wifi network", + "message": "No WiFi" + }, + "screens.SyncModal.SyncView.projectKey": { + "description": "First 5 characters of project key displayed on sync screen", + "message": "Project Key: {projectKey}" + }, + "screens.SyncModal.SyncView.searchingDesc": { + "description": "Description shown whilst searcing for sync peers", + "message": "Ensure that other devices are turned on and connected to the same WiFi network" + }, + "screens.SyncModal.SyncView.searchingTitle": { + "description": "Title of message shown while looking for sync peers", + "message": "Searching" + }, + "screens.SyncModal.SyncView.settingsButton": { + "description": "Button to open WiFi settings", + "message": "Open Settings" + }, + "screens.SyncModal.SyncView.syncHeader": { + "description": "Header of sync screen", + "message": "Synchronize" + }, + "screens.SyncModal.SyncView.wifi": { + "description": "Label for wifi network name", + "message": "WiFi:" + }, + "screens.SyncModal.errorDialogOk": { + "description": "Button to dismiss error alert about incompatible sync protocol", + "message": "OK" + }, + "screens.SyncModal.errorVersionThemBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + }, + "screens.SyncModal.errorVersionThemBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", + "message": "{deviceName} needs to upgrade Mapeo" + }, + "screens.SyncModal.errorVersionUsBadDesc": { + "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + }, + "screens.SyncModal.errorVersionUsBadTitle": { + "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", + "message": "You need to upgrade Mapeo" + }, + "screens.UncaughtError.errorDesc": { + "description": "Description when there is an uncaught message in the app", + "message": "Really sorry about this, something unexpected went wrong, and it's our fault not yours. Try restarting the app to see if that fixes things." + }, + "screens.UncaughtError.errorTitle": { + "description": "Title of message when there is an uncaught message in the app", + "message": "Unexpected Error" + }, + "sharedComponents.GpsPill.noGps": { + "message": "No GPS" + }, + "sharedComponents.GpsPill.searching": { + "message": "Searching…" + } +} From 06887d02941cb506439940f1f729cb8250065e15 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 5 Feb 2020 12:47:09 +0000 Subject: [PATCH 019/116] fix: Fix crash when presets have empty placeholder field --- src/frontend/screens/ObservationDetails/QuestionLabel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/screens/ObservationDetails/QuestionLabel.js b/src/frontend/screens/ObservationDetails/QuestionLabel.js index 0db1495b4..214b66865 100644 --- a/src/frontend/screens/ObservationDetails/QuestionLabel.js +++ b/src/frontend/screens/ObservationDetails/QuestionLabel.js @@ -10,7 +10,7 @@ type Props = {| const QuestionLabel = ({ label, hint }: Props) => ( {label} - {hint && {hint}} + {hint ? {hint} : null} ); From f3d487bfcc77a77ec538ab31488b9e8e8c69f548 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 5 Feb 2020 12:49:05 +0000 Subject: [PATCH 020/116] feat: Add settings screen to change language (independent of device language) (#302) * Abstract persisted state to a custom hook * Add context for user-selected locale * Change to list-based settings screen * Add language settings screen * move settings icon onto observationList screen * Extract translatable strings * Only extract `en` messages - crowdin will deal with the rest * Make language screen scrollable * Sort languages by english name * Include English name in language list * add dense list settings for formatting settings selectone field * fix: add react-native-screens --- android/app/build.gradle | 4 + messages/en.json | 24 + messages/es.json | 24 + messages/fr.json | 24 + messages/pt.json | 24 + package.json | 3 +- src/frontend/App.js | 78 +- src/frontend/AppContainer.js | 7 +- .../context/DraftObservationContext.js | 68 +- src/frontend/context/IntlContext.js | 114 +++ src/frontend/hooks/usePersistedState.js | 58 ++ src/frontend/languages.json | 854 ++++++++++++++++++ .../screens/ObservationsList/index.js | 15 +- .../screens/Settings/LanguageSettings.js | 48 + .../ProjectConfig.js} | 24 +- src/frontend/screens/Settings/SelectOne.js | 40 + src/frontend/screens/Settings/Settings.js | 73 ++ src/frontend/screens/Settings/index.js | 2 + src/frontend/screens/SyncModal/index.js | 15 +- src/frontend/sharedComponents/List/List.js | 75 ++ .../sharedComponents/List/ListContext.js | 9 + .../sharedComponents/List/ListItem.js | 122 +++ .../sharedComponents/List/ListItemIcon.js | 34 + .../sharedComponents/List/ListItemText.js | 70 ++ src/frontend/sharedComponents/List/index.js | 4 + 25 files changed, 1680 insertions(+), 133 deletions(-) create mode 100644 src/frontend/context/IntlContext.js create mode 100644 src/frontend/hooks/usePersistedState.js create mode 100644 src/frontend/languages.json create mode 100644 src/frontend/screens/Settings/LanguageSettings.js rename src/frontend/screens/{Settings.js => Settings/ProjectConfig.js} (88%) create mode 100644 src/frontend/screens/Settings/SelectOne.js create mode 100644 src/frontend/screens/Settings/Settings.js create mode 100644 src/frontend/screens/Settings/index.js create mode 100644 src/frontend/sharedComponents/List/List.js create mode 100644 src/frontend/sharedComponents/List/ListContext.js create mode 100644 src/frontend/sharedComponents/List/ListItem.js create mode 100644 src/frontend/sharedComponents/List/ListItemIcon.js create mode 100644 src/frontend/sharedComponents/List/ListItemText.js create mode 100644 src/frontend/sharedComponents/List/index.js diff --git a/android/app/build.gradle b/android/app/build.gradle index 25926f581..3ceece609 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -250,6 +250,10 @@ dependencies { } else { implementation jscFlavor } + + implementation 'androidx.appcompat:appcompat:1.1.0-rc01' + implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02' + // Detox // androidTestImplementation(project(path: ":detox")) // androidTestImplementation 'junit:junit:4.12' diff --git a/messages/en.json b/messages/en.json index 8a24546be..fd1238865 100644 --- a/messages/en.json +++ b/messages/en.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Yes" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "East" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/es.json b/messages/es.json index 352c329ec..bf41cd58d 100644 --- a/messages/es.json +++ b/messages/es.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Sí" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "" + }, "screens.ManualGpsScreen.easting": { "message": "Este" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Cargando… esto puede tomar un tiempo después de sincronizar con un nuevo dispositivo" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "Disculpas, hay un problema con Mapeo. Puedes reiniciar Mapeo, pero si sigue este mensaje hay un problema inesperado y necesitas un actualización de Mapeo." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Configuración Actual" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Clave del proyecto" diff --git a/messages/fr.json b/messages/fr.json index 8a24546be..dfdb3e8e7 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Yes" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "" + }, "screens.ManualGpsScreen.easting": { "message": "East" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/pt.json b/messages/pt.json index 8a24546be..dfdb3e8e7 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Yes" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "" + }, "screens.ManualGpsScreen.easting": { "message": "East" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/package.json b/package.json index f55061a8d..f2f40231c 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "upload-sourcemaps:release:android": "./scripts/upload-sourcemaps-release-android.sh", "postinstall": "patch-package && jetify", "jetify": "jetify", - "extract-messages": "extract-messages --locales=es,en,pt,fr --output messages --descriptions 'src/frontend/**/*.js'" + "extract-messages": "extract-messages --locales=en --output messages --descriptions 'src/frontend/**/*.js'" }, "husky": { "hooks": { @@ -73,6 +73,7 @@ "react-native-network-info": "^5", "react-native-progress": "4.0.1", "react-native-reanimated": "^1.3.0", + "react-native-screens": "^2.0.0-alpha.32", "react-native-share": "^2.0.0", "react-native-splash-screen": "^3.2.0", "react-native-tab-view": "^2.10.0", diff --git a/src/frontend/App.js b/src/frontend/App.js index 5b8178b33..d296bb075 100644 --- a/src/frontend/App.js +++ b/src/frontend/App.js @@ -1,21 +1,18 @@ /* global __DEV__ */ // @flow import * as React from "react"; -import { Platform, YellowBox } from "react-native"; +import { YellowBox } from "react-native"; import debug from "debug"; import SplashScreen from "react-native-splash-screen"; import AsyncStorage from "@react-native-community/async-storage"; -import { IntlProvider } from "react-intl"; -import { useAppState } from "react-native-hooks"; -import * as Localization from "expo-localization"; import ErrorScreen from "./screens/UncaughtError"; import AppLoading from "./AppLoading"; import AppContainer from "./AppContainer"; import { PermissionsProvider } from "./context/PermissionsContext"; +import { IntlProvider } from "./context/IntlContext"; import AppProvider from "./context/AppProvider"; import bugsnag from "./lib/logger"; -import messages from "../../translations/messages.json"; // Turn off warnings about require cycles YellowBox.ignoreWarnings(["Require cycle:"]); @@ -93,60 +90,25 @@ class ErrorBoundary extends React.Component< } } -const formats = { - date: { - long: { - day: "numeric", - month: "short", - year: "numeric", - hour: "2-digit", - minute: "2-digit" - } - } -}; - -const App = () => { - const [locale, setLocale] = React.useState(Localization.locale || "en"); - const appState = useAppState(); - - React.useEffect(() => { - // Localization only changes in Android (in iOS the app is restarted) and - // will only happen when the app comes back into the foreground - if (Platform.OS !== "android" || appState !== "active") return; - Localization.getLocalizationAsync() - .then(({ locale }) => setLocale(locale || "en")) - .catch(() => {}); - }, [appState]); - - // Add fallbacks for non-regional locales - const localeMessages = { - ...messages[locale.split("-")[0]], - ...(messages[locale] || {}) - }; - - return ( - console.warn(e)}> - - {/* Permissions provider must be before AppLoading because it waits for +/* IntlProvider needs to be first so that error messages are translated */ +const App = () => ( + + + {/* Permissions provider must be before AppLoading because it waits for permissions before showing main app screen */} - - - - - - - - - - ); -}; + + + + + + + + + +); export default App; diff --git a/src/frontend/AppContainer.js b/src/frontend/AppContainer.js index 775958fbd..fd1d991b0 100644 --- a/src/frontend/AppContainer.js +++ b/src/frontend/AppContainer.js @@ -5,6 +5,7 @@ import { createAppContainer, createBottomTabNavigator } from "react-navigation"; +import MaterialIcons from "react-native-vector-icons/MaterialIcons"; import MapScreen from "./screens/MapScreen"; import CameraScreen from "./screens/CameraScreen"; @@ -20,8 +21,8 @@ import Settings from "./screens/Settings"; import PhotosModal from "./screens/PhotosModal"; import ManualGpsScreen from "./screens/ManualGpsScreen"; import CustomHeaderLeft from "./sharedComponents/CustomHeaderLeft"; - -import MaterialIcons from "react-native-vector-icons/MaterialIcons"; +import ProjectConfig from "./screens/Settings/ProjectConfig"; +import LanguageSettings from "./screens/Settings/LanguageSettings"; const HomeTabs = createBottomTabNavigator( { @@ -57,6 +58,8 @@ const RootStack = createStackNavigator( GpsModal: GpsModal, SyncModal: SyncModal, Settings: Settings, + ProjectConfig: ProjectConfig, + LanguageSettings, PhotosModal: PhotosModal, CategoryChooser: CategoryChooser, AddPhoto: AddPhoto, diff --git a/src/frontend/context/DraftObservationContext.js b/src/frontend/context/DraftObservationContext.js index 4b980d1d2..1acdac3e2 100644 --- a/src/frontend/context/DraftObservationContext.js +++ b/src/frontend/context/DraftObservationContext.js @@ -1,7 +1,7 @@ // @flow import * as React from "react"; -import debug from "debug"; -import AsyncStorage from "@react-native-community/async-storage"; + +import createPersistedState from "../hooks/usePersistedState"; import type { UseState } from "../types"; import type { ObservationValue } from "./ObservationsContext"; @@ -9,8 +9,6 @@ import type { ObservationValue } from "./ObservationsContext"; // WARNING: This needs to change if we change the draft data structure const STORE_KEY = "@MapeoDraft@2"; -const log = debug("mapeo:DraftObservationContext"); - // save = debounce(this.save, 500, { leading: true }); // Photo from an existing observation that are already saved @@ -57,6 +55,17 @@ export type DraftObservationContextState = {| observationId?: string |}; +const usePersistedState = createPersistedState( + STORE_KEY, + // Don't store photoPromises in persisted storage + // Filter out photos that didn't finish capturing (they are lost) + { + stringify: ({ photoPromises, photos, ...rest }) => + JSON.stringify({ photos: photos.filter(filterCapturedPhotos), ...rest }), + parse: json => ({ photoPromises: [], ...JSON.parse(json) }) + } +); + export type DraftObservationContextType = UseState; const defaultContext: DraftObservationContextType = [ @@ -77,50 +86,19 @@ type Props = { }; export const DraftObservationProvider = ({ children }: Props) => { - const [state, setState] = React.useState(defaultContext[0]); - const [loading, setLoading] = React.useState(true); - const contextValue = React.useMemo(() => [state, setState], [state]); - - // When the app first mounts, load draft from storage - React.useEffect(() => { - let didCancel = false; - AsyncStorage.getItem(STORE_KEY) - .then(savedDraft => { - if (didCancel) return; - if (savedDraft == null) return setLoading(false); - const { photos, value, observationId } = JSON.parse(savedDraft); - setLoading(false); - setState({ - photoPromises: [], - photos: photos.filter(filterCapturedPhotos), - value, - observationId - }); - }) - .catch(e => { - log("Error reading draft from storage", e); - setLoading(false); - }); - return () => { - didCancel = true; - }; - }, []); - - // Save draft to local storage on every update - // TODO: Debounce this for perf when typing fast - React.useEffect(() => { - const { photos, value, observationId } = state; - AsyncStorage.setItem( - STORE_KEY, - JSON.stringify({ photos, value, observationId }) - ).catch(e => { - log("Error writing to storage", e); - }); - }); + const [ + state, + status, + setState + ] = usePersistedState(defaultContext[0]); + const contextValue = React.useMemo(() => [state, setState], [ + state, + setState + ]); return ( - {loading ? null : children} + {status === "loading" ? null : children} ); }; diff --git a/src/frontend/context/IntlContext.js b/src/frontend/context/IntlContext.js new file mode 100644 index 000000000..905532168 --- /dev/null +++ b/src/frontend/context/IntlContext.js @@ -0,0 +1,114 @@ +// @flow +import * as React from "react"; +import { Platform } from "react-native"; +import { IntlProvider as IntlProviderOrig } from "react-intl"; +import * as Localization from "expo-localization"; +import { useAppState } from "react-native-hooks"; + +import createPersistedState from "../hooks/usePersistedState"; +import messages from "../../../translations/messages.json"; +import languages from "../languages.json"; + +// WARNING: This needs to change if we change the type of locale +const STORE_KEY = "@MapeoLocale@1"; + +const formats = { + date: { + long: { + day: "numeric", + month: "short", + year: "numeric", + hour: "2-digit", + minute: "2-digit" + } + } +}; + +type SupportedLanguages = Array<{| + locale: string, + nativeName: string, + englishName: string +|}>; + +export const supportedLanguages: SupportedLanguages = Object.keys(messages) + .filter(locale => languages[locale]) + .map(locale => ({ + locale, + ...languages[locale] + })) + .sort((a, b) => { + return a.englishName.localeCompare(b.englishName); + }); + +const usePersistedState = createPersistedState(STORE_KEY); + +type IntlContextType = [string, (locale: string) => void]; + +const IntlContext = React.createContext(["en", () => {}]); + +export const IntlProvider = ({ children }: { children: React.Node }) => { + const [appLocale, persistStatus, setLocale] = usePersistedState(null); + const appState = useAppState(); + + React.useEffect(() => { + // Localization only changes in Android (in iOS the app is restarted) and + // will only happen when the app comes back into the foreground + if (Platform.OS !== "android" || appState !== "active") return; + // Wait for use defined locale to load first + if (persistStatus === "loading") return; + // If the user has selected an app locale, ignore device locale + if (appLocale) return; + + Localization.getLocalizationAsync() + .then(({ locale: deviceLocale }) => { + if (appLocale) return; + setLocale(getSupportedLocale(deviceLocale) || null); + }) + .catch(() => {}); + }, [appLocale, appState, setLocale, persistStatus]); + + // Prefer user selected locale, fallback to device locale, then to "en" + const locale = appLocale || getSupportedLocale(Localization.locale) || "en"; + + // Add fallbacks for non-regional locales (e.g. "en" for "en-GB") + const localeMessages = { + ...messages[locale.split("-")[0]], + ...(messages[locale] || {}) + }; + + const contextValue = React.useMemo(() => [locale, setLocale], [ + locale, + setLocale + ]); + + return persistStatus === "loading" ? null : ( + + + {children} + + + ); +}; + +export default IntlContext; + +function onError(e) { + console.warn(e); +} + +// Device locale can be regional e.g. `en-US` but we might only have +// translations for `en`. If we don't have translations for a given device +// language, then we ignore it and fallback to `en` or the user selected +// language for the app +function getSupportedLocale(locale) { + if (typeof locale !== "string") return; + if (supportedLanguages.find(lang => lang.locale === locale)) return locale; + const nonRegionalLocale = locale.split("-")[0]; + if (supportedLanguages.find(({ locale }) => locale === nonRegionalLocale)) + return nonRegionalLocale; +} diff --git a/src/frontend/hooks/usePersistedState.js b/src/frontend/hooks/usePersistedState.js new file mode 100644 index 000000000..826598f93 --- /dev/null +++ b/src/frontend/hooks/usePersistedState.js @@ -0,0 +1,58 @@ +// @flow +import React from "react"; +import AsyncStorage from "@react-native-community/async-storage"; +import debug from "debug"; + +const log = debug("mapeo:DraftObservationContext"); + +type Status = "idle" | "loading"; +type Opts = { + stringify: any => string, + parse: string => any +}; + +export default function createPersistedState( + key: string, + { stringify = JSON.stringify, parse = JSON.parse }: Opts = {} +) { + if (typeof key !== "string") throw new Error("Key must be a string"); + + return function usePersistedState( + initialValue: S + ): [S, Status, ((S => S) | S) => void] { + const [state, setState] = React.useState(initialValue); + const [cachedInitialValue] = React.useState(initialValue); + const [status, setStatus] = React.useState("loading"); + + // When the app first mounts, load draft from storage + React.useEffect(() => { + let didCancel = false; + AsyncStorage.getItem(key) + .then(json => { + if (didCancel) return; + const value = json === null ? cachedInitialValue : parse(json); + setState(value); + setStatus("idle"); + }) + .catch(e => { + log("Error reading value from storage", e); + // We ignore errors loading a value, and just treat it as the value was not saved + setStatus("idle"); + }); + return () => { + didCancel = true; + }; + }, [cachedInitialValue]); + + // Save draft to local storage on every update + // TODO: Debounce this for perf when updates are fast + // We ignore saving state - no need to render anything for that + React.useEffect(() => { + AsyncStorage.setItem(key, stringify(state)).catch(e => { + log("Error writing to storage", e); + }); + }); + + return [state, status, setState]; + }; +} diff --git a/src/frontend/languages.json b/src/frontend/languages.json new file mode 100644 index 000000000..c570369b4 --- /dev/null +++ b/src/frontend/languages.json @@ -0,0 +1,854 @@ +{ + "ach": { + "nativeName": "Lwo", + "englishName": "Acholi" + }, + "ady": { + "nativeName": "Адыгэбзэ", + "englishName": "Adyghe" + }, + "af": { + "nativeName": "Afrikaans", + "englishName": "Afrikaans" + }, + "af-NA": { + "nativeName": "Afrikaans (Namibia)", + "englishName": "Afrikaans (Namibia)" + }, + "af-ZA": { + "nativeName": "Afrikaans (South Africa)", + "englishName": "Afrikaans (South Africa)" + }, + "ak": { + "nativeName": "Tɕɥi", + "englishName": "Akan" + }, + "ar": { + "nativeName": "العربية", + "englishName": "Arabic" + }, + "ar-AR": { + "nativeName": "العربية", + "englishName": "Arabic" + }, + "ar-MA": { + "nativeName": "العربية", + "englishName": "Arabic (Morocco)" + }, + "ar-SA": { + "nativeName": "العربية (السعودية)", + "englishName": "Arabic (Saudi Arabia)" + }, + "ay-BO": { + "nativeName": "Aymar aru", + "englishName": "Aymara" + }, + "az": { + "nativeName": "Azərbaycan dili", + "englishName": "Azerbaijani" + }, + "az-AZ": { + "nativeName": "Azərbaycan dili", + "englishName": "Azerbaijani" + }, + "be-BY": { + "nativeName": "Беларуская", + "englishName": "Belarusian" + }, + "bg": { + "nativeName": "Български", + "englishName": "Bulgarian" + }, + "bg-BG": { + "nativeName": "Български", + "englishName": "Bulgarian" + }, + "bn": { + "nativeName": "বাংলা", + "englishName": "Bengali" + }, + "bn-IN": { + "nativeName": "বাংলা (ভারত)", + "englishName": "Bengali (India)" + }, + "bn-BD": { + "nativeName": "বাংলা(বাংলাদেশ)", + "englishName": "Bengali (Bangladesh)" + }, + "bs-BA": { + "nativeName": "Bosanski", + "englishName": "Bosnian" + }, + "ca": { + "nativeName": "Català", + "englishName": "Catalan" + }, + "ca-ES": { + "nativeName": "Català", + "englishName": "Catalan" + }, + "cak": { + "nativeName": "Maya Kaqchikel", + "englishName": "Kaqchikel" + }, + "ck-US": { + "nativeName": "ᏣᎳᎩ (tsalagi)", + "englishName": "Cherokee" + }, + "cs": { + "nativeName": "Čeština", + "englishName": "Czech" + }, + "cs-CZ": { + "nativeName": "Čeština", + "englishName": "Czech" + }, + "cy": { + "nativeName": "Cymraeg", + "englishName": "Welsh" + }, + "cy-GB": { + "nativeName": "Cymraeg", + "englishName": "Welsh" + }, + "da": { + "nativeName": "Dansk", + "englishName": "Danish" + }, + "da-DK": { + "nativeName": "Dansk", + "englishName": "Danish" + }, + "de": { + "nativeName": "Deutsch", + "englishName": "German" + }, + "de-AT": { + "nativeName": "Deutsch (Österreich)", + "englishName": "German (Austria)" + }, + "de-DE": { + "nativeName": "Deutsch (Deutschland)", + "englishName": "German (Germany)" + }, + "de-CH": { + "nativeName": "Deutsch (Schweiz)", + "englishName": "German (Switzerland)" + }, + "dsb": { + "nativeName": "Dolnoserbšćina", + "englishName": "Lower Sorbian" + }, + "el": { + "nativeName": "Ελληνικά", + "englishName": "Greek" + }, + "el-GR": { + "nativeName": "Ελληνικά", + "englishName": "Greek (Greece)" + }, + "en": { + "nativeName": "English", + "englishName": "English" + }, + "en-GB": { + "nativeName": "English (UK)", + "englishName": "English (UK)" + }, + "en-AU": { + "nativeName": "English (Australia)", + "englishName": "English (Australia)" + }, + "en-CA": { + "nativeName": "English (Canada)", + "englishName": "English (Canada)" + }, + "en-IE": { + "nativeName": "English (Ireland)", + "englishName": "English (Ireland)" + }, + "en-IN": { + "nativeName": "English (India)", + "englishName": "English (India)" + }, + "en-PI": { + "nativeName": "English (Pirate)", + "englishName": "English (Pirate)" + }, + "en-UD": { + "nativeName": "English (Upside Down)", + "englishName": "English (Upside Down)" + }, + "en-US": { + "nativeName": "English (US)", + "englishName": "English (US)" + }, + "en-ZA": { + "nativeName": "English (South Africa)", + "englishName": "English (South Africa)" + }, + "en@pirate": { + "nativeName": "English (Pirate)", + "englishName": "English (Pirate)" + }, + "eo": { + "nativeName": "Esperanto", + "englishName": "Esperanto" + }, + "eo-EO": { + "nativeName": "Esperanto", + "englishName": "Esperanto" + }, + "es": { + "nativeName": "Español", + "englishName": "Spanish" + }, + "es-AR": { + "nativeName": "Español (Argentine)", + "englishName": "Spanish (Argentina)" + }, + "es-419": { + "nativeName": "Español (Latinoamérica)", + "englishName": "Spanish (Latin America)" + }, + "es-CL": { + "nativeName": "Español (Chile)", + "englishName": "Spanish (Chile)" + }, + "es-CO": { + "nativeName": "Español (Colombia)", + "englishName": "Spanish (Colombia)" + }, + "es-EC": { + "nativeName": "Español (Ecuador)", + "englishName": "Spanish (Ecuador)" + }, + "es-ES": { + "nativeName": "Español (España)", + "englishName": "Spanish (Spain)" + }, + "es-LA": { + "nativeName": "Español (Latinoamérica)", + "englishName": "Spanish (Latin America)" + }, + "es-NI": { + "nativeName": "Español (Nicaragua)", + "englishName": "Spanish (Nicaragua)" + }, + "es-MX": { + "nativeName": "Español (México)", + "englishName": "Spanish (Mexico)" + }, + "es-US": { + "nativeName": "Español (Estados Unidos)", + "englishName": "Spanish (United States)" + }, + "es-VE": { + "nativeName": "Español (Venezuela)", + "englishName": "Spanish (Venezuela)" + }, + "et": { + "nativeName": "eesti keel", + "englishName": "Estonian" + }, + "et-EE": { + "nativeName": "Eesti (Estonia)", + "englishName": "Estonian (Estonia)" + }, + "eu": { + "nativeName": "Euskara", + "englishName": "Basque" + }, + "eu-ES": { + "nativeName": "Euskara", + "englishName": "Basque" + }, + "fa": { + "nativeName": "فارسی", + "englishName": "Persian" + }, + "fa-IR": { + "nativeName": "فارسی", + "englishName": "Persian" + }, + "fb-LT": { + "nativeName": "Leet Speak", + "englishName": "Leet" + }, + "ff": { + "nativeName": "Fulah", + "englishName": "Fulah" + }, + "fi": { + "nativeName": "Suomi", + "englishName": "Finnish" + }, + "fi-FI": { + "nativeName": "Suomi", + "englishName": "Finnish" + }, + "fo-FO": { + "nativeName": "Føroyskt", + "englishName": "Faroese" + }, + "fr": { + "nativeName": "Français", + "englishName": "French" + }, + "fr-CA": { + "nativeName": "Français (Canada)", + "englishName": "French (Canada)" + }, + "fr-FR": { + "nativeName": "Français (France)", + "englishName": "French (France)" + }, + "fr-BE": { + "nativeName": "Français (Belgique)", + "englishName": "French (Belgium)" + }, + "fr-CH": { + "nativeName": "Français (Suisse)", + "englishName": "French (Switzerland)" + }, + "fy-NL": { + "nativeName": "Frysk", + "englishName": "Frisian (West)" + }, + "ga": { + "nativeName": "Gaeilge", + "englishName": "Irish" + }, + "ga-IE": { + "nativeName": "Gaeilge (Gaelic)", + "englishName": "Irish (Gaelic)" + }, + "gl": { + "nativeName": "Galego", + "englishName": "Galician" + }, + "gl-ES": { + "nativeName": "Galego", + "englishName": "Galician" + }, + "gn-PY": { + "nativeName": "Avañe'ẽ", + "englishName": "Guarani" + }, + "gu-IN": { + "nativeName": "ગુજરાતી", + "englishName": "Gujarati" + }, + "gx-GR": { + "nativeName": "Ἑλληνική ἀρχαία", + "englishName": "Classical Greek" + }, + "he": { + "nativeName": "עברית‏", + "englishName": "Hebrew" + }, + "he-IL": { + "nativeName": "עברית‏", + "englishName": "Hebrew" + }, + "hi": { + "nativeName": "हिन्दी", + "englishName": "Hindi" + }, + "hi-IN": { + "nativeName": "हिन्दी", + "englishName": "Hindi" + }, + "hr": { + "nativeName": "Hrvatski", + "englishName": "Croatian" + }, + "hr-HR": { + "nativeName": "Hrvatski", + "englishName": "Croatian" + }, + "hsb": { + "nativeName": "Hornjoserbšćina", + "englishName": "Upper Sorbian" + }, + "ht": { + "nativeName": "Kreyòl", + "englishName": "Haitian Creole" + }, + "hu": { + "nativeName": "Magyar", + "englishName": "Hungarian" + }, + "hu-HU": { + "nativeName": "Magyar", + "englishName": "Hungarian" + }, + "hy-AM": { + "nativeName": "Հայերեն", + "englishName": "Armenian" + }, + "id": { + "nativeName": "Bahasa Indonesia", + "englishName": "Indonesian" + }, + "id-ID": { + "nativeName": "Bahasa Indonesia", + "englishName": "Indonesian" + }, + "is": { + "nativeName": "Íslenska", + "englishName": "Icelandic" + }, + "is-IS": { + "nativeName": "Íslenska (Iceland)", + "englishName": "Icelandic (Iceland)" + }, + "it": { + "nativeName": "Italiano", + "englishName": "Italian" + }, + "it-IT": { + "nativeName": "Italiano", + "englishName": "Italian" + }, + "ja": { + "nativeName": "日本語", + "englishName": "Japanese" + }, + "ja-JP": { + "nativeName": "日本語", + "englishName": "Japanese" + }, + "jv-ID": { + "nativeName": "Basa Jawa", + "englishName": "Javanese" + }, + "ka-GE": { + "nativeName": "ქართული", + "englishName": "Georgian" + }, + "kk-KZ": { + "nativeName": "Қазақша", + "englishName": "Kazakh" + }, + "km": { + "nativeName": "ភាសាខ្មែរ", + "englishName": "Khmer" + }, + "km-KH": { + "nativeName": "ភាសាខ្មែរ", + "englishName": "Khmer" + }, + "kab": { + "nativeName": "Taqbaylit", + "englishName": "Kabyle" + }, + "kn": { + "nativeName": "ಕನ್ನಡ", + "englishName": "Kannada" + }, + "kn-IN": { + "nativeName": "ಕನ್ನಡ (India)", + "englishName": "Kannada (India)" + }, + "ko": { + "nativeName": "한국어", + "englishName": "Korean" + }, + "ko-KR": { + "nativeName": "한국어 (韩国)", + "englishName": "Korean (Korea)" + }, + "ku-TR": { + "nativeName": "Kurdî", + "englishName": "Kurdish" + }, + "la": { + "nativeName": "Latin", + "englishName": "Latin" + }, + "la-VA": { + "nativeName": "Latin", + "englishName": "Latin" + }, + "lb": { + "nativeName": "Lëtzebuergesch", + "englishName": "Luxembourgish" + }, + "li-NL": { + "nativeName": "Lèmbörgs", + "englishName": "Limburgish" + }, + "lt": { + "nativeName": "Lietuvių", + "englishName": "Lithuanian" + }, + "lt-LT": { + "nativeName": "Lietuvių", + "englishName": "Lithuanian" + }, + "lv": { + "nativeName": "Latviešu", + "englishName": "Latvian" + }, + "lv-LV": { + "nativeName": "Latviešu", + "englishName": "Latvian" + }, + "mai": { + "nativeName": "मैथिली, মৈথিলী", + "englishName": "Maithili" + }, + "mg-MG": { + "nativeName": "Malagasy", + "englishName": "Malagasy" + }, + "mk": { + "nativeName": "Македонски", + "englishName": "Macedonian" + }, + "mk-MK": { + "nativeName": "Македонски (Македонски)", + "englishName": "Macedonian (Macedonian)" + }, + "ml": { + "nativeName": "മലയാളം", + "englishName": "Malayalam" + }, + "ml-IN": { + "nativeName": "മലയാളം", + "englishName": "Malayalam" + }, + "mn-MN": { + "nativeName": "Монгол", + "englishName": "Mongolian" + }, + "mr": { + "nativeName": "मराठी", + "englishName": "Marathi" + }, + "mr-IN": { + "nativeName": "मराठी", + "englishName": "Marathi" + }, + "ms": { + "nativeName": "Bahasa Melayu", + "englishName": "Malay" + }, + "ms-MY": { + "nativeName": "Bahasa Melayu", + "englishName": "Malay" + }, + "mt": { + "nativeName": "Malti", + "englishName": "Maltese" + }, + "mt-MT": { + "nativeName": "Malti", + "englishName": "Maltese" + }, + "my": { + "nativeName": "ဗမာစကာ", + "englishName": "Burmese" + }, + "no": { + "nativeName": "Norsk", + "englishName": "Norwegian" + }, + "nb": { + "nativeName": "Norsk (bokmål)", + "englishName": "Norwegian (bokmal)" + }, + "nb-NO": { + "nativeName": "Norsk (bokmål)", + "englishName": "Norwegian (bokmal)" + }, + "ne": { + "nativeName": "नेपाली", + "englishName": "Nepali" + }, + "ne-NP": { + "nativeName": "नेपाली", + "englishName": "Nepali" + }, + "nl": { + "nativeName": "Nederlands", + "englishName": "Dutch" + }, + "nl-BE": { + "nativeName": "Nederlands (België)", + "englishName": "Dutch (Belgium)" + }, + "nl-NL": { + "nativeName": "Nederlands (Nederland)", + "englishName": "Dutch (Netherlands)" + }, + "nn-NO": { + "nativeName": "Norsk (nynorsk)", + "englishName": "Norwegian (nynorsk)" + }, + "oc": { + "nativeName": "Occitan", + "englishName": "Occitan" + }, + "or-IN": { + "nativeName": "ଓଡ଼ିଆ", + "englishName": "Oriya" + }, + "pa": { + "nativeName": "ਪੰਜਾਬੀ", + "englishName": "Punjabi" + }, + "pa-IN": { + "nativeName": "ਪੰਜਾਬੀ (ਭਾਰਤ ਨੂੰ)", + "englishName": "Punjabi (India)" + }, + "pl": { + "nativeName": "Polski", + "englishName": "Polish" + }, + "pl-PL": { + "nativeName": "Polski", + "englishName": "Polish" + }, + "ps-AF": { + "nativeName": "پښتو", + "englishName": "Pashto" + }, + "pt": { + "nativeName": "Português", + "englishName": "Portuguese" + }, + "pt-BR": { + "nativeName": "Português (Brasil)", + "englishName": "Portuguese (Brazil)" + }, + "pt-PT": { + "nativeName": "Português (Portugal)", + "englishName": "Portuguese (Portugal)" + }, + "qu-PE": { + "nativeName": "Qhichwa", + "englishName": "Quechua" + }, + "rm-CH": { + "nativeName": "Rumantsch", + "englishName": "Romansh" + }, + "ro": { + "nativeName": "Română", + "englishName": "Romanian" + }, + "ro-RO": { + "nativeName": "Română", + "englishName": "Romanian" + }, + "ru": { + "nativeName": "Русский", + "englishName": "Russian" + }, + "ru-RU": { + "nativeName": "Русский", + "englishName": "Russian" + }, + "sa-IN": { + "nativeName": "संस्कृतम्", + "englishName": "Sanskrit" + }, + "se-NO": { + "nativeName": "Davvisámegiella", + "englishName": "Northern Sámi" + }, + "si-LK": { + "nativeName": "පළාත", + "englishName": "Sinhala (Sri Lanka)" + }, + "sk": { + "nativeName": "Slovenčina", + "englishName": "Slovak" + }, + "sk-SK": { + "nativeName": "Slovenčina (Slovakia)", + "englishName": "Slovak (Slovakia)" + }, + "sl": { + "nativeName": "Slovenščina", + "englishName": "Slovenian" + }, + "sl-SI": { + "nativeName": "Slovenščina", + "englishName": "Slovenian" + }, + "so-SO": { + "nativeName": "Soomaaliga", + "englishName": "Somali" + }, + "sq": { + "nativeName": "Shqip", + "englishName": "Albanian" + }, + "sq-AL": { + "nativeName": "Shqip", + "englishName": "Albanian" + }, + "sr": { + "nativeName": "Српски", + "englishName": "Serbian" + }, + "sr-RS": { + "nativeName": "Српски (Serbia)", + "englishName": "Serbian (Serbia)" + }, + "su": { + "nativeName": "Basa Sunda", + "englishName": "Sundanese" + }, + "sv": { + "nativeName": "Svenska", + "englishName": "Swedish" + }, + "sv-SE": { + "nativeName": "Svenska", + "englishName": "Swedish" + }, + "sw": { + "nativeName": "Kiswahili", + "englishName": "Swahili" + }, + "sw-KE": { + "nativeName": "Kiswahili", + "englishName": "Swahili (Kenya)" + }, + "ta": { + "nativeName": "தமிழ்", + "englishName": "Tamil" + }, + "ta-IN": { + "nativeName": "தமிழ்", + "englishName": "Tamil" + }, + "te": { + "nativeName": "తెలుగు", + "englishName": "Telugu" + }, + "te-IN": { + "nativeName": "తెలుగు", + "englishName": "Telugu" + }, + "tg": { + "nativeName": "забо́ни тоҷикӣ́", + "englishName": "Tajik" + }, + "tg-TJ": { + "nativeName": "тоҷикӣ", + "englishName": "Tajik" + }, + "th": { + "nativeName": "ภาษาไทย", + "englishName": "Thai" + }, + "th-TH": { + "nativeName": "ภาษาไทย (ประเทศไทย)", + "englishName": "Thai (Thailand)" + }, + "tl": { + "nativeName": "Filipino", + "englishName": "Filipino" + }, + "tl-PH": { + "nativeName": "Filipino", + "englishName": "Filipino" + }, + "tlh": { + "nativeName": "tlhIngan-Hol", + "englishName": "Klingon" + }, + "tr": { + "nativeName": "Türkçe", + "englishName": "Turkish" + }, + "tr-TR": { + "nativeName": "Türkçe", + "englishName": "Turkish" + }, + "tt-RU": { + "nativeName": "татарча", + "englishName": "Tatar" + }, + "uk": { + "nativeName": "Українська", + "englishName": "Ukrainian" + }, + "uk-UA": { + "nativeName": "Українська", + "englishName": "Ukrainian" + }, + "ur": { + "nativeName": "اردو", + "englishName": "Urdu" + }, + "ur-PK": { + "nativeName": "اردو", + "englishName": "Urdu" + }, + "uz": { + "nativeName": "O'zbek", + "englishName": "Uzbek" + }, + "uz-UZ": { + "nativeName": "O'zbek", + "englishName": "Uzbek" + }, + "vi": { + "nativeName": "Tiếng Việt", + "englishName": "Vietnamese" + }, + "vi-VN": { + "nativeName": "Tiếng Việt", + "englishName": "Vietnamese" + }, + "xh-ZA": { + "nativeName": "isiXhosa", + "englishName": "Xhosa" + }, + "yi": { + "nativeName": "ייִדיש", + "englishName": "Yiddish" + }, + "yi-DE": { + "nativeName": "ייִדיש (German)", + "englishName": "Yiddish (German)" + }, + "zh": { + "nativeName": "中文", + "englishName": "Chinese" + }, + "zh-Hans": { + "nativeName": "中文简体", + "englishName": "Chinese Simplified" + }, + "zh-Hant": { + "nativeName": "中文繁體", + "englishName": "Chinese Traditional" + }, + "zh-CN": { + "nativeName": "中文(中国)", + "englishName": "Chinese Simplified (China)" + }, + "zh-HK": { + "nativeName": "中文(香港)", + "englishName": "Chinese Traditional (Hong Kong)" + }, + "zh-SG": { + "nativeName": "中文(新加坡)", + "englishName": "Chinese Simplified (Singapore)" + }, + "zh-TW": { + "nativeName": "中文(台灣)", + "englishName": "Chinese Traditional (Taiwan)" + }, + "zu-ZA": { + "nativeName": "isiZulu", + "englishName": "Zulu" + } +} diff --git a/src/frontend/screens/ObservationsList/index.js b/src/frontend/screens/ObservationsList/index.js index 8102c3d60..0f58eade3 100644 --- a/src/frontend/screens/ObservationsList/index.js +++ b/src/frontend/screens/ObservationsList/index.js @@ -1,12 +1,15 @@ // @flow import React from "react"; import { defineMessages, FormattedMessage } from "react-intl"; +import { useNavigation } from "react-navigation-hooks"; import type { NavigationScreenConfigProps } from "react-navigation"; import HeaderTitle from "../../sharedComponents/HeaderTitle"; import ObservationsListView from "./ObservationsListView"; import useAllObservations from "../../hooks/useAllObservations"; +import { SettingsIcon } from "../../sharedComponents/icons"; +import IconButton from "../../sharedComponents/IconButton"; const m = defineMessages({ observationListTitle: { @@ -33,12 +36,22 @@ const ObservationsList = ({ navigation }: NavigationScreenConfigProps) => { ); }; +const SettingsButton = () => { + const { navigate } = useNavigation(); + return ( + navigate("Settings")}> + + + ); +}; + ObservationsList.navigationOptions = { headerTitle: ( - ) + ), + headerRight: }; export default ObservationsList; diff --git a/src/frontend/screens/Settings/LanguageSettings.js b/src/frontend/screens/Settings/LanguageSettings.js new file mode 100644 index 000000000..a40cf52a3 --- /dev/null +++ b/src/frontend/screens/Settings/LanguageSettings.js @@ -0,0 +1,48 @@ +// @flow +import React from "react"; +import { ScrollView } from "react-native"; +import { FormattedMessage, defineMessages } from "react-intl"; + +import HeaderTitle from "../../sharedComponents/HeaderTitle"; +import SelectOne from "./SelectOne"; +import IntlContext, { supportedLanguages } from "../../context/IntlContext"; + +const m = defineMessages({ + title: { + id: "screens.LanguageSettings.title", + defaultMessage: "Language", + description: "Title language settings screen" + } +}); + +const LanguageSettings = () => { + const [locale, setLocale] = React.useContext(IntlContext); + + const options = supportedLanguages.map( + ({ locale, nativeName, englishName }) => ({ + value: locale, + label: nativeName, + hint: englishName + }) + ); + + return ( + + setLocale(selectedLocale)} + /> + + ); +}; + +LanguageSettings.navigationOptions = { + headerTitle: ( + + + + ) +}; + +export default LanguageSettings; diff --git a/src/frontend/screens/Settings.js b/src/frontend/screens/Settings/ProjectConfig.js similarity index 88% rename from src/frontend/screens/Settings.js rename to src/frontend/screens/Settings/ProjectConfig.js index b13c9898f..93c597b86 100644 --- a/src/frontend/screens/Settings.js +++ b/src/frontend/screens/Settings/ProjectConfig.js @@ -2,19 +2,19 @@ import React from "react"; import { View, Text, StyleSheet, ActivityIndicator } from "react-native"; // import { Picker as OriginalPicker } from "@react-native-community/picker"; -import HeaderTitle from "../sharedComponents/HeaderTitle"; import { FormattedMessage, defineMessages, useIntl } from "react-intl"; import * as DocumentPicker from "expo-document-picker"; -import Button from "../sharedComponents/Button"; -import ConfigContext from "../context/ConfigContext"; -import type { Status } from "../types"; +import HeaderTitle from "../../sharedComponents/HeaderTitle"; +import Button from "../../sharedComponents/Button"; +import ConfigContext from "../../context/ConfigContext"; +import type { Status } from "../../types"; const m = defineMessages({ - settingsTitle: { - id: "screens.Settings.title", - defaultMessage: "Settings", - description: "Title of settings screen" + configTitle: { + id: "screens.ProjectConfig.title", + defaultMessage: "Project Configuration", + description: "Title of project configuration screen" }, currentConfig: { id: "screens.Settings.currentConfig", @@ -46,7 +46,7 @@ const m = defineMessages({ // Picker.Item = OriginalPicker.Item; -const Settings = () => { +const ProjectConfig = () => { const { formatMessage: t } = useIntl(); const [status, setStatus] = React.useState("idle"); const [config, { replace: replaceConfig }] = React.useContext(ConfigContext); @@ -98,15 +98,15 @@ const Settings = () => { ); }; -Settings.navigationOptions = { +ProjectConfig.navigationOptions = { headerTitle: ( - + ) }; -export default Settings; +export default ProjectConfig; const styles = StyleSheet.create({ root: { diff --git a/src/frontend/screens/Settings/SelectOne.js b/src/frontend/screens/Settings/SelectOne.js new file mode 100644 index 000000000..964c95994 --- /dev/null +++ b/src/frontend/screens/Settings/SelectOne.js @@ -0,0 +1,40 @@ +// @flow +import React from "react"; + +import { + List, + ListItem, + ListItemText, + ListItemIcon +} from "../../sharedComponents/List"; + +type Props = {| + value: any, + onChange: (value: any) => any, + options: Array<{| + value: any, + label: string, + hint?: string + |}> +|}; + +const SelectOne = ({ value, options, onChange }: Props) => ( + + {options.map((item, index) => ( + onChange(value === item.value ? null : item.value)}> + + + + ))} + +); + +export default React.memo(SelectOne); diff --git a/src/frontend/screens/Settings/Settings.js b/src/frontend/screens/Settings/Settings.js new file mode 100644 index 000000000..c8a619bed --- /dev/null +++ b/src/frontend/screens/Settings/Settings.js @@ -0,0 +1,73 @@ +// @flow +import React from "react"; +// import { Picker as OriginalPicker } from "@react-native-community/picker"; +import { FormattedMessage, defineMessages } from "react-intl"; +import { useNavigation } from "react-navigation-hooks"; + +import HeaderTitle from "../../sharedComponents/HeaderTitle"; +import { + List, + ListItem, + ListItemText, + ListItemIcon +} from "../../sharedComponents/List"; + +const m = defineMessages({ + settingsTitle: { + id: "screens.Settings.title", + defaultMessage: "Settings", + description: "Title of settings screen" + }, + language: { + id: "screens.Settings.language", + defaultMessage: "Language", + description: "Primary text for language settings" + }, + languageDesc: { + id: "screens.Settings.languageDesc", + defaultMessage: "Display language for App", + description: "Secondary text for language settings" + }, + projectConfig: { + id: "screens.Settings.projectConfig", + defaultMessage: "Project Configuration", + description: "Primary text for project config settings" + }, + projectConfigDesc: { + id: "screens.Settings.projectConfigDesc", + defaultMessage: "Categories, icons and questions", + description: "Secondary text for project config settings" + } +}); + +const Settings = () => { + const { navigate } = useNavigation(); + return ( + + navigate("LanguageSettings")}> + + } + secondary={}> + + navigate("ProjectConfig")}> + + } + secondary={ + + }> + + + ); +}; + +Settings.navigationOptions = { + headerTitle: ( + + + + ) +}; + +export default Settings; diff --git a/src/frontend/screens/Settings/index.js b/src/frontend/screens/Settings/index.js new file mode 100644 index 000000000..83f68ed93 --- /dev/null +++ b/src/frontend/screens/Settings/index.js @@ -0,0 +1,2 @@ +export { default } from "./Settings"; +export { default as ProjectConfig } from "./ProjectConfig"; diff --git a/src/frontend/screens/SyncModal/index.js b/src/frontend/screens/SyncModal/index.js index 9253bc22b..f2c720346 100644 --- a/src/frontend/screens/SyncModal/index.js +++ b/src/frontend/screens/SyncModal/index.js @@ -22,12 +22,9 @@ import ConfigContext from "../../context/ConfigContext"; import { peerStatus } from "./PeerList"; import { parseVersionMajor } from "../../lib/utils"; import HeaderTitle from "../../sharedComponents/HeaderTitle"; -import { SettingsIcon } from "../../sharedComponents/icons"; -import IconButton from "../../sharedComponents/IconButton"; import type { Peer } from "./PeerList"; import type { ServerPeer, PeerError } from "../../api"; -import { useNavigation } from "react-navigation-hooks"; type Props = { navigation: any @@ -201,15 +198,6 @@ const SyncModal = ({ navigation }: Props) => { ); }; -const SettingsButton = () => { - const { navigate } = useNavigation(); - return ( - navigate("Settings")}> - - - ); -}; - SyncModal.navigationOptions = { headerTintColor: "white", headerStyle: { @@ -219,8 +207,7 @@ SyncModal.navigationOptions = { - ), - headerRight: + ) }; /** diff --git a/src/frontend/sharedComponents/List/List.js b/src/frontend/sharedComponents/List/List.js new file mode 100644 index 000000000..a1a7a3300 --- /dev/null +++ b/src/frontend/sharedComponents/List/List.js @@ -0,0 +1,75 @@ +import React from "react"; +import { StyleSheet, View, Text } from "react-native"; +import PropTypes from "prop-types"; +import ListContext from "./ListContext"; + +const List = ({ + children, + style, + disablePadding = false, + subheader, + dense = false, + ...other +}) => { + console.log("isDense (List)", dense); + const context = React.useMemo(() => ({ dense }), [dense]); + return ( + + + {subheader && {subheader}} + {children} + + + ); +}; + +List.propTypes = { + /** + * The content of the component. + */ + children: PropTypes.node, + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + styles: PropTypes.object, + /** + * If `true`, compact vertical padding designed for keyboard and mouse input will be used for + * the list and list items. + * The prop is available to descendant components as the `dense` context. + */ + dense: PropTypes.bool, + /** + * If `true`, vertical padding will be removed from the list. + */ + disablePadding: PropTypes.bool, + /** + * The content of the subheader, normally `ListSubheader`. + */ + subheader: PropTypes.node +}; + +export default List; + +export const styles = StyleSheet.create({ + /* Styles applied to the root element. */ + root: { + flex: 1, + flexDirection: "column", + alignItems: "stretch", + justifyContent: "flex-start", + margin: 0, + padding: 0 + }, + /* Styles applied to the root element if `disablePadding={false}`. */ + padding: { + paddingTop: 8, + paddingBottom: 8 + }, + /* Styles applied to the root element if a `subheader` is provided. */ + subheader: { + paddingTop: 0 + } +}); diff --git a/src/frontend/sharedComponents/List/ListContext.js b/src/frontend/sharedComponents/List/ListContext.js new file mode 100644 index 000000000..4057a03e6 --- /dev/null +++ b/src/frontend/sharedComponents/List/ListContext.js @@ -0,0 +1,9 @@ +import React from "react"; + +const ListContext = React.createContext({}); + +if (process.env.NODE_ENV !== "production") { + ListContext.displayName = "ListContext"; +} + +export default ListContext; diff --git a/src/frontend/sharedComponents/List/ListItem.js b/src/frontend/sharedComponents/List/ListItem.js new file mode 100644 index 000000000..5b8e4240c --- /dev/null +++ b/src/frontend/sharedComponents/List/ListItem.js @@ -0,0 +1,122 @@ +import React from "react"; +import { StyleSheet } from "react-native"; +import PropTypes from "prop-types"; + +import { TouchableNativeFeedback } from "../../sharedComponents/Touchables"; +import { VERY_LIGHT_BLUE } from "../../lib/styles"; +import ListContext from "./ListContext"; + +const styles = StyleSheet.create({ + /* Styles applied to the (normally root) `component` element. May be wrapped by a `container`. */ + root: { + flex: 0, + justifyContent: "flex-start", + flexDirection: "row", + position: "relative", + width: "100%", + textAlign: "left", + paddingTop: 8, + paddingBottom: 8 + }, + /* Styles applied to the `component` element if `alignItems="flex-start"`. */ + alignItemsFlexStart: { + alignItems: "flex-start" + }, + /* Styles applied to the `component` element if dense. */ + dense: { + paddingTop: 4, + paddingBottom: 4 + }, + /* Styles applied to the inner `component` element if `divider={true}`. */ + divider: { + borderBottomWidth: 1, + borderStyle: "solid", + borderBottomColor: "rgba(0, 0, 0, 0.12)" + }, + /* Styles applied to the inner `component` element if `disableGutters={false}`. */ + gutters: { + paddingLeft: 16, + paddingRight: 16 + } +}); + +const ListItem = ({ + alignItems = "center", + button = false, + children, + style, + dense = false, + disabled = false, + disableGutters = false, + divider = false, + ...other +}) => { + const context = React.useContext(ListContext); + const childContext = React.useMemo( + () => ({ + dense: dense || context.dense || false, + alignItems + }), + [dense, context.dense, alignItems] + ); + + const componentProps = { + style: [ + styles.root, + childContext.dense && styles.dense, + !disableGutters && styles.gutters, + divider && styles.divider, + button && styles.button, + alignItems === "flex-start" && styles.alignItemsFlexStart, + style + ], + disabled, + ...other + }; + + return ( + + + {children} + + + ); +}; + +ListItem.propTypes = { + /** + * Defines the `align-items` style property. + */ + alignItems: PropTypes.oneOf(["flex-start", "center"]), + /** + * If `true`, the list item will be focused during the first mount. + * Focus will also be triggered if the value changes from false to true. + */ + autoFocus: PropTypes.bool, + /** + * If `true`, the list item will be a button (using `ButtonBase`). Props intended + * for `ButtonBase` can then be applied to `ListItem`. + */ + button: PropTypes.bool, + /** + * Override or extend the styles applied to the component. + * See [CSS API](#css) below for more details. + */ + styles: PropTypes.object, + /** + * If `true`, the list item will be disabled. + */ + disabled: PropTypes.bool, + /** + * If `true`, the left and right padding is removed. + */ + disableGutters: PropTypes.bool, + /** + * If `true`, a 1px light border is added to the bottom of the list item. + */ + divider: PropTypes.bool +}; + +export default ListItem; diff --git a/src/frontend/sharedComponents/List/ListItemIcon.js b/src/frontend/sharedComponents/List/ListItemIcon.js new file mode 100644 index 000000000..4f62002d7 --- /dev/null +++ b/src/frontend/sharedComponents/List/ListItemIcon.js @@ -0,0 +1,34 @@ +import React from "react"; +import { StyleSheet, View } from "react-native"; +import PropTypes from "prop-types"; +import MaterialIcon from "react-native-vector-icons/MaterialIcons"; + +export const styles = StyleSheet.create({ + /* Styles applied to the root element. */ + root: { + minWidth: 56, + flexShrink: 0, + justifyContent: "center" + } +}); + +/** + * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`. + */ +const ListItemIcon = ({ iconName, ...other }) => { + return ( + + + + ); +}; + +ListItemIcon.propTypes = { + /** + * The content of the component, normally `Icon`, `SvgIcon`, + * or a `@material-ui/icons` SVG icon element. + */ + iconName: PropTypes.string.isRequired +}; + +export default ListItemIcon; diff --git a/src/frontend/sharedComponents/List/ListItemText.js b/src/frontend/sharedComponents/List/ListItemText.js new file mode 100644 index 000000000..2fd6dacaa --- /dev/null +++ b/src/frontend/sharedComponents/List/ListItemText.js @@ -0,0 +1,70 @@ +import React from "react"; +import { StyleSheet, Text, View } from "react-native"; +import PropTypes from "prop-types"; + +const styles = StyleSheet.create({ + /* Styles applied to the root element. */ + root: { + flex: 1, + marginTop: 4, + marginBottom: 4 + }, + /* Styles applied to the `Typography` components if primary and secondary are set. */ + multiline: { + marginTop: 6, + marginBottom: 6 + }, + /* Styles applied to the root element if `inset={true}`. */ + inset: { + paddingLeft: 56 + }, + primary: { + fontSize: 16, + lineHeight: 1.5 * 16, + color: "rgba(0, 0, 0, 0.87)" + }, + secondary: { + fontSize: 14, + lineHeight: 1.43 * 14, + color: "rgba(0, 0, 0, 0.54)" + } +}); + +const ListItemText = ({ + style, + inset = false, + primary, + secondary, + ...other +}) => { + return ( + + {primary} + {secondary && {secondary}} + + ); +}; + +ListItemText.propTypes = { + /** + * If `true`, the children will be indented. + * This should be used if there is no left avatar or left icon. + */ + inset: PropTypes.bool, + /** + * The main content element. + */ + primary: PropTypes.node, + /** + * The secondary content element. + */ + secondary: PropTypes.node +}; + +export default ListItemText; diff --git a/src/frontend/sharedComponents/List/index.js b/src/frontend/sharedComponents/List/index.js new file mode 100644 index 000000000..970a71c6a --- /dev/null +++ b/src/frontend/sharedComponents/List/index.js @@ -0,0 +1,4 @@ +export { default as List } from "./List"; +export { default as ListItem } from "./ListItem"; +export { default as ListItemText } from "./ListItemText"; +export { default as ListItemIcon } from "./ListItemIcon"; From c2591e2af4f34a92598b0a33663909f510f16277 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 5 Feb 2020 12:55:09 +0000 Subject: [PATCH 021/116] chore(release): 2.1.0-alpha.4 --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b58dc3035..83999c72e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.1.0-alpha.4](https://github.com/digidem/mapeo-mobile/compare/v2.1.0-alpha.3...v2.1.0-alpha.4) (2020-02-05) + +### Features + +- Add settings screen to change language (independent of device language) ([#302](https://github.com/digidem/mapeo-mobile/issues/302)) ([f3d487b](https://github.com/digidem/mapeo-mobile/commit/f3d487bfcc77a77ec538ab31488b9e8e8c69f548)) + +### Bug Fixes + +- Fix crash when presets have empty placeholder field ([06887d0](https://github.com/digidem/mapeo-mobile/commit/06887d02941cb506439940f1f729cb8250065e15)) + ## [2.1.0-alpha.3](https://github.com/digidem/mapeo-mobile/compare/v2.1.0-alpha.2...v2.1.0-alpha.3) (2020-01-25) ### Bug Fixes diff --git a/package.json b/package.json index f2f40231c..c1d3f3fcf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapeo-mobile", - "version": "2.1.0-alpha.3", + "version": "2.1.0-alpha.4", "private": true, "engines": { "node": "^10.16.0" From 145c896ccb94c7eca5d859822de7c9f5edb9ca2d Mon Sep 17 00:00:00 2001 From: Karissa McKelvey <633012+okdistribute@users.noreply.github.com> Date: Mon, 10 Feb 2020 13:55:49 -0800 Subject: [PATCH 022/116] karissa->okdistribute --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03dc6cf60..130933545 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ If you would like your language added to the translations list, [please request ## Maintainers - [@gmaclennan](https://github.com/gmaclennan) -- [@karissa](https://github.com/karissa) +- [@okdistribute](https://github.com/okdistribute) - [@noffle](https://github.com/noffle) ## Community From 67e35656581b98bc85c35497923b845728d53492 Mon Sep 17 00:00:00 2001 From: Karissa McKelvey Date: Mon, 10 Feb 2020 16:08:58 -0800 Subject: [PATCH 023/116] fix: add package-lock.json files for front and backend --- .gitignore | 1 - package-lock.json | 22334 ++++++++++++++++++++++++++++++++ src/backend/package-lock.json | 3861 ++++++ 3 files changed, 26195 insertions(+), 1 deletion(-) create mode 100644 package-lock.json create mode 100644 src/backend/package-lock.json diff --git a/.gitignore b/.gitignore index 27ebb1635..29c42c4b1 100644 --- a/.gitignore +++ b/.gitignore @@ -55,7 +55,6 @@ buck-out/ # Bundle artifact *.jsbundle -package-lock.json # nodejs-mobile /nodejs-assets diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..ab2a9489c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,22334 @@ +{ + "name": "mapeo-mobile", + "version": "2.1.0-alpha.4", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/compat-data": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.5.tgz", + "integrity": "sha512-jWYUqQX/ObOhG1UiEkbH5SANsE/8oKXiQWjj7p7xgj9Zmnt//aUvyz4dBkK0HNsS8/cbyC5NmmH87VekW+mXFg==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "invariant": "^2.2.4", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/core": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", + "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/generator": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz", + "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==", + "requires": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", + "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", + "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz", + "integrity": "sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ==", + "requires": { + "@babel/types": "^7.8.3", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz", + "integrity": "sha512-6Q05px0Eb+N4/GTyKPPvnkig7Lylw+QzihMpws9iiZQv7ZImf84ZsZpQH7QoWN4n4tm81SnSzPgHw2qtO0Zf3A==", + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz", + "integrity": "sha512-3k3BsKMvPp5bjxgMdrFyq0UaEO48HciVrOVF0+lon8pp95cyJ2ujAh0TrBHNMnJGT2rr0iKOJPFFbSqjDyf/Pg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.8.4", + "browserslist": "^4.8.5", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.3.tgz", + "integrity": "sha512-qmp4pD7zeTxsv0JNecSBsEmG1ei2MqwJq4YQcK3ZWm/0t07QstWfvuV/vm3Qt5xNMFETn2SZqpMx2MQzbtq+KA==", + "requires": { + "@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": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz", + "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==", + "requires": { + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-define-map": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", + "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", + "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "requires": { + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", + "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz", + "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==", + "requires": { + "@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": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", + "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==" + }, + "@babel/helper-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "requires": { + "@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": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz", + "integrity": "sha512-xOUssL6ho41U81etpLoT2RTdvdus4VfHamCuAm4AHxGr+0it5fnwoVdwUJ7GFEqCsQYzJUhcbsN9wB9apcYKFA==", + "requires": { + "@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": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "requires": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-wrap-function": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helpers": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", + "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "requires": { + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz", + "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==" + }, + "@babel/plugin-external-helpers": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.8.3.tgz", + "integrity": "sha512-mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", + "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "dev": true, + "requires": { + "@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-class-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", + "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", + "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.8.3.tgz", + "integrity": "sha512-PYtv2S2OdCdp7GSPDg5ndGZFm9DmWFvuLoS5nBxZCgOBggluLnhTScspJxng96alHQzPyrrHxvC9/w4bFuspeA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-export-default-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", + "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz", + "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", + "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz", + "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.8.3.tgz", + "integrity": "sha512-a1qnnsr73KLNIQcQlcQ4ZHxqqfBKM6iNQZW2OMTyxNbA2WC7SHWHtGVpFzWtQAuS2pspkWVzdEBXXx8Ik0Za4w==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz", + "integrity": "sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", + "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz", + "integrity": "sha512-GO1MQ/SGGGoiEXY0e0bSpHimJvxqB7lktLLIq2pv8xG7WZ8IMEle74jIe1FhprHBWjwjZtXHkycDLZXIWM5Wfg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", + "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", + "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "requires": { + "@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-block-scoped-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", + "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", + "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz", + "integrity": "sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w==", + "requires": { + "@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": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", + "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", + "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", + "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", + "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", + "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.8.3.tgz", + "integrity": "sha512-g/6WTWG/xbdd2exBBzMfygjX/zw4eyNC4X8pRaq7aRHRoDUCzAIu3kGYIXviOv8BjCuWm8vDBwjHcjiRNgXrPA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-flow": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz", + "integrity": "sha512-iAXNlOWvcYUYoV8YIxwS7TxGRJcxyl8eQCfT+A5j8sKUzRFvJdcyjp97jL2IghWSRDaL2PU2O2tX8Cu9dTBq5A==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", + "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", + "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", + "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", + "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", + "dev": true, + "requires": { + "@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": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", + "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", + "requires": { + "@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-systemjs": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", + "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", + "dev": true, + "requires": { + "@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-umd": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", + "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", + "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-object-assign": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.8.3.tgz", + "integrity": "sha512-i3LuN8tPDqUCRFu3dkzF2r1Nx0jp4scxtm7JxtIqI9he9Vk20YD+/zshdzR9JLsoBMlJlNR82a62vQExNEVx/Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", + "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz", + "integrity": "sha512-IsS3oTxeTsZlE5KqzTbcC2sV0P9pXdec53SU+Yxv7o/6dvGM5AkTotQKhoSffhNgZ/dftsSiOoxy7evCYJXzVA==", + "requires": { + "@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-property-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", + "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.8.3.tgz", + "integrity": "sha512-glrzN2U+egwRfkNFtL34xIBYTxbbUF2qJTP8HD3qETBBqzAWSeNB821X0GjU06+dNpq/UyCIjI72FmGE5NNkQQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", + "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz", + "integrity": "sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g==", + "requires": { + "@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-react-jsx-self": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.3.tgz", + "integrity": "sha512-01OT7s5oa0XTLf2I8XGsL8+KqV9lx3EZV+jxn/L2LQ97CGKila2YMroTkCEIE0HV/FF7CMSRsIAybopdN9NTdg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.3.tgz", + "integrity": "sha512-PLMgdMGuVDtRS/SzjNEQYUT8f4z1xb2BAT54vM1X5efkVuYBf5WyGUMbpmARcfq3NaglIwz08UVQK4HHHbC6ag==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz", + "integrity": "sha512-qt/kcur/FxrQrzFR432FGZznkVAjiyFtCOANjkAKwCbt465L6ZCiUQh2oMYGU3Wo8LRFJxNDFwWn106S5wVUNA==", + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", + "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz", + "integrity": "sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ==", + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", + "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", + "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", + "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-regex": "^7.8.3" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", + "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", + "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.8.3.tgz", + "integrity": "sha512-Ebj230AxcrKGZPKIp4g4TdQLrqX95TobLUWKd/CwG7X1XHUH1ZpkpFvXuXqWbtGRWb7uuEWNlrl681wsOArAdQ==", + "requires": { + "@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": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", + "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/polyfill": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.3.tgz", + "integrity": "sha512-0QEgn2zkCzqGIkSWWAEmvxD7e00Nm9asTtQvi7HdlYvMhjy/J38V/1Y9ode0zEJeIuxAI0uftiAzqc7nVeWUGg==", + "dev": true, + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.2" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true + } + } + }, + "@babel/preset-env": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.4.tgz", + "integrity": "sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w==", + "dev": true, + "requires": { + "@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", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/preset-flow": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.8.3.tgz", + "integrity": "sha512-iCXFk+T4demnq+dNLLvlGOgvYF6sPZ/hS1EmswugOqh1Ysp2vuiqJzpgsnp5rW8+6dLJT/0CXDzye28ZH6BAfQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-transform-flow-strip-types": "^7.8.3" + } + }, + "@babel/preset-react": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.8.3.tgz", + "integrity": "sha512-9hx0CwZg92jGb7iHYQVgi0tOEHP/kM60CtWJQnmbATSPIQQ2xYzfoCI3EdqAhFBeeJwYMdWQuDUHMsuDbH9hyQ==", + "dev": true, + "requires": { + "@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/register": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.8.3.tgz", + "integrity": "sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg==", + "requires": { + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", + "pirates": "^4.0.0", + "source-map-support": "^0.5.16" + } + }, + "@babel/runtime": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", + "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/standalone": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.8.4.tgz", + "integrity": "sha512-c/PomWPyLeCAnldfMGL2wNbu4OcseDObGhpK6WGfwqHWW+t9TNB7ENF/uWw/GtWv1wOnbPOb6U+uj2Q5ki1HLg==", + "dev": true + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz", + "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==", + "requires": { + "@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/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@base2/pretty-print-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz", + "integrity": "sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw==", + "dev": true + }, + "@chromaui/localtunnel": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@chromaui/localtunnel/-/localtunnel-1.10.1.tgz", + "integrity": "sha512-LXhAogVc9SOQ45+mtk2mhcQxW4bE8aadfx9WbDzuDlBXcDgDMFBaxOmd5VYsPxQYA+cLFkKeuKOpROzsZSEySA==", + "dev": true, + "requires": { + "axios": "0.19.0", + "debug": "^3.0.1", + "openurl": "1.1.1", + "yargs": "6.6.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "@cnakazawa/watch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", + "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==", + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "@digidem/extract-react-intl": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@digidem/extract-react-intl/-/extract-react-intl-0.10.0.tgz", + "integrity": "sha512-Yg8eCuxzko2pja1qBVmIumeHvunQDZ7jJEjDuI7hXn51YjbqLDN0WERrj5NDyPuAtvRX0tTYvMIHdZdV2uSNDg==", + "dev": true, + "requires": { + "@babel/core": "^7.0.0", + "babel-plugin-react-intl": "^3.0.1", + "glob": "^7.1.3", + "lodash.merge": "^4.6.1", + "lodash.mergewith": "^4.6.1", + "pify": "^4.0.1", + "read-babelrc-up": "^0.3.1" + } + }, + "@digidem/extract-react-intl-messages": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@digidem/extract-react-intl-messages/-/extract-react-intl-messages-2.0.2.tgz", + "integrity": "sha512-b4ZH9irSVmat0oxatcaE7NnPxST4uKWeaeOxiJGinUE/yyTLI1zTXlhKIe0dIcRc0RfVp4ZHCZ8QC2oMXXoM+Q==", + "dev": true, + "requires": { + "@digidem/extract-react-intl": "^0.10.0", + "flat": "^4.1.0", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "mkdirp": "^0.5.1", + "sort-keys": "^3.0.0" + } + }, + "@emotion/cache": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.27.tgz", + "integrity": "sha512-Zp8BEpbMunFsTcqAK4D7YTm3MvCp1SekflSLJH8lze2fCcSZ/yMkXHo8kb3t1/1Tdd3hAqf3Fb7z9VZ+FMiC9w==", + "dev": true, + "requires": { + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" + } + }, + "@emotion/core": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.27.tgz", + "integrity": "sha512-XbD5R36pVbohQMnKfajHv43g8EbN4NHdF6Zh9zg/C0nr0jqwOw3gYnC07Xj3yG43OYSRyrGsoQ5qPwc8ycvLZw==", + "dev": true, + "requires": { + "@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": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", + "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", + "dev": true, + "requires": { + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/hash": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.7.4.tgz", + "integrity": "sha512-fxfMSBMX3tlIbKUdtGKxqB1fyrH6gVrX39Gsv3y8lRYKUqlgDt3UMqQyGnR1bQMa2B8aGnhLZokZgg8vT0Le+A==", + "dev": true + }, + "@emotion/is-prop-valid": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.6.tgz", + "integrity": "sha512-mnZMho3Sq8BfzkYYRVc8ilQTnc8U02Ytp6J1AwM6taQStZ3AhsEJBX2LzhA/LJirNCwM2VtHL3VFIZ+sNJUgUQ==", + "dev": true, + "requires": { + "@emotion/memoize": "0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "dev": true + }, + "@emotion/native": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/native/-/native-10.0.27.tgz", + "integrity": "sha512-3qxR2XFizGfABKKbX9kAYc0PHhKuCEuyxshoq3TaMEbi9asWHdQVChg32ULpblm4XAf9oxaitAU7J9SfdwFxtw==", + "dev": true, + "requires": { + "@emotion/primitives-core": "10.0.27" + } + }, + "@emotion/primitives-core": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/primitives-core/-/primitives-core-10.0.27.tgz", + "integrity": "sha512-fRBEDNPSFFOrBJ0OcheuElayrNTNdLF9DzMxtL0sFgsCFvvadlzwJHhJMSwEJuxwARm9GhVLr1p8G8JGkK98lQ==", + "dev": true, + "requires": { + "css-to-react-native": "^2.2.1" + } + }, + "@emotion/serialize": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.15.tgz", + "integrity": "sha512-YE+qnrmGwyR+XB5j7Bi+0GT1JWsdcjM/d4POu+TXkcnrRs4RFCCsi3d/Ebf+wSStHqAlTT2+dfd+b9N9EO2KBg==", + "dev": true, + "requires": { + "@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": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", + "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==", + "dev": true + }, + "@emotion/styled": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz", + "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==", + "dev": true, + "requires": { + "@emotion/styled-base": "^10.0.27", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/styled-base": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.27.tgz", + "integrity": "sha512-ufHM/HhE3nr309hJG9jxuFt71r6aHn7p+bwXduFxcwPFEfBIqvmZUMtZ9YxIsY61PVwK3bp4G1XhaCzy9smVvw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/is-prop-valid": "0.8.6", + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3" + } + }, + "@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==", + "dev": true + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "dev": true + }, + "@emotion/utils": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", + "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==", + "dev": true + }, + "@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==", + "dev": true + }, + "@formatjs/intl-displaynames": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-1.2.0.tgz", + "integrity": "sha512-mUGI2sc6OABkrMj42HlOpK1h96EVrN+gOhzbyCTMH9SVH/gPPLr/zFRH3KFWtBwxqhYsDghvUwm8xkdFOK0kTg==", + "requires": { + "@formatjs/intl-utils": "^2.2.0" + } + }, + "@formatjs/intl-listformat": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-1.4.1.tgz", + "integrity": "sha512-AX0o1y5xXyMY4ebZOO+UujMcDhniYDs50KpwGzjUPV+bBILwRYqH/6IprZZG/V8YSOtetZlalZiwzJ50dH6PuQ==", + "requires": { + "@formatjs/intl-utils": "^2.2.0" + } + }, + "@formatjs/intl-relativetimeformat": { + "version": "4.5.9", + "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.9.tgz", + "integrity": "sha512-6rgPXQl5MrPPbCuNiHxolzO6xNCHphCVEWW6RWGy7t/Mek70gD7nq1erW8fbQJ0XL/UeAC0Cz/+ggh7vaSsKNA==", + "requires": { + "@formatjs/intl-utils": "^2.2.0" + } + }, + "@formatjs/intl-unified-numberformat": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.2.0.tgz", + "integrity": "sha512-SZMTV/tR0h7nYhS2x69S7zhHXaBmE0ZTR2OIiakt8W7uYWVgcRhu/LgUeVtGzpwPI2ChcOjNMtX/k6y1M9aDNA==", + "requires": { + "@formatjs/intl-utils": "^2.2.0" + } + }, + "@formatjs/intl-utils": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-2.2.0.tgz", + "integrity": "sha512-+Az7tR1av1DHZu9668D8uh9atT6vp+FFmEF8BrEssv0OqzpVjpVBGVmcgPzQP8k2PQjVlm/h2w8cTt0knn132w==" + }, + "@formatjs/macro": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/macro/-/macro-0.2.6.tgz", + "integrity": "sha512-DfdnLJf8+PwLHzJECZ1Xfa8+sI9akQnUuLN2UdkaExTQmlY0Vs36rMzEP0JoVDBMk+KdQbJNt72rPeZkBNcKWg==" + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@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.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": "^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", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "requires": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "dev": true, + "requires": { + "@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", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "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.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + } + }, + "@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.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.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", + "write-file-atomic": "2.4.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + } + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@mapbox/geo-viewport": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@mapbox/geo-viewport/-/geo-viewport-0.4.0.tgz", + "integrity": "sha512-5OAXoP8C96Co3UDIzFliSzrK5njb9oG2H/RTMaZUW1swxIZlj3n3A5ccep5XAEIhTWxBLg/Cz48D3rUbAdXwHQ==", + "requires": { + "@mapbox/sphericalmercator": "~1.1.0" + } + }, + "@mapbox/sphericalmercator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/sphericalmercator/-/sphericalmercator-1.1.0.tgz", + "integrity": "sha512-pEsfZyG4OMThlfFQbCte4gegvHUjxXCjz0KZ4Xk8NdOYTQBLflj6U8PL05RPAiuRAMAQNUUKJuL6qYZ5Y4kAWA==" + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@octokit/auth-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz", + "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==", + "dev": true, + "requires": { + "@octokit/types": "^2.0.0" + } + }, + "@octokit/endpoint": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.2.tgz", + "integrity": "sha512-ICDcRA0C2vtTZZGud1nXRrBLXZqFayodXAKZfo3dkdcLNqcHsgaz3YSTupbURusYeucSVRjjG+RTcQhx6HPPcg==", + "dev": true, + "requires": { + "@octokit/types": "^2.0.0", + "is-plain-object": "^3.0.0", + "universal-user-agent": "^4.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "dev": true, + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true + } + } + }, + "@octokit/plugin-paginate-rest": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", + "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", + "dev": true, + "requires": { + "@octokit/types": "^2.0.1" + } + }, + "@octokit/plugin-request-log": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", + "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==", + "dev": true + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", + "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", + "dev": true, + "requires": { + "@octokit/types": "^2.0.1", + "deprecation": "^2.3.1" + } + }, + "@octokit/request": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz", + "integrity": "sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg==", + "dev": true, + "requires": { + "@octokit/endpoint": "^5.5.0", + "@octokit/request-error": "^1.0.1", + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "is-plain-object": "^3.0.0", + "node-fetch": "^2.3.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "dev": true, + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true + } + } + }, + "@octokit/request-error": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", + "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "dev": true, + "requires": { + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/rest": { + "version": "16.43.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz", + "integrity": "sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==", + "dev": true, + "requires": { + "@octokit/auth-token": "^2.4.0", + "@octokit/plugin-paginate-rest": "^1.1.1", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "2.4.0", + "@octokit/request": "^5.2.0", + "@octokit/request-error": "^1.0.2", + "atob-lite": "^2.0.0", + "before-after-hook": "^2.0.0", + "btoa-lite": "^1.0.0", + "deprecation": "^2.0.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lodash.uniq": "^4.5.0", + "octokit-pagination-methods": "^1.1.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" + } + }, + "@octokit/types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.1.1.tgz", + "integrity": "sha512-89LOYH+d/vsbDX785NOfLxTW88GjNd0lWRz1DVPVsZgg9Yett5O+3MOvwo7iHgvUwbFz0mf/yPIjBkUbs4kxoQ==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + }, + "@reach/router": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.1.tgz", + "integrity": "sha512-Ov1j1J+pSgXliJHFL7XWhjyREwc6GxeWfgBTa5MMH5eRmYtHbPhaovba4xKo7aTVCg8fxkt2yDMNSpvwfUP+pA==", + "dev": true, + "requires": { + "create-react-context": "0.3.0", + "invariant": "^2.2.3", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4" + } + }, + "@react-native-community/art": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@react-native-community/art/-/art-1.0.2.tgz", + "integrity": "sha512-GFqRy5DfHmD0LF+cIn1TPeNienFNTuLsv3SNq1vsg2J04l51ESSAUq7dY35cCE/g6Hfi9t8zx+A9sEMplRKZ0g==", + "requires": { + "art": "^0.10.3", + "invariant": "^2.2.4", + "prop-types": "^15.7.2" + } + }, + "@react-native-community/async-storage": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.7.1.tgz", + "integrity": "sha512-/oX/x+EU4xNaqIaC/epVKzO8XghzImPA7l8cLz3USEFmtFiXFjBbTeeIFjjEm/u4/cv38Wi1xMEa10PHIWygRg==" + }, + "@react-native-community/cli-debugger-ui": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-3.0.0.tgz", + "integrity": "sha512-m3X+iWLsK/H7/b7PpbNO33eQayR/+M26la4ZbYe1KRke5Umg4PIWsvg21O8Tw4uJcY8LA5hsP+rBi/syBkBf0g==", + "requires": { + "serve-static": "^1.13.1" + } + }, + "@react-native-community/cli-platform-android": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-3.0.3.tgz", + "integrity": "sha512-rNO9DmRiVhB6aP2DVUjEJv7ecriTARDZND88ny3xNVUkrD1Y+zwF6aZu3eoT52VXOxLCSLiJzz19OiyGmfqxYg==", + "requires": { + "@react-native-community/cli-tools": "^3.0.0", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "jetifier": "^1.6.2", + "logkitty": "^0.6.0", + "slash": "^3.0.0", + "xmldoc": "^1.1.2" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@react-native-community/cli-platform-ios": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.0.0.tgz", + "integrity": "sha512-QoNVlDj8eMXRZk9uktPFsctHurQpv9jKmiu6mQii4NEtT2npE7g1hbWpRNojutBsfgmCdQGDHd9uB54eeCnYgg==", + "requires": { + "@react-native-community/cli-tools": "^3.0.0", + "chalk": "^2.4.2", + "js-yaml": "^3.13.1", + "xcode": "^2.0.0" + } + }, + "@react-native-community/cli-tools": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-3.0.0.tgz", + "integrity": "sha512-8IhQKZdf3E4CR8T7HhkPGgorot/cLkRDgneJFDSWk/wCYZAuUh4NEAdumQV7N0jLSMWX7xxiWUPi94lOBxVY9g==", + "requires": { + "chalk": "^2.4.2", + "lodash": "^4.17.5", + "mime": "^2.4.1", + "node-fetch": "^2.5.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + } + } + }, + "@react-native-community/cli-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-3.0.0.tgz", + "integrity": "sha512-ng6Tm537E/M42GjE4TRUxQyL8sRfClcL7bQWblOCoxPZzJ2J3bdALsjeG3vDnVCIfI/R0AeFalN9KjMt0+Z/Zg==" + }, + "@react-native-community/eslint-config": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-0.0.5.tgz", + "integrity": "sha512-jwO2tnKaTPTLX5XYXMHGEnFdf543SU7jz98/OF5mDH3b7lP+BOaCD+jVfqqHoDRkcqyPlYiR1CgwVGWpi0vMWg==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^1.5.0", + "@typescript-eslint/parser": "^1.5.0", + "babel-eslint": "10.0.1", + "eslint-plugin-eslint-comments": "^3.1.1", + "eslint-plugin-flowtype": "2.50.3", + "eslint-plugin-jest": "22.4.1", + "eslint-plugin-prettier": "2.6.2", + "eslint-plugin-react": "7.12.4", + "eslint-plugin-react-hooks": "^1.5.1", + "eslint-plugin-react-native": "3.6.0", + "prettier": "1.16.4" + }, + "dependencies": { + "babel-eslint": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", + "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", + "dev": true, + "requires": { + "@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" + } + }, + "eslint-plugin-flowtype": { + "version": "2.50.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", + "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "eslint-plugin-jest": { + "version": "22.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", + "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", + "dev": true + }, + "eslint-plugin-prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz", + "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==", + "dev": true, + "requires": { + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" + } + }, + "eslint-plugin-react": { + "version": "7.12.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz", + "integrity": "sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.0.1", + "object.fromentries": "^2.0.0", + "prop-types": "^15.6.2", + "resolve": "^1.9.0" + } + }, + "eslint-plugin-react-native": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.6.0.tgz", + "integrity": "sha512-BEQcHZ06hZSBYWFVuNEq0xuui5VEsWpHDsZGBtfadHfCRqRMUrkYPgdDb3bpc60qShHE83kqIv59uKdinEg91Q==", + "dev": true, + "requires": { + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "prettier": { + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz", + "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==", + "dev": true + } + } + }, + "@react-native-community/netinfo": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-4.7.0.tgz", + "integrity": "sha512-a/sDB+AsLEUNmhAUlAaTYeXKyQdFGBUfatqKkX5jluBo2CB3OAuTHfm7rSjcaLB9EmG5iSq3fOTpync2E7EYTA==" + }, + "@react-native-mapbox-gl/maps": { + "version": "github:gmaclennan/react-native-mapbox-gl#ca49bf0311cbf04c4dc036d67ab7d1295b3a7101", + "from": "github:gmaclennan/react-native-mapbox-gl#set-connected", + "requires": { + "@mapbox/geo-viewport": ">= 0.4.0", + "@turf/along": ">= 4.0.0 <7.0.0", + "@turf/distance": ">= 4.0.0 <7.0.0", + "@turf/helpers": ">= 4.6.0 <7.0.0", + "underscore": "^1.8.3" + } + }, + "@react-navigation/core": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.5.2.tgz", + "integrity": "sha512-HgKXci1h74aETgm5CXMBoIWG8R7VZG1eUUHYb3BdxwekdiZjW1P/srjiXzsCqFGlsESnVIOIkzT4DqI9J752Bw==", + "requires": { + "hoist-non-react-statics": "^3.3.0", + "path-to-regexp": "^1.7.0", + "query-string": "^6.4.2", + "react-is": "^16.8.6" + } + }, + "@react-navigation/native": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.6.5.tgz", + "integrity": "sha512-ttEmnokFVf09CvrkzlPIdfA693KfYcRxTYf9OZwp0Ll6El27UYjJD4arwGc+zvlohjTErCdba6CAKV702Wv28w==", + "requires": { + "hoist-non-react-statics": "^3.3.2", + "react-native-safe-area-view": "^0.14.8" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true + }, + "@storybook/addon-actions": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-5.3.12.tgz", + "integrity": "sha512-3j6ZJROcH4bm8vpaM2RU/sRdoOLF9DpVWiE6uutlrVEV6eWuexrUAYwSzuF4Pjr1LUWDSDIT9pEES+tHdn9Rww==", + "dev": true, + "requires": { + "@storybook/addons": "5.3.12", + "@storybook/api": "5.3.12", + "@storybook/client-api": "5.3.12", + "@storybook/components": "5.3.12", + "@storybook/core-events": "5.3.12", + "@storybook/theming": "5.3.12", + "core-js": "^3.0.1", + "fast-deep-equal": "^2.0.1", + "global": "^4.3.2", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-inspector": "^4.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + } + } + }, + "@storybook/addon-info": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/addon-info/-/addon-info-5.3.12.tgz", + "integrity": "sha512-5dju7eJns4q3HY13qnWR9ey0iPxezrYAOhg4lFMHpw95PVEfoXbXS1pdSd2mP8BilcxmWlQ7Uo0HC8kYDOjtdQ==", + "dev": true, + "requires": { + "@storybook/addons": "5.3.12", + "@storybook/client-logger": "5.3.12", + "@storybook/components": "5.3.12", + "@storybook/theming": "5.3.12", + "core-js": "^3.0.1", + "global": "^4.3.2", + "marksy": "^8.0.0", + "nested-object-assign": "^1.0.3", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-addons-create-fragment": "^15.6.2", + "react-element-to-jsx-string": "^14.0.2", + "react-is": "^16.8.3", + "react-lifecycles-compat": "^3.0.4", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/addon-links": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-5.3.12.tgz", + "integrity": "sha512-8ipbr21wbbXDy+JKiVr6Maac7EbZT7sE41/RTvVZjdMFWQU+XG5sxneJBJcgSzCsFV3wWyLEjb3DEkC/rCkdaw==", + "dev": true, + "requires": { + "@storybook/addons": "5.3.12", + "@storybook/client-logger": "5.3.12", + "@storybook/core-events": "5.3.12", + "@storybook/csf": "0.0.1", + "@storybook/router": "5.3.12", + "core-js": "^3.0.1", + "global": "^4.3.2", + "prop-types": "^15.7.2", + "qs": "^6.6.0", + "ts-dedent": "^1.1.0" + }, + "dependencies": { + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + } + } + }, + "@storybook/addon-viewport": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-5.3.12.tgz", + "integrity": "sha512-SvSoRTMYLvHU8ulWwOdzISlNbkdQMPgYGW18HuZ80AA52Q9KoVPC+hXI6rWq8HJ5iP47K9K2fpsIjqQSqzY/hQ==", + "dev": true, + "requires": { + "@storybook/addons": "5.3.12", + "@storybook/api": "5.3.12", + "@storybook/client-logger": "5.3.12", + "@storybook/components": "5.3.12", + "@storybook/core-events": "5.3.12", + "@storybook/theming": "5.3.12", + "core-js": "^3.0.1", + "global": "^4.3.2", + "memoizerific": "^1.11.3", + "prop-types": "^15.7.2", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/addons": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-5.3.12.tgz", + "integrity": "sha512-5jVns+wq95ZismEQ5ByDhrEFzDH8OIEj2BLSPT7VTbik7iLC+h7H2toWKAwIYZCxAuq0OTy6ZpIyhU/R2YuO4w==", + "dev": true, + "requires": { + "@storybook/api": "5.3.12", + "@storybook/channels": "5.3.12", + "@storybook/client-logger": "5.3.12", + "@storybook/core-events": "5.3.12", + "core-js": "^3.0.1", + "global": "^4.3.2", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/api": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-5.3.12.tgz", + "integrity": "sha512-wYsr97vqARwmOordlPY17MJ9PrHSCsSM9JRC/zh698kXQGwYnse1nErzAiwj8YxuItfWGzE06kqjZBccnfSxPQ==", + "dev": true, + "requires": { + "@reach/router": "^1.2.1", + "@storybook/channels": "5.3.12", + "@storybook/client-logger": "5.3.12", + "@storybook/core-events": "5.3.12", + "@storybook/csf": "0.0.1", + "@storybook/router": "5.3.12", + "@storybook/theming": "5.3.12", + "@types/reach__router": "^1.2.3", + "core-js": "^3.0.1", + "fast-deep-equal": "^2.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "prop-types": "^15.6.2", + "react": "^16.8.3", + "semver": "^6.0.0", + "shallow-equal": "^1.1.0", + "store2": "^2.7.1", + "telejson": "^3.2.0", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@storybook/channel-postmessage": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-5.3.12.tgz", + "integrity": "sha512-yQZ6Ef0KnxI7vxJrcJaBYeZpxhl/18WEFtAO9MphvYvtd1dudqKNqdx9B/30PIXb7c/SptvGJR/EZhsRNr4Oug==", + "dev": true, + "requires": { + "@storybook/channels": "5.3.12", + "@storybook/client-logger": "5.3.12", + "core-js": "^3.0.1", + "global": "^4.3.2", + "telejson": "^3.2.0" + } + }, + "@storybook/channel-websocket": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-5.3.12.tgz", + "integrity": "sha512-K2NCtGMUJjKTJLeLv/KBafCGTzFVEFyAeGH79vCuMLSzfn2T+6q+1aEs1TFg0FSxaJ/oaGTo9uRMF9YDMnBpow==", + "dev": true, + "requires": { + "@storybook/channels": "5.3.12", + "core-js": "^3.0.1", + "global": "^4.3.2", + "json-fn": "^1.1.1" + } + }, + "@storybook/channels": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-5.3.12.tgz", + "integrity": "sha512-sfSHIRUusjZ69WhfPp8BrfmlGg80PYTNCBSE+1apK/WkgzYJyGgQmJgRAW6HTFqjawD7T+utAtarsqS30jo9jQ==", + "dev": true, + "requires": { + "core-js": "^3.0.1" + } + }, + "@storybook/client-api": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-5.3.12.tgz", + "integrity": "sha512-Qzi+pS9FwqrArnG1VMV4QJxEdvw7KVc2ufgax7jCvK8JtDlSVe1/qpbJn7U3o1z4TPY/u3m6PbBLJDoSWTVonw==", + "dev": true, + "requires": { + "@storybook/addons": "5.3.12", + "@storybook/channel-postmessage": "5.3.12", + "@storybook/channels": "5.3.12", + "@storybook/client-logger": "5.3.12", + "@storybook/core-events": "5.3.12", + "@storybook/csf": "0.0.1", + "@types/webpack-env": "^1.15.0", + "core-js": "^3.0.1", + "eventemitter3": "^4.0.0", + "global": "^4.3.2", + "is-plain-object": "^3.0.0", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "qs": "^6.6.0", + "stable": "^0.1.8", + "ts-dedent": "^1.1.0", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "dev": true, + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true + }, + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + } + } + }, + "@storybook/client-logger": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-5.3.12.tgz", + "integrity": "sha512-LsKDW4ijGJjyRg3GetS/OtVS+8ESxydVG55jvAlExHehUcVRvrPew5MsW63CRTQDpZsoh1aT9oV1yr8eYu1HZg==", + "dev": true, + "requires": { + "core-js": "^3.0.1" + } + }, + "@storybook/components": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-5.3.12.tgz", + "integrity": "sha512-Ma67yaSJHaNqLjp2csOZvHdu1Sk1eMke29WVEWjPYUBzzaZK7ZlmGiXzN0roYJVGaqHkl2f7xxRfPfWQp9NCIw==", + "dev": true, + "requires": { + "@storybook/client-logger": "5.3.12", + "@storybook/theming": "5.3.12", + "@types/react-syntax-highlighter": "11.0.2", + "@types/react-textarea-autosize": "^4.3.3", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "markdown-to-jsx": "^6.9.1", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "popper.js": "^1.14.7", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-dom": "^16.8.3", + "react-focus-lock": "^2.1.0", + "react-helmet-async": "^1.0.2", + "react-popper-tooltip": "^2.8.3", + "react-syntax-highlighter": "^11.0.2", + "react-textarea-autosize": "^7.1.0", + "simplebar-react": "^1.0.0-alpha.6", + "ts-dedent": "^1.1.0" + } + }, + "@storybook/core": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-5.3.12.tgz", + "integrity": "sha512-oqffKLyMEVREeOC8O1RVO+xn68zk4wZkjWN9KbhbMoP3zdxM1gdvpsemdVE1C008mZfe1A/KBwuuEmcn9EBTNw==", + "dev": true, + "requires": { + "@babel/plugin-proposal-class-properties": "^7.7.0", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-transform-react-constant-elements": "^7.2.0", + "@babel/preset-env": "^7.4.5", + "@storybook/addons": "5.3.12", + "@storybook/channel-postmessage": "5.3.12", + "@storybook/client-api": "5.3.12", + "@storybook/client-logger": "5.3.12", + "@storybook/core-events": "5.3.12", + "@storybook/csf": "0.0.1", + "@storybook/node-logger": "5.3.12", + "@storybook/router": "5.3.12", + "@storybook/theming": "5.3.12", + "@storybook/ui": "5.3.12", + "airbnb-js-shims": "^2.2.1", + "ansi-to-html": "^0.6.11", + "autoprefixer": "^9.7.2", + "babel-plugin-add-react-displayname": "^0.0.5", + "babel-plugin-emotion": "^10.0.20", + "babel-plugin-macros": "^2.7.0", + "babel-preset-minify": "^0.5.0 || 0.6.0-alpha.5", + "boxen": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "chalk": "^3.0.0", + "cli-table3": "0.5.1", + "commander": "^4.0.1", + "core-js": "^3.0.1", + "corejs-upgrade-webpack-plugin": "^2.2.0", + "css-loader": "^3.0.0", + "detect-port": "^1.3.0", + "dotenv-webpack": "^1.7.0", + "ejs": "^2.7.4", + "express": "^4.17.0", + "file-loader": "^4.2.0", + "file-system-cache": "^1.0.5", + "find-cache-dir": "^3.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.0.1", + "glob-base": "^0.3.0", + "global": "^4.3.2", + "html-webpack-plugin": "^4.0.0-beta.2", + "inquirer": "^7.0.0", + "interpret": "^2.0.0", + "ip": "^1.1.5", + "json5": "^2.1.1", + "lazy-universal-dotenv": "^3.0.1", + "micromatch": "^4.0.2", + "node-fetch": "^2.6.0", + "open": "^7.0.0", + "pnp-webpack-plugin": "1.5.0", + "postcss-flexbugs-fixes": "^4.1.0", + "postcss-loader": "^3.0.0", + "pretty-hrtime": "^1.0.3", + "qs": "^6.6.0", + "raw-loader": "^3.1.0", + "react-dev-utils": "^9.0.0", + "regenerator-runtime": "^0.13.3", + "resolve": "^1.11.0", + "resolve-from": "^5.0.0", + "semver": "^6.0.0", + "serve-favicon": "^2.5.0", + "shelljs": "^0.8.3", + "style-loader": "^1.0.0", + "terser-webpack-plugin": "^2.1.2", + "ts-dedent": "^1.1.0", + "unfetch": "^4.1.0", + "url-loader": "^2.0.1", + "util-deprecate": "^1.0.2", + "webpack": "^4.33.0", + "webpack-dev-middleware": "^3.7.0", + "webpack-hot-middleware": "^2.25.0", + "webpack-virtual-modules": "^0.2.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.2.0.tgz", + "integrity": "sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.0", + "pkg-dir": "^4.1.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "inquirer": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", + "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.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", + "run-async": "^2.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-wsl": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "dev": true + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.0.2.tgz", + "integrity": "sha512-70E/pFTPr7nZ9nLDPNTcj3IVqnNvKuP4VsBmoKV9YGTnChe0mlS3C4qM7qKarhZ8rGaHKLfo+vBTHXDp6ZSyLQ==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "@storybook/core-events": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-5.3.12.tgz", + "integrity": "sha512-qUX0xvADM8LBUtzeTi8r803eeikyzooH8HwnUg6GP238NRnR13BK/tSnBx6XpJubGL5gv9a1jZJQWxP25KPHfA==", + "dev": true, + "requires": { + "core-js": "^3.0.1" + } + }, + "@storybook/csf": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", + "integrity": "sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "@storybook/node-logger": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-5.3.12.tgz", + "integrity": "sha512-ytIqS1Lx+gWFBNxwWOK7F63702YYsoU90UFQNUMC44lC1L7tOI9BQXtGIWTvmXJYns+O5pHHOVKkHLT9EGX2OA==", + "dev": true, + "requires": { + "@types/npmlog": "^4.1.2", + "chalk": "^3.0.0", + "core-js": "^3.0.1", + "npmlog": "^4.1.2", + "pretty-hrtime": "^1.0.3", + "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@storybook/react": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-5.3.12.tgz", + "integrity": "sha512-eMbnzXizx0rp3UEnxZlySBI/z1Z/ursw0u2bFr2N9okzOio3yLSoDeMuB6BzZxDLkSgfQAw2qHtJa0eddjxoRQ==", + "dev": true, + "requires": { + "@babel/plugin-transform-react-constant-elements": "^7.6.3", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-react": "^7.0.0", + "@storybook/addons": "5.3.12", + "@storybook/core": "5.3.12", + "@storybook/node-logger": "5.3.12", + "@svgr/webpack": "^4.0.3", + "@types/webpack-env": "^1.15.0", + "babel-plugin-add-react-displayname": "^0.0.5", + "babel-plugin-named-asset-import": "^0.3.1", + "babel-plugin-react-docgen": "^4.0.0", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "mini-css-extract-plugin": "^0.9.0", + "prop-types": "^15.7.2", + "react-dev-utils": "^9.0.0", + "regenerator-runtime": "^0.13.3", + "semver": "^6.0.0", + "ts-dedent": "^1.1.0", + "webpack": "^4.33.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@storybook/react-native": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/react-native/-/react-native-5.3.12.tgz", + "integrity": "sha512-TNqqmiEOvQe0lsVVaePTbOXxvCOYitSnF1pBrJX+sMAEw7b12k9LVPIde9uvROaKHxHv8IxMqnKMjTzaqiJ7UQ==", + "dev": true, + "requires": { + "@emotion/core": "^10.0.20", + "@emotion/native": "^10.0.14", + "@storybook/addons": "5.3.12", + "@storybook/channel-websocket": "5.3.12", + "@storybook/channels": "5.3.12", + "@storybook/client-api": "5.3.12", + "@storybook/core-events": "5.3.12", + "core-js": "^3.0.1", + "emotion-theming": "^10.0.19", + "react-native-swipe-gestures": "^1.0.4" + } + }, + "@storybook/react-native-server": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/react-native-server/-/react-native-server-5.3.12.tgz", + "integrity": "sha512-V/qF5A60N6J/Y70OcR3pw5nQvQciaHQgmhLCtcCY/bP/Mrx9IQsBRgP1+OQ4GPe5WcxlJR0HkCYL4UFXmvHP4g==", + "dev": true, + "requires": { + "@storybook/addons": "5.3.12", + "@storybook/api": "5.3.12", + "@storybook/channel-websocket": "5.3.12", + "@storybook/core": "5.3.12", + "@storybook/core-events": "5.3.12", + "@storybook/ui": "5.3.12", + "commander": "^4.0.1", + "core-js": "^3.0.1", + "global": "^4.3.2", + "react": "^16.6.0", + "react-dom": "^16.8.3", + "uuid": "^3.3.2", + "webpack": "^4.33.0", + "ws": "^7.1.2" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "ws": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz", + "integrity": "sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==", + "dev": true + } + } + }, + "@storybook/router": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-5.3.12.tgz", + "integrity": "sha512-IuI/MMFb27XGFaFjaUCYUgK+P4jeGLBDI4cCn6Fezb5RRgpdOf2DobDIUZtujSmvPnEF8C+SJE/v1dXihRO1Xg==", + "dev": true, + "requires": { + "@reach/router": "^1.2.1", + "@storybook/csf": "0.0.1", + "@types/reach__router": "^1.2.3", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "qs": "^6.6.0", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + } + } + }, + "@storybook/theming": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-5.3.12.tgz", + "integrity": "sha512-LwyFBbxYtm2rr86mA0d+oYisIpW2GrDqmv0ZGEmx9EqKK1JwG3N99VSK7iHig6vpNu42LHLakuaqK55H2Q7YcA==", + "dev": true, + "requires": { + "@emotion/core": "^10.0.20", + "@emotion/styled": "^10.0.17", + "@storybook/client-logger": "5.3.12", + "core-js": "^3.0.1", + "deep-object-diff": "^1.1.0", + "emotion-theming": "^10.0.19", + "global": "^4.3.2", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "resolve-from": "^5.0.0", + "ts-dedent": "^1.1.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@storybook/ui": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-5.3.12.tgz", + "integrity": "sha512-dVYJJkwjfGkz3u0lnfawnT6hqBRnANVlKEYirKYZyQ/RouCN3naNh9Sagrpg7hJHYib4Ny6J/pyaNdfdieDS+w==", + "dev": true, + "requires": { + "@emotion/core": "^10.0.20", + "@storybook/addons": "5.3.12", + "@storybook/api": "5.3.12", + "@storybook/channels": "5.3.12", + "@storybook/client-logger": "5.3.12", + "@storybook/components": "5.3.12", + "@storybook/core-events": "5.3.12", + "@storybook/router": "5.3.12", + "@storybook/theming": "5.3.12", + "copy-to-clipboard": "^3.0.8", + "core-js": "^3.0.1", + "core-js-pure": "^3.0.1", + "emotion-theming": "^10.0.19", + "fast-deep-equal": "^2.0.1", + "fuse.js": "^3.4.6", + "global": "^4.3.2", + "lodash": "^4.17.15", + "markdown-to-jsx": "^6.9.3", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "qs": "^6.6.0", + "react": "^16.8.3", + "react-dom": "^16.8.3", + "react-draggable": "^4.0.3", + "react-helmet-async": "^1.0.2", + "react-hotkeys": "2.0.0", + "react-sizeme": "^2.6.7", + "regenerator-runtime": "^0.13.2", + "resolve-from": "^5.0.0", + "semver": "^6.0.0", + "store2": "^2.7.1", + "telejson": "^3.2.0", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", + "dev": true + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", + "dev": true + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", + "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", + "dev": true + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", + "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", + "dev": true + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", + "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", + "dev": true + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", + "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", + "dev": true + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", + "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", + "dev": true + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", + "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", + "dev": true + }, + "@svgr/babel-preset": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", + "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", + "dev": true, + "requires": { + "@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-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": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", + "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", + "dev": true, + "requires": { + "@svgr/plugin-jsx": "^4.3.3", + "camelcase": "^5.3.1", + "cosmiconfig": "^5.2.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", + "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@svgr/plugin-jsx": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", + "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "dev": true, + "requires": { + "@babel/core": "^7.4.5", + "@svgr/babel-preset": "^4.3.3", + "@svgr/hast-util-to-babel-ast": "^4.3.2", + "svg-parser": "^2.0.0" + } + }, + "@svgr/plugin-svgo": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", + "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", + "dev": true, + "requires": { + "cosmiconfig": "^5.2.1", + "merge-deep": "^3.0.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.3.tgz", + "integrity": "sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==", + "dev": true, + "requires": { + "@babel/core": "^7.4.5", + "@babel/plugin-transform-react-constant-elements": "^7.0.0", + "@babel/preset-env": "^7.4.5", + "@babel/preset-react": "^7.0.0", + "@svgr/core": "^4.3.3", + "@svgr/plugin-jsx": "^4.3.3", + "@svgr/plugin-svgo": "^4.3.1", + "loader-utils": "^1.2.3" + } + }, + "@turf/along": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@turf/along/-/along-6.0.1.tgz", + "integrity": "sha512-6PptAcrsFR3o0Flpktk8Vo68W2txEVTh14zjoTVu+H5docd2+pv5/upA77bg3YFBoJgAxmUFt1leDdjReJ44BQ==", + "requires": { + "@turf/bearing": "6.x", + "@turf/destination": "6.x", + "@turf/distance": "6.x", + "@turf/helpers": "6.x", + "@turf/invariant": "6.x" + } + }, + "@turf/bearing": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@turf/bearing/-/bearing-6.0.1.tgz", + "integrity": "sha512-mXY1NozqV9EFfBTbUItujwfqfQF0G/Xe2fzvnZle90ekPEUfhi4Dgf5JswJTd96J9LiT8kcd6Jonp5khnx0wIg==", + "requires": { + "@turf/helpers": "6.x", + "@turf/invariant": "6.x" + } + }, + "@turf/destination": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@turf/destination/-/destination-6.0.1.tgz", + "integrity": "sha512-MroK4nRdp7as174miCAugp8Uvorhe6rZ7MJiC9Hb4+hZR7gNFJyVKmkdDDXIoCYs6MJQsx0buI+gsCpKwgww0Q==", + "requires": { + "@turf/helpers": "6.x", + "@turf/invariant": "6.x" + } + }, + "@turf/distance": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-6.0.1.tgz", + "integrity": "sha512-q7t7rWIWfkg7MP1Vt4uLjSEhe5rPfCO2JjpKmk7JC+QZKEQkuvHEqy3ejW1iC7Kw5ZcZNR3qdMGGz+6HnVwqvg==", + "requires": { + "@turf/helpers": "6.x", + "@turf/invariant": "6.x" + } + }, + "@turf/helpers": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.1.4.tgz", + "integrity": "sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g==" + }, + "@turf/invariant": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.1.2.tgz", + "integrity": "sha512-WU08Ph8j0J2jVGlQCKChXoCtI50BB3yEH21V++V0T4cR1T27HKCxkehV2sYMwTierfMBgjwSwDIsxnR4/2mWXg==", + "requires": { + "@turf/helpers": "6.x" + } + }, + "@turf/random": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@turf/random/-/random-6.0.2.tgz", + "integrity": "sha512-kAJhZ2QZ4kM2ArI0lrFLtq1LCH4ZSjleUlj1izi/405XenjddjrbgtewpZte8IxCSeV4yK46lsDRS1911cF5lg==", + "dev": true, + "requires": { + "@turf/helpers": "6.x" + } + }, + "@types/babel__core": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", + "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", + "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "@types/hammerjs": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.36.tgz", + "integrity": "sha512-7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==" + }, + "@types/history": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.5.tgz", + "integrity": "sha512-wLD/Aq2VggCJXSjxEwrMafIP51Z+13H78nXIX0ABEuIGhmB5sNGbR113MOKo+yfw+RDo1ZU3DM6yfnnRF/+ouw==", + "dev": true + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/invariant": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.31.tgz", + "integrity": "sha512-jMlgg9pIURvy9jgBHCjQp/CyBjYHUwj91etVcDdXkFl2CwTFiQlB+8tcsMeXpXf2PFE5X2pjk4Gm43hQSMHAdA==" + }, + "@types/is-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/is-function/-/is-function-1.0.0.tgz", + "integrity": "sha512-iTs9HReBu7evG77Q4EC8hZnqRt57irBDkK9nvmHroiOIVwYMQc4IvYvdRgwKfYepunIY7Oh/dBuuld+Gj9uo6w==", + "dev": true + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "13.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.1.tgz", + "integrity": "sha512-Zq8gcQGmn4txQEJeiXo/KiLpon8TzAl0kmKH4zdWctPj05nWwp1ClMdAVEloqrQKfaC48PNLdgN/aVaLqUrluA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-4QQmOF5KlwfxJ5IGXFIudkeLCdMABz03RcUXu+LCb24zmln8QW6aDjuGl4d4XPVLf2j+FnjelHTP7dvceAFbhA==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true + }, + "@types/reach__router": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.2.6.tgz", + "integrity": "sha512-Oh5DAVr/L2svBvubw6QEFpXGu295Y406BPs4i9t1n2pp7M+q3pmCmhzb9oZV5wncR41KCD3NHl1Yhi7uKnTPsA==", + "dev": true, + "requires": { + "@types/history": "*", + "@types/react": "*" + } + }, + "@types/react": { + "version": "16.9.19", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.19.tgz", + "integrity": "sha512-LJV97//H+zqKWMms0kvxaKYJDG05U2TtQB3chRLF8MPNs+MQh/H1aGlyDUxjaHvu08EAGerdX2z4LTBc7ns77A==", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@types/react-syntax-highlighter": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.2.tgz", + "integrity": "sha512-iMNcixH8330f2dq0RY+VOXCP8JFehgmOhLOtnO85Ty+qu0fHXJNEqWx5VuFv8v0aEq0U/N9d/k1yvA+c6PEmPw==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-textarea-autosize": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/react-textarea-autosize/-/react-textarea-autosize-4.3.5.tgz", + "integrity": "sha512-PiDL83kPMTolyZAWW3lyzO6ktooTb9tFTntVy7CA83/qFLWKLJ5bLeRboy6J6j3b1e8h2Eec6gBTEOOJRjV14A==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" + }, + "@types/webpack-env": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.15.1.tgz", + "integrity": "sha512-eWN5ElDTeBc5lRDh95SqA8x18D0ll2pWudU3uWiyfsRmIZcmUXpEsxPU+7+BsdCrO2vfLRC629u/MmjbmF+2tA==", + "dev": true + }, + "@types/yargs": { + "version": "13.0.8", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", + "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz", + "integrity": "sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g==", + "dev": true, + "requires": { + "@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/experimental-utils": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", + "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-scope": "^4.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.13.0.tgz", + "integrity": "sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ==", + "dev": true, + "requires": { + "@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": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", + "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", + "requires": { + "lodash.unescape": "4.0.1", + "semver": "5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + } + } + }, + "@unimodules/core": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@unimodules/core/-/core-5.0.0.tgz", + "integrity": "sha512-PswccfzFIviX61Lm8h6/QyC94bWe+6cARwhzgzTCKa6aR6azmi4732ExhX4VxfQjJNHB0szYVXGXVEDsFkj+tQ==", + "requires": { + "compare-versions": "^3.4.0" + } + }, + "@unimodules/react-native-adapter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@unimodules/react-native-adapter/-/react-native-adapter-5.0.0.tgz", + "integrity": "sha512-qb5p5wUQoi3TRa/33aLLHSnS7sewV99oBxIo9gnzNI3VFzbOm3rsbTjOJNcR2hx0raUolTtnQT75VbgagVQx4w==", + "requires": { + "invariant": "^2.2.4", + "lodash": "^4.5.0", + "prop-types": "^15.6.1" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "absolute-path": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", + "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "dev": true + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + } + } + }, + "airbnb-js-shims": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/airbnb-js-shims/-/airbnb-js-shims-2.2.1.tgz", + "integrity": "sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "array.prototype.flatmap": "^1.2.1", + "es5-shim": "^4.5.13", + "es6-shim": "^0.35.5", + "function.prototype.name": "^1.1.0", + "globalthis": "^1.0.0", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0 || ^1.0.0", + "object.getownpropertydescriptors": "^2.0.3", + "object.values": "^1.1.0", + "promise.allsettled": "^1.0.0", + "promise.prototype.finally": "^3.1.0", + "string.prototype.matchall": "^4.0.0 || ^3.0.1", + "string.prototype.padend": "^3.0.0", + "string.prototype.padstart": "^3.0.0", + "symbol.prototype.description": "^1.0.0" + } + }, + "ajv": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "requires": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansi-to-html": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", + "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", + "dev": true, + "requires": { + "entities": "^1.1.2" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "app-root-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", + "integrity": "sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "array.prototype.flatmap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", + "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + } + }, + "array.prototype.map": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz", + "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.4" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "art": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/art/-/art-0.10.3.tgz", + "integrity": "sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ==" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz", + "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "async-retry": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz", + "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==", + "dev": true, + "requires": { + "retry": "0.12.0" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=", + "dev": true + }, + "autoprefixer": { + "version": "9.7.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", + "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", + "dev": true, + "requires": { + "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.26", + "postcss-value-parser": "^4.0.2" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + }, + "axios": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "dev": true, + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + } + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-helper-evaluate-path": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", + "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==", + "dev": true + }, + "babel-helper-flip-expressions": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", + "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", + "dev": true + }, + "babel-helper-is-nodes-equiv": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", + "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", + "dev": true + }, + "babel-helper-is-void-0": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", + "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", + "dev": true + }, + "babel-helper-mark-eval-scopes": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", + "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", + "dev": true + }, + "babel-helper-remove-or-void": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", + "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", + "dev": true + }, + "babel-helper-to-multiple-sequence-expressions": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", + "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==", + "dev": true + }, + "babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "dev": true, + "requires": { + "@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.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + } + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + } + }, + "babel-plugin-add-react-displayname": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", + "integrity": "sha1-M51M3be2X9YtHfnbn+BN4TQSK9U=", + "dev": true + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-emotion": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.27.tgz", + "integrity": "sha512-SUNYcT4FqhOqvwv0z1oeYhqgheU8qrceLojuHyX17ngo7WtWqN5I9l3IGHzf21Xraj465CVzF4IvOlAF+3ed0A==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@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", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "dev": true, + "requires": { + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "babel-plugin-minify-builtins": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", + "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==", + "dev": true + }, + "babel-plugin-minify-constant-folding": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", + "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "^0.5.0" + } + }, + "babel-plugin-minify-dead-code-elimination": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", + "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-mark-eval-scopes": "^0.4.3", + "babel-helper-remove-or-void": "^0.4.3", + "lodash": "^4.17.11" + } + }, + "babel-plugin-minify-flip-comparisons": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", + "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", + "dev": true, + "requires": { + "babel-helper-is-void-0": "^0.4.3" + } + }, + "babel-plugin-minify-guarded-expressions": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz", + "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-flip-expressions": "^0.4.3" + } + }, + "babel-plugin-minify-infinity": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", + "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", + "dev": true + }, + "babel-plugin-minify-mangle-names": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", + "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", + "dev": true, + "requires": { + "babel-helper-mark-eval-scopes": "^0.4.3" + } + }, + "babel-plugin-minify-numeric-literals": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", + "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", + "dev": true + }, + "babel-plugin-minify-replace": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", + "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==", + "dev": true + }, + "babel-plugin-minify-simplify": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz", + "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-flip-expressions": "^0.4.3", + "babel-helper-is-nodes-equiv": "^0.0.1", + "babel-helper-to-multiple-sequence-expressions": "^0.5.0" + } + }, + "babel-plugin-minify-type-constructors": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", + "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", + "dev": true, + "requires": { + "babel-helper-is-void-0": "^0.4.3" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz", + "integrity": "sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA==", + "dev": true + }, + "babel-plugin-react-docgen": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.1.0.tgz", + "integrity": "sha512-vzpnBlfGv8XOhJM2zbPyyqw2OLEbelgZZsaaRRTpVwNKuYuc+pUg4+dy7i9gCRms0uOQn4osX571HRcCJMJCmA==", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "react-docgen": "^5.0.0", + "recast": "^0.14.7" + } + }, + "babel-plugin-react-intl": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-3.5.1.tgz", + "integrity": "sha512-1jlEJCSmLaJM4tjIKpu64UZ833COCHmwR77bFJDOye+zlwf80uR1b8p41l4tClx1QsrfI+qV6w/5AiPYQgaMUQ==", + "dev": true, + "requires": { + "@babel/core": "^7.4.5", + "@babel/helper-plugin-utils": "^7.0.0", + "@types/babel__core": "^7.1.2", + "fs-extra": "^8.0.1", + "intl-messageformat-parser": "^1.8.1" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "intl-messageformat-parser": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz", + "integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==", + "dev": true + } + } + }, + "babel-plugin-react-intl-auto": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl-auto/-/babel-plugin-react-intl-auto-2.3.0.tgz", + "integrity": "sha512-y9QSRHkuN2eAPlvhvvJCbWjxeXhd0kbFLksLkMgaqX7VAiWON04rTSfq4PVbvgfvs5MHdLLbGrxBEWQ129QVIA==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5", + "murmurhash3js": "^3.0.1" + } + }, + "babel-plugin-react-native-web": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.11.7.tgz", + "integrity": "sha512-CxE7uhhqkzAFkwV2X7+Mc/UVPujQQDtja/EGxCXRJvdYRi72QTmaJYKbK1lV9qgTZuB+TDguU89coaA9Z1BNbg==", + "dev": true + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "babel-plugin-transform-inline-consecutive-adds": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", + "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", + "dev": true + }, + "babel-plugin-transform-member-expression-literals": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", + "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", + "dev": true + }, + "babel-plugin-transform-merge-sibling-variables": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", + "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", + "dev": true + }, + "babel-plugin-transform-minify-booleans": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", + "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", + "dev": true + }, + "babel-plugin-transform-property-literals": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", + "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "babel-plugin-transform-regexp-constructors": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", + "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", + "dev": true + }, + "babel-plugin-transform-remove-console": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", + "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", + "dev": true + }, + "babel-plugin-transform-remove-debugger": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", + "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", + "dev": true + }, + "babel-plugin-transform-remove-undefined": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", + "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "^0.5.0" + } + }, + "babel-plugin-transform-simplify-comparison-operators": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", + "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", + "dev": true + }, + "babel-plugin-transform-undefined-to-void": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", + "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", + "dev": true + }, + "babel-preset-fbjs": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz", + "integrity": "sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + } + }, + "babel-preset-minify": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz", + "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==", + "dev": true, + "requires": { + "babel-plugin-minify-builtins": "^0.5.0", + "babel-plugin-minify-constant-folding": "^0.5.0", + "babel-plugin-minify-dead-code-elimination": "^0.5.1", + "babel-plugin-minify-flip-comparisons": "^0.4.3", + "babel-plugin-minify-guarded-expressions": "^0.4.4", + "babel-plugin-minify-infinity": "^0.4.3", + "babel-plugin-minify-mangle-names": "^0.5.0", + "babel-plugin-minify-numeric-literals": "^0.4.3", + "babel-plugin-minify-replace": "^0.5.0", + "babel-plugin-minify-simplify": "^0.5.1", + "babel-plugin-minify-type-constructors": "^0.4.3", + "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", + "babel-plugin-transform-member-expression-literals": "^6.9.4", + "babel-plugin-transform-merge-sibling-variables": "^6.9.4", + "babel-plugin-transform-minify-booleans": "^6.9.4", + "babel-plugin-transform-property-literals": "^6.9.4", + "babel-plugin-transform-regexp-constructors": "^0.4.3", + "babel-plugin-transform-remove-console": "^6.9.4", + "babel-plugin-transform-remove-debugger": "^6.9.4", + "babel-plugin-transform-remove-undefined": "^0.5.0", + "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", + "babel-plugin-transform-undefined-to-void": "^6.9.4", + "lodash": "^4.17.11" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "batch-processor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", + "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "before-after-hook": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", + "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==", + "dev": true + }, + "big-integer": { + "version": "1.6.48", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "dev": true, + "requires": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "blueimp-md5": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.12.0.tgz", + "integrity": "sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "bplist-creator": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz", + "integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==", + "requires": { + "stream-buffers": "~2.2.0" + } + }, + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "requires": { + "big-integer": "^1.6.44" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "dev": true + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.8.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.6.tgz", + "integrity": "sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001023", + "electron-to-chromium": "^1.3.341", + "node-releases": "^1.1.47" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", + "dev": true + }, + "buble": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/buble/-/buble-0.19.8.tgz", + "integrity": "sha512-IoGZzrUTY5fKXVkgGHw3QeXFMUNBFv+9l8a4QJKG1JhG3nCMHTdEX1DCOg8568E2Q9qvAQIiSokv6Jsgx8p2cA==", + "dev": true, + "requires": { + "acorn": "^6.1.1", + "acorn-dynamic-import": "^4.0.0", + "acorn-jsx": "^5.0.1", + "chalk": "^2.4.2", + "magic-string": "^0.25.3", + "minimist": "^1.2.0", + "os-homedir": "^2.0.0", + "regexpu-core": "^4.5.4" + }, + "dependencies": { + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "os-homedir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-2.0.0.tgz", + "integrity": "sha512-saRNz0DSC5C/I++gFIaJTXoFJMRwiP5zHar5vV3xQ2TkgEw6hDCcU5F272JjUylpiVgBrZNQHnfjkLabTfb92Q==", + "dev": true + } + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz", + "integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8=", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", + "dev": true + }, + "bugsnag-react-native": { + "version": "2.23.6", + "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.23.6.tgz", + "integrity": "sha512-5Jo3d56mXlDDQf2zHVq+ICPAWPjTTRhi6wMLofNrG30rcqPkhk/AmIB5fbQ+DypF3I8A2iJLl4DiBWPhkOp4BQ==", + "requires": { + "iserror": "^0.0.2", + "promise": "^7", + "prop-types": "^15.6.0" + } + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + } + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=", + "dev": true + }, + "can-use-dom": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", + "integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001027", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz", + "integrity": "sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==", + "dev": true + }, + "capitalize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capitalize/-/capitalize-1.0.0.tgz", + "integrity": "sha1-3IAsWAruEBkpAg0soUtMqKCuRL4=", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "requires": { + "rsvp": "^4.8.4" + } + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "dev": true, + "requires": { + "traverse": ">=0.3.0 <0.4" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "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" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", + "dev": true + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==" + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "clipboard": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", + "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "dev": true, + "optional": true, + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "dev": true, + "requires": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "colorette": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", + "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==" + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "dev": true + }, + "command-exists": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "compare-versions": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz", + "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + } + } + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "conventional-changelog": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.18.tgz", + "integrity": "sha512-aN6a3rjgV8qwAJj3sC/Lme2kvswWO7fFSGQc32gREcwIOsaiqBaO6f2p0NomFaPDnTqZ+mMZFLL3hlzvEnZ0mQ==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.6", + "conventional-changelog-atom": "^2.0.3", + "conventional-changelog-codemirror": "^2.0.3", + "conventional-changelog-conventionalcommits": "^4.2.3", + "conventional-changelog-core": "^4.1.4", + "conventional-changelog-ember": "^2.0.4", + "conventional-changelog-eslint": "^3.0.4", + "conventional-changelog-express": "^2.0.1", + "conventional-changelog-jquery": "^3.0.6", + "conventional-changelog-jshint": "^2.0.3", + "conventional-changelog-preset-loader": "^2.3.0" + } + }, + "conventional-changelog-angular": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz", + "integrity": "sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz", + "integrity": "sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-cli": { + "version": "2.0.31", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.31.tgz", + "integrity": "sha512-nMINylKAamBLM3OmD7/44d9TPZ3V58IDTXoGC/QtXxve+1Sj37BQTzIEW3TNaviZ2ZV/b5Dqg0eSk4DNP5fBdA==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog": "^3.1.18", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "tempfile": "^3.0.0" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz", + "integrity": "sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-config-spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-1.0.0.tgz", + "integrity": "sha512-RR3479x5Qw7XWkmNDYx/kOnsQJW+FZBIakURG/Dg7FkTaCrGjAkgfH96pQs9SyOEZI07USEXy7FjUDWYP8bt3Q==", + "dev": true + }, + "conventional-changelog-conventionalcommits": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz", + "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.1.4.tgz", + "integrity": "sha512-LO58ZbEpp1Ul+y/vOI8rJRsWkovsYkCFbOCVgi6UnVfU8WC0F8K8VQQwaBZWWUpb6JvEiN4GBR5baRP2txZ+Vg==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^4.0.11", + "conventional-commits-parser": "^3.0.8", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^3.0.1", + "lodash": "^4.17.15", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "conventional-changelog-ember": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz", + "integrity": "sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz", + "integrity": "sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.1.tgz", + "integrity": "sha512-G6uCuCaQhLxdb4eEfAIHpcfcJ2+ao3hJkbLrw/jSK/eROeNfnxCJasaWdDAfFkxsbpzvQT4W01iSynU3OoPLIw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz", + "integrity": "sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz", + "integrity": "sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz", + "integrity": "sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz", + "integrity": "sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "conventional-commits-filter": "^2.0.2", + "dateformat": "^3.0.0", + "handlebars": "^4.4.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "conventional-commits-filter": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz", + "integrity": "sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==", + "dev": true, + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", + "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", + "dev": true, + "requires": { + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.1", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "split2": "^2.0.0", + "through2": "^3.0.0", + "trim-off-newlines": "^1.0.0" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "conventional-recommended-bump": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.0.tgz", + "integrity": "sha512-CsfdICpbUe0pmM4MTG90GPUqnFgB1SWIR2HAh+vS+JhhJdPWvc0brs8oadWoYGhFOQpQwe57JnvzWEWU0m2OSg==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.1.1", + "conventional-commits-filter": "^2.0.2", + "conventional-commits-parser": "^3.0.2", + "git-raw-commits": "2.0.0", + "git-semver-tags": "^2.0.2", + "meow": "^4.0.0", + "q": "^1.5.1" + }, + "dependencies": { + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "git-semver-tags": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", + "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "dev": true, + "requires": { + "meow": "^4.0.0", + "semver": "^6.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-to-clipboard": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.2.1.tgz", + "integrity": "sha512-btru1Q6RD9wbonIvEU5EfnhIRGHLo//BGXQ1hNAD2avIs/nBZlpbOeKtv3mhoUByN4DB9Cb6/vXBymj1S43KmA==", + "dev": true, + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", + "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" + }, + "core-js-compat": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", + "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", + "dev": true, + "requires": { + "browserslist": "^4.8.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-js-pure": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.4.tgz", + "integrity": "sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "corejs-upgrade-webpack-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0", + "webpack": "^4.38.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-react-class": { + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", + "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", + "requires": { + "fbjs": "^0.8.9", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "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" + } + } + } + }, + "create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", + "dev": true, + "requires": { + "gud": "^1.0.0", + "warning": "^4.0.3" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=", + "dev": true + }, + "css-in-js-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", + "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==", + "dev": true, + "requires": { + "hyphenate-style-name": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "css-loader": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz", + "integrity": "sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA==", + "dev": true, + "requires": { + "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.23", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.1.1", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.2", + "schema-utils": "^2.6.0" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "schema-utils": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-to-react-native": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz", + "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==", + "dev": true, + "requires": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csso": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", + "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.37" + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "csstype": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.8.tgz", + "integrity": "sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "dayjs": { + "version": "1.8.20", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.20.tgz", + "integrity": "sha512-mH0MCDxw6UCGJYxVN78h8ugWycZAO8thkj3bW6vApL5tS0hQplIDdAQcmbvl7n35H0AKdCJQaArTrIQw2xt4Qg==" + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", + "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "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": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deep-object-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.0.tgz", + "integrity": "sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==", + "dev": true + }, + "deepmerge": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true + } + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true + }, + "dotenv-defaults": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-1.1.1.tgz", + "integrity": "sha512-6fPRo9o/3MxKvmRZBD3oNFdxODdhJtIy1zcJeUSCs6HCy4tarUpd+G67UTU9tF6OWXeSPqsm4fPAB+2eY9Rt9Q==", + "dev": true, + "requires": { + "dotenv": "^6.2.0" + } + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "dotenv-webpack": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.7.0.tgz", + "integrity": "sha512-wwNtOBW/6gLQSkb8p43y0Wts970A3xtNiG/mpwj9MLUhtPCQG6i+/DSXXoNN7fbPCU/vQ7JjwGmgOeGZSSZnsw==", + "dev": true, + "requires": { + "dotenv-defaults": "^1.0.2" + } + }, + "dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.348", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.348.tgz", + "integrity": "sha512-6O0IInybavGdYtcbI4ryF/9e3Qi8/soi6C68ELRseJuTwQPKq39uGgVVeQHG28t69Sgsky09nXBRhUiFXsZyFQ==", + "dev": true + }, + "element-resize-detector": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.1.tgz", + "integrity": "sha512-BdFsPepnQr9fznNPF9nF4vQ457U/ZJXQDSNF1zBe7yaga8v9AdZf3/NElYxFdUh7SitSGt040QygiTo6dtatIw==", + "dev": true, + "requires": { + "batch-processor": "1.0.0" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "dev": true, + "requires": { + "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": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "emotion-theming": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.0.27.tgz", + "integrity": "sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/weak-memoize": "0.2.5", + "hoist-non-react-statics": "^3.3.0" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "env-ci": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-2.6.0.tgz", + "integrity": "sha512-tnOi9qgtDxY3mvf69coXLHbSZtFMNGAJ1s/huirAhJZTx9rs/1qgFjl+6Z5ULQCfpDmlsf34L7wm+eJGwMazYg==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "java-properties": "^0.2.9" + } + }, + "envinfo": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.0.tgz", + "integrity": "sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "requires": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + } + }, + "es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "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", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-get-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", + "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", + "dev": true, + "requires": { + "es-abstract": "^1.17.4", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-shim": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.13.tgz", + "integrity": "sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw==", + "dev": true + }, + "es6-shim": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.5.tgz", + "integrity": "sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "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.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^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" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "inquirer": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", + "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.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", + "run-async": "^2.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.10.0.tgz", + "integrity": "sha512-AtndijGte1rPILInUdHjvKEGbIV06NuvPrqlIEaEaWtbtvJh464mDeyGMdZEQMsGvC0ZVkiex1fSNcC4HAbRGg==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + }, + "dependencies": { + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + } + } + }, + "eslint-config-standard": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-13.0.1.tgz", + "integrity": "sha512-zLKp4QOgq6JFgRm1dDCVv1Iu0P5uZ4v5Wa4DTOkg2RFMxdCX/9Qf7lz9ezRj2dBRa955cWQF/O/LWEiYWAHbTw==", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", + "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz", + "integrity": "sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-es": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", + "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", + "dev": true, + "requires": { + "eslint-utils": "^1.4.2", + "regexpp": "^2.0.1" + } + }, + "eslint-plugin-eslint-comments": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.1.2.tgz", + "integrity": "sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + } + }, + "eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "eslint-plugin-import": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", + "integrity": "sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw==", + "dev": true, + "requires": { + "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.1", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-jest": { + "version": "22.21.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.21.0.tgz", + "integrity": "sha512-OaqnSS7uBgcGiqXUiEnjoqxPNKvR4JWG5mSRkzVoR6+vDwlqqp11beeql1hYs0HTbdhiwrxWLxbX0Vx7roG3Ew==", + "requires": { + "@typescript-eslint/experimental-utils": "^1.13.0" + } + }, + "eslint-plugin-node": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-9.2.0.tgz", + "integrity": "sha512-2abNmzAH/JpxI4gEOwd6K8wZIodK3BmHbTxz4s79OIYwwIt2gkpEXlAouJXu4H1c9ySTnRso0tsuthSOZbUMlA==", + "dev": true, + "requires": { + "eslint-plugin-es": "^1.4.1", + "eslint-utils": "^1.4.2", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", + "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-promise": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "dev": true + }, + "eslint-plugin-react": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.18.3.tgz", + "integrity": "sha512-Bt56LNHAQCoou88s8ViKRjMB2+36XRejCQ1VoLj716KI1MoE99HpTVvIThJ0rvFmG4E4Gsq+UgToEjn+j044Bg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "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.14.2", + "string.prototype.matchall": "^4.0.2" + } + }, + "eslint-plugin-react-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", + "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==", + "dev": true + }, + "eslint-plugin-react-native": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz", + "integrity": "sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg==", + "dev": true, + "requires": { + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", + "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", + "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "dev": true, + "requires": { + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.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" + } + }, + "expo-app-loader-provider": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-app-loader-provider/-/expo-app-loader-provider-8.0.0.tgz", + "integrity": "sha512-uMEdstZdm14JW8jfWXBWItIjGPNBH7cLj2pNu5e0pYF21W4j759rGL17NTNWit4UdLZg/zJB/HHRidVwEINfxA==" + }, + "expo-asset": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-8.0.0.tgz", + "integrity": "sha512-ICPptpetXB+v88Sqr8yMVEA46UNlUUb8AMbyUytdUJqV7V2itHDQywl08ofOlOICzNgjDFIQdCs3crkTVQ1Zng==", + "requires": { + "blueimp-md5": "^2.10.0", + "path-browserify": "^1.0.0", + "url-parse": "^1.4.4" + } + }, + "expo-camera": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-camera/-/expo-camera-8.0.0.tgz", + "integrity": "sha512-mtP4NV2R4e+JTXUZBiA0ok4xSzTfRLxirvqJ5T7kjyozuCWUJeOhGk3hqNsBbWhwXDA+hirAge7169UB3vKfDQ==", + "requires": { + "lodash": "^4.6.0", + "prop-types": "^15.6.0" + } + }, + "expo-constants": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-8.0.0.tgz", + "integrity": "sha512-NGRwSWfhwNFA9WVLXwqnSDPJJ4DdXTqEkl9Fr9PcyW5VCoFgz7uke256E1YZsYhOE0Ph365lu/5jjZs+MRmRog==", + "requires": { + "ua-parser-js": "^0.7.19" + } + }, + "expo-document-picker": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-document-picker/-/expo-document-picker-8.0.0.tgz", + "integrity": "sha512-lr1ZChMh33qI8o7627D2BvbDKqMOdDu4WxfXNpMGI8iyKNVvUH78Aa+/3FVFK8L8EuRLMcgUmj0aP6nALaIznA==", + "requires": { + "uuid": "^3.3.2" + } + }, + "expo-file-system": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-8.0.0.tgz", + "integrity": "sha512-mi84jt3EHVUfxu5eGOikNuRDi7+5daCFSP9LVgk5aQz8Oepo143vnH/+WE4lQEg+u8dB6EmmCWncyc2Fklxv7A==", + "requires": { + "uuid-js": "^0.7.5" + } + }, + "expo-localization": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-8.0.0.tgz", + "integrity": "sha512-NGxiNU4G67dhi+yngN034kgA+99rWhrPJ6mTIM7nY70F/UceoMIEs8Hgg9ZIPvlN0XFAUU2EybzR8wzYOzOR7w==", + "requires": { + "rtl-detect": "^1.0.2" + } + }, + "expo-location": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-8.0.0.tgz", + "integrity": "sha512-48i4dUCaqPTwSri79yummKwg6vE6loI7d4iHCrbG4EEuN3fhS8I9xU60CEkoNZTziH9zK0iw4KSjr7DbXUAaCw==", + "requires": { + "invariant": "^2.2.4" + } + }, + "expo-permissions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-8.0.0.tgz", + "integrity": "sha512-GHTRmwh1rd1b0FcibluPFu93NNQyl9b1anBBDVPmomoo9Prz7kDcO5p2hFqM99r896yvAUSe0fPloPKUq4g/1A==" + }, + "expo-sensors": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-sensors/-/expo-sensors-8.0.0.tgz", + "integrity": "sha512-gIvXBfFJaY6GQKx2MGmm5ZWXqMF47ZKcdDanHlMIkfxwQiiPBoYNCAOgYH6y7X1n9PC/cF6THgf5X2C8aKMjVA==", + "requires": { + "invariant": "^2.2.4" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "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.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fake-tag": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fake-tag/-/fake-tag-1.0.1.tgz", + "integrity": "sha512-qmewZoBpa71mM+y6oxXYW/d1xOYQmeIvnEXAt1oCmdP0sqcogWYLepR87QL1jQVLSVMVYDq2cjY6ec/Wu8/4pg==", + "dev": true + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-parse": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", + "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-safe-stringify": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.2.3.tgz", + "integrity": "sha512-QJYT/i0QYoiZBQ71ivxdyTqkwKkQ0oxACXHYxH2zYHJEgzi2LsbjgvtzTbLi1SZcF190Db2YP7I7eTsU2egOlw==", + "dev": true + }, + "fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dev": true, + "requires": { + "format": "^0.2.0" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^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" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + } + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "fbjs-scripts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.2.0.tgz", + "integrity": "sha512-5krZ8T0Bf8uky0abPoCLrfa7Orxd8UH4Qq8hRUF2RZYNMu+FmEOrBc7Ib3YVONmxTXTlLAvyrrdrVmksDb2OqQ==", + "requires": { + "@babel/core": "^7.0.0", + "ansi-colors": "^1.0.1", + "babel-preset-fbjs": "^3.2.0", + "core-js": "^2.4.1", + "cross-spawn": "^5.1.0", + "fancy-log": "^1.3.2", + "object-assign": "^4.0.1", + "plugin-error": "^0.1.2", + "semver": "^5.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "file-system-cache": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.0.5.tgz", + "integrity": "sha1-hCWbNqK7uNPW6xAh0xMv/mTP/08=", + "dev": true, + "requires": { + "bluebird": "^3.3.5", + "fs-extra": "^0.30.0", + "ramda": "^0.21.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "find-yarn-workspace-root": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz", + "integrity": "sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q==", + "dev": true, + "requires": { + "fs-extra": "^4.0.3", + "micromatch": "^3.1.4" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatstr": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", + "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==", + "dev": true + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "flow-bin": { + "version": "0.105.2", + "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.105.2.tgz", + "integrity": "sha512-VCHt0SCjFPviv/Ze/W7AgkcE0uH4TocypSFA8wR3ZH1P7BSjny4l3uhHyOjzU3Qo1i0jO4NyaU6q3Y5IaQ6xng==", + "dev": true + }, + "flow-typed": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/flow-typed/-/flow-typed-2.6.2.tgz", + "integrity": "sha512-brTh8SukLidVpR1u8hSR3OcZSvLtptpwLEGgEhK/qBhWCB7zxPZmnmChYi40JQH6vB448ck380+qbkDo3fJ6qA==", + "dev": true, + "requires": { + "@babel/polyfill": "^7.0.0", + "@octokit/rest": "^16.33.1", + "colors": "^1.3.2", + "flowgen": "^1.9.0", + "fs-extra": "^7.0.0", + "glob": "^7.1.3", + "got": "^8.3.2", + "md5": "^2.2.1", + "mkdirp": "^0.5.1", + "prettier": "^1.18.2", + "rimraf": "^2.6.2", + "semver": "^5.5.1", + "table": "^5.0.2", + "through": "^2.3.8", + "unzipper": "^0.9.3", + "which": "^1.3.1", + "yargs": "^12.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "flowgen": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/flowgen/-/flowgen-1.10.0.tgz", + "integrity": "sha512-3lsoaa1vxGXhnkHuoE4mLPJi/klvpR3ID8R9CFJ/GBNi+cxJXecWQaUPrWMdNI5tGs8Y+7wrIZaCVFKFLQiGOg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/highlight": "^7.0.0", + "commander": "^2.11.0", + "lodash": "^4.17.4", + "paralleljs": "^0.2.1", + "prettier": "^1.16.4", + "shelljs": "^0.8.3", + "typescript": "^3.4", + "typescript-compiler": "^1.4.1-2" + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "focus-lock": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.6.6.tgz", + "integrity": "sha512-Dx69IXGCq1qsUExWuG+5wkiMqVM/zGx/reXSJSLogECwp3x6KeNQZ+NAetgxEFpnC41rD8U3+jRCW68+LNzdtw==", + "dev": true + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "fork-ts-checker-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^2.0.4", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=", + "dev": true + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "^1.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.3", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "3.2.6", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.6", + "bundled": true, + "optional": true, + "requires": { + "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" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.9.0", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.4.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "bundled": true, + "optional": true, + "requires": { + "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.4.2" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.7", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.7.1", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.13", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.1.1", + "bundled": true, + "optional": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.2.tgz", + "integrity": "sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "functions-have-names": "^1.2.0" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "functions-have-names": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.1.tgz", + "integrity": "sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA==", + "dev": true + }, + "fuse.js": { + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.6.tgz", + "integrity": "sha512-H6aJY4UpLFwxj1+5nAvufom5b2BT2v45P1MkPvdGIK8fWjQx/7o6tTT1+ALV0yawQvbmvCF0ufl2et8eJ7v7Cg==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "dev": true, + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "git-semver-tags": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.1.tgz", + "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==", + "dev": true, + "requires": { + "meow": "^5.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", + "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "dev": true, + "optional": true, + "requires": { + "delegate": "^3.1.2" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "hammerjs": { + "version": "git+https://github.com/naver/hammer.js.git#54bc698b25edd6e1b76ca975ebaced5ce0467d51", + "from": "git+https://github.com/naver/hammer.js.git", + "requires": { + "@types/hammerjs": "^2.0.36" + } + }, + "handlebars": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", + "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-js": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.7.tgz", + "integrity": "sha512-FeSU+hi7ULYy6mn8PKio/tXsdSXN35lm4KgV2asx00kzrLU9Pi3oAslcJT70Jdj7PHX29gGUPOT6+lXGBbemhA==", + "dev": true, + "optional": true, + "requires": { + "commander": "~2.20.3", + "source-map": "~0.6.1" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hast-util-parse-selector": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.3.tgz", + "integrity": "sha512-nxbeqjQNxsvo/uYYAw9kij6td05YVUlf1qti09rVfbWSLT5H6wo3c+USIwX6nzXWk5kFZzXnEqO82856r0aM2Q==", + "dev": true + }, + "hastscript": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.1.tgz", + "integrity": "sha512-xHo1Hkcqd0LlWNuDL3/BxwhgAGp3d7uEvCMgCTrBY+zsOooPPH+8KAvW8PCgl+GB8H3H44nfSaF0A4BQ+4xlYg==", + "dev": true, + "requires": { + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hermes-engine": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.2.1.tgz", + "integrity": "sha512-eNHUQHuadDMJARpaqvlCZoK/Nitpj6oywq3vQ3wCwEsww5morX34mW5PmKWQTO7aU0ck0hgulxR+EVDlXygGxQ==" + }, + "highlight.js": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", + "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-escaper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", + "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "dev": true + }, + "html-minifier-terser": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.3.tgz", + "integrity": "sha512-It4No3H1V3Dhd/O0MePFdo0oX/M6u6YZTMw4My/010mT6vxdbqge7+0RoxGAmeSbKok6gjYZoP0p4rpZ2+J2yw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + } + } + }, + "html-webpack-plugin": { + "version": "4.0.0-beta.11", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz", + "integrity": "sha512-4Xzepf0qWxf8CGg7/WQM5qBB2Lc/NFI7MhU59eUDTkuQp3skZczH4UA1d6oQyDEIoMDgERVhRyTdtUPZ5s5HBg==", + "dev": true, + "requires": { + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "husky": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz", + "integrity": "sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "ci-info": "^2.0.0", + "cosmiconfig": "^5.2.1", + "execa": "^1.0.0", + "get-stdin": "^7.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^4.2.0", + "please-upgrade-node": "^3.2.0", + "read-pkg": "^5.2.0", + "run-node": "^1.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "get-stdin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", + "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", + "dev": true + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "hyphenate-style-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", + "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, + "immer": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", + "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inline-style-prefixer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-5.1.1.tgz", + "integrity": "sha512-l2zxmdGF/QZNfR3b1hnPr0pkTZUSYYOCCO9zz/AAtaw/LNi1PpjzwumMIz+WKmVhqnWpDdaoqan7yOZM9u2ELQ==", + "dev": true, + "requires": { + "css-in-js-utils": "^2.0.0" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + } + }, + "interpret": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.0.0.tgz", + "integrity": "sha512-e0/LknJ8wpMMhTiWcjivB+ESwIuvHnBSlBbmP/pSb8CQJldoj1p2qv7xGZ/+BtbTziYRFSz8OsvdbiX45LtYQA==", + "dev": true + }, + "intl-format-cache": { + "version": "4.2.21", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.2.21.tgz", + "integrity": "sha512-6pZlBdqTRUuuwRWywPItHY1JQwzQxWcpBHv6w4M8T6bGzAsiL/QmI+XsdOhsqJLaL4ZmTATn1kIkNlMk4VzSLQ==" + }, + "intl-locales-supported": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/intl-locales-supported/-/intl-locales-supported-1.8.4.tgz", + "integrity": "sha512-wO0JhDqhshhkq8Pa9CLcstqd1aCXjfMgfMzjD6mDreS3mTSDbjGiMU+07O8BdJGxed7Q0Wf3TFVjGq0W3Y0n1w==" + }, + "intl-messageformat": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-7.8.4.tgz", + "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", + "requires": { + "intl-format-cache": "^4.2.21", + "intl-messageformat-parser": "^3.6.4" + } + }, + "intl-messageformat-parser": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", + "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", + "requires": { + "@formatjs/intl-unified-numberformat": "^3.2.0" + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + }, + "dependencies": { + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + } + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "dev": true + }, + "is-dom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz", + "integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==", + "dev": true, + "requires": { + "is-object": "^1.0.1", + "is-window": "^1.0.2" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", + "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", + "dev": true + }, + "is-nil": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-nil/-/is-nil-1.0.1.tgz", + "integrity": "sha1-LauingtYUGOHXntTnQcfWxWTeWk=", + "dev": true + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "dev": true + }, + "is-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", + "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-window": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz", + "integrity": "sha1-LIlspT25feRdPDMTOmXYyfVjSA0=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "iserror": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", + "integrity": "sha1-vVNFH+L2aLnyQCwZZnh6qix8C/U=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "iterate-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", + "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==", + "dev": true + }, + "iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "dev": true, + "requires": { + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" + } + }, + "java-properties": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-0.2.10.tgz", + "integrity": "sha512-CpKJh9VRNhS+XqZtg1UMejETGEiqwCGDC/uwPEEQwc2nfdbSm73SIE29TplG2gLYuBOOTNDqxzG6A9NtEPLt0w==", + "dev": true + }, + "jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "dev": true, + "requires": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "dev": true, + "requires": { + "@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.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.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.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.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + } + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", + "dev": true + }, + "jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "dev": true, + "requires": { + "@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": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "requires": { + "@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": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" + }, + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "requires": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "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" + } + }, + "jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.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.9.0", + "is-generator-fn": "^2.0.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": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "dev": true, + "requires": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "requires": { + "@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": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "requires": { + "@jest/types": "^24.9.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", + "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", + "dev": true + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true + }, + "jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "dev": true, + "requires": { + "@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-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + } + }, + "jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@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.9.0", + "jest-docblock": "^24.3.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" + }, + "dependencies": { + "jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "dev": true, + "requires": { + "detect-newline": "^2.1.0" + } + } + } + }, + "jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@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.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.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": "^13.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==" + }, + "jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "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.9.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "requires": { + "@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", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "requires": { + "@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-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "dev": true, + "requires": { + "@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": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jetifier": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.5.tgz", + "integrity": "sha512-T7yzBSu9PR+DqjYt+I0KVO1XTb1QhAfHnXV5Nd3xpbXM6Xg4e3vP60Q4qkNU8Fh6PHC2PivPUNN3rY7G2MxcDQ==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsc-android": { + "version": "245459.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-245459.0.0.tgz", + "integrity": "sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==" + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-fn": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-fn/-/json-fn-1.1.1.tgz", + "integrity": "sha1-QpPJGYpILWaX0zSm4yzQ0iESHoA=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz", + "integrity": "sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "ky": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.16.2.tgz", + "integrity": "sha512-4/Xcb0hqeueNX9sa+G2jREiam9yb+I2Y3p3J42lIeitAenHXUZwpyejEgeQcQsaGl+hbuA0s7c3u+nlcIYFtog==" + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lazy-universal-dotenv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz", + "integrity": "sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.5.0", + "app-root-dir": "^1.0.2", + "core-js": "^3.0.4", + "dotenv": "^8.0.0", + "dotenv-expand": "^5.1.0" + }, + "dependencies": { + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", + "dev": true + } + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "listenercount": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + } + }, + "logkitty": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.6.1.tgz", + "integrity": "sha512-cHuXN8qUZuzX/7kB6VyS7kB4xyD24e8gyHXIFNhIv+fjW3P+jEXNUhj0o/7qWJtv7UZpbnPgUqzu/AZQ8RAqxQ==", + "requires": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lowlight": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.11.0.tgz", + "integrity": "sha512-xrGGN6XLL7MbTMdPD6NfWPwY43SNkjf/d0mecSx/CW36fUZTjRHEq0/Cdug3TWKtRXLWi7iMl1eP0olYxj/a4A==", + "dev": true, + "requires": { + "fault": "^1.0.2", + "highlight.js": "~9.13.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + }, + "dependencies": { + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "macos-release": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", + "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==", + "dev": true + }, + "magic-string": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.6.tgz", + "integrity": "sha512-3a5LOMSGoCTH5rbqobC2HuDNRtE2glHZ8J7pK+QZYppyWA36yuNpsX994rIY2nCuyP7CZYy7lQq/X2jygiZ89g==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.x" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "map-or-similar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", + "integrity": "sha1-beJlMXSt+12e3DPGnT6Sobdvrwg=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "mapeo-schema": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mapeo-schema/-/mapeo-schema-1.8.0.tgz", + "integrity": "sha512-qPB4I9HIr7grIipttULPxb/t4rPFOC2jkdHiW6qljA5LxHpWoF7wKh1aEsk9+U8CmBEMQjjcKn1ph/Kvu+LYHg==", + "requires": { + "ajv": "^6.10.0" + } + }, + "markdown-to-jsx": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.0.tgz", + "integrity": "sha512-RH7LCJQ4RFmPqVeZEesKaO1biRzB/k4utoofmTCp3Eiw6D7qfvK8fzZq/2bjEJAtVkfPrM5SMt5APGf2rnaKMg==", + "dev": true, + "requires": { + "prop-types": "^15.6.2", + "unquote": "^1.1.0" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "dev": true + }, + "marksy": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/marksy/-/marksy-8.0.0.tgz", + "integrity": "sha512-mmHcKZojCQAGuKTuu3153viXdCuxUmsSxomFaSOBTkOlfWFOZBmDhmJkOp0CsPMNRQ7m6oN2wflvAHLpBNZVPw==", + "dev": true, + "requires": { + "@babel/standalone": "^7.4.5", + "he": "^1.2.0", + "marked": "^0.3.12" + } + }, + "max-safe-int": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/max-safe-int/-/max-safe-int-1.0.0.tgz", + "integrity": "sha1-RPuo7Jk97ZH7LFo15xz5yfNpzlI=", + "dev": true + }, + "md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "dev": true, + "requires": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "memoize-one": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", + "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==" + }, + "memoizerific": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", + "integrity": "sha1-fIekZGREwy11Q4VwkF8tvRsagFo=", + "dev": true, + "requires": { + "map-or-similar": "^1.5.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "merge-deep": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz", + "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "metro": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.56.4.tgz", + "integrity": "sha512-Kt3OQJQtQdts0JrKnyGdLpKHDjqYBgIfzvYrvfhmFCkKuZ8aqRlVnvpfjQ4/OBm0Fmm9NyyxbNRD9VIbj7WjnA==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/plugin-external-helpers": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "absolute-path": "^0.0.0", + "async": "^2.4.0", + "babel-preset-fbjs": "^3.1.2", + "buffer-crc32": "^0.2.13", + "chalk": "^2.4.1", + "concat-stream": "^1.6.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "eventemitter3": "^3.0.0", + "fbjs": "^1.0.0", + "fs-extra": "^1.0.0", + "graceful-fs": "^4.1.3", + "image-size": "^0.6.0", + "invariant": "^2.2.4", + "jest-haste-map": "^24.7.1", + "jest-worker": "^24.6.0", + "json-stable-stringify": "^1.0.1", + "lodash.throttle": "^4.1.1", + "merge-stream": "^1.0.1", + "metro-babel-register": "^0.56.4", + "metro-babel-transformer": "^0.56.4", + "metro-cache": "^0.56.4", + "metro-config": "^0.56.4", + "metro-core": "^0.56.4", + "metro-inspector-proxy": "^0.56.4", + "metro-minify-uglify": "^0.56.4", + "metro-react-native-babel-preset": "^0.56.4", + "metro-resolver": "^0.56.4", + "metro-source-map": "^0.56.4", + "metro-symbolicate": "^0.56.4", + "mime-types": "2.1.11", + "mkdirp": "^0.5.1", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.0", + "resolve": "^1.5.0", + "rimraf": "^2.5.4", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "temp": "0.8.3", + "throat": "^4.1.0", + "wordwrap": "^1.0.0", + "write-file-atomic": "^1.2.0", + "ws": "^1.1.5", + "xpipe": "^1.0.5", + "yargs": "^9.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "metro-react-native-babel-preset": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.4.tgz", + "integrity": "sha512-CzbBDM9Rh6w8s1fq+ZqihAh7DDqUAcfo9pPww25+N/eJ7UK436Q7JdfxwdIPpBwLFn6o6MyYn+uwL9OEWBJarA==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^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-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "mime-db": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=" + }, + "mime-types": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", + "requires": { + "mime-db": "~1.23.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "metro-babel-register": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.56.4.tgz", + "integrity": "sha512-Phm6hMluOWYqfykftjJ1jsTpWvbgb49AC/1taxEctxUdRCZlFgZwBleJZAhQYxJD5J+ikFkEbHDzePEXb29KVA==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/register": "^7.0.0", + "core-js": "^2.2.2", + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + } + } + }, + "metro-babel-transformer": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.56.4.tgz", + "integrity": "sha512-IOi4ILgZvaX7GCGHBJp79paNVOq5QxhhbyqAdEJgDP8bHfl/OVHoVKSypfrsMSKSiBrqxhIjyc4XjkXsQtkx5g==", + "requires": { + "@babel/core": "^7.0.0", + "metro-source-map": "^0.56.4" + } + }, + "metro-cache": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.56.4.tgz", + "integrity": "sha512-d1hiUSKwtRsuMxUhHVJ3tjK2BbpUlJGvTyMWohK8Wxx+0GbnWRWWFcI4vlCzlZfoK0VtZK2MJEl5t7Du1mIniQ==", + "requires": { + "jest-serializer": "^24.4.0", + "metro-core": "^0.56.4", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "metro-config": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.56.4.tgz", + "integrity": "sha512-O85QDHwWdMn/8ERe13y4a6vbZL0AHyO8atTvL+9BCulLEO+FQBi1iJjr3+ViLa8cf0m5dRftDsa7P47m5euk4A==", + "requires": { + "cosmiconfig": "^5.0.5", + "jest-validate": "^24.7.0", + "metro": "^0.56.4", + "metro-cache": "^0.56.4", + "metro-core": "^0.56.4", + "pretty-format": "^24.7.0" + } + }, + "metro-core": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.56.4.tgz", + "integrity": "sha512-hMzkBdgPt5Zm9nr/1KtIT+A6H7TNiLVCEGG5OiAXj8gTRsA2yy7wAdQpwy0xbE+zi88t/pLOzXpd3ClG/YxyWg==", + "requires": { + "jest-haste-map": "^24.7.1", + "lodash.throttle": "^4.1.1", + "metro-resolver": "^0.56.4", + "wordwrap": "^1.0.0" + } + }, + "metro-inspector-proxy": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.56.4.tgz", + "integrity": "sha512-E1S3MO25mWKmcLn1UQuCDiS0hf9P2Fwq8sEAX5lBLoZbehepNH+4xJ3xXSY51JX4dozBrE8GGoKL4ll3II40LA==", + "requires": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "rxjs": "^5.4.3", + "ws": "^1.1.5", + "yargs": "^9.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "metro-minify-uglify": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.56.4.tgz", + "integrity": "sha512-BHgj7+BKEK2pHvWHUR730bIrsZwl8DPtr49x9L0j2grPZ5/UROWXzEr8VZgIss7fl64t845uu1HXNNyuSj2EhA==", + "requires": { + "uglify-es": "^3.1.9" + } + }, + "metro-react-native-babel-preset": { + "version": "0.57.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.57.0.tgz", + "integrity": "sha512-pvLh1QOwdxsjgYE2a+4aTKs3LSF3+t4jscxHtkND6wsJnKVVspLt8FkDaORa6zr3Fq12tVpEt5NJMdgtWqBpaA==", + "dev": true, + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^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-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-react-native-babel-transformer": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.56.4.tgz", + "integrity": "sha512-ng74eutuy1nyGI9+TDzzVAVfEmNPDlapV4msTQMKPi4EFqo/fBn7Ct33ME9l5E51pQBBnxt/UwcpTvd13b29kQ==", + "requires": { + "@babel/core": "^7.0.0", + "babel-preset-fbjs": "^3.1.2", + "metro-babel-transformer": "^0.56.4", + "metro-react-native-babel-preset": "^0.56.4", + "metro-source-map": "^0.56.4" + }, + "dependencies": { + "metro-react-native-babel-preset": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.4.tgz", + "integrity": "sha512-CzbBDM9Rh6w8s1fq+ZqihAh7DDqUAcfo9pPww25+N/eJ7UK436Q7JdfxwdIPpBwLFn6o6MyYn+uwL9OEWBJarA==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^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-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + } + } + }, + "metro-resolver": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.56.4.tgz", + "integrity": "sha512-Ug4ulVfpkKZ1Wu7mdYj9XLGuOqZTuWCqEhyx3siKTc/2eBwKZQXmiNo5d/IxWNvmwL/87Abeb724I6CMzMfjiQ==", + "requires": { + "absolute-path": "^0.0.0" + } + }, + "metro-source-map": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.56.4.tgz", + "integrity": "sha512-f1P9/rpFmG3Z0Jatiw2zvLItx1TwR7mXTSDj4qLDCWeVMB3kEXAr3R0ucumTW8c6HfpJljeRBWzYFXF33fd81g==", + "requires": { + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "invariant": "^2.2.4", + "metro-symbolicate": "^0.56.4", + "ob1": "^0.56.4", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "metro-symbolicate": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.56.4.tgz", + "integrity": "sha512-8mCNNn6zV5FFKCIcRgI7736Xl+owgvYuy8qanPxZN36f7utiWRYeB+PirEBPcglBk4qQvoy2lT6oPULNXZQbbQ==", + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "^0.56.4", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, + "min-indent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz", + "integrity": "sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-pipeline": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz", + "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "requires": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "mri": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", + "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + } + } + }, + "murmurhash3js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", + "integrity": "sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nested-object-assign": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/nested-object-assign/-/nested-object-assign-1.0.3.tgz", + "integrity": "sha512-kgq1CuvLyUcbcIuTiCA93cQ2IJFSlRwXcN+hLcb2qLJwC2qrePHGZZa7IipyWqaWF6tQjdax2pQnVxdq19Zzwg==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-ask": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/node-ask/-/node-ask-1.0.1.tgz", + "integrity": "sha1-yqoQdsxY4DZCZ6CQPj6t+sFYOWs=", + "dev": true + }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-loggly-bulk": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/node-loggly-bulk/-/node-loggly-bulk-2.2.4.tgz", + "integrity": "sha512-DfhtsDfkSBU6Dp1zvK+H1MgHRcA2yb4z07ctyA6uo+bNwKtv1exhohN910zcWNkdSYq1TImCq+O+3bOTuYHvmQ==", + "dev": true, + "requires": { + "json-stringify-safe": "5.0.x", + "moment": "^2.18.1", + "request": ">=2.76.0 <3.0.0" + } + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "node-releases": { + "version": "1.1.48", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.48.tgz", + "integrity": "sha512-Hr8BbmUl1ujAST0K0snItzEA5zkJTQup8VNTKNfT6Zw8vTJkIiagUPNfxHmgDOyfFYNfKAul40sD0UEYTvwebw==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "nodejs-mobile-gyp": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/nodejs-mobile-gyp/-/nodejs-mobile-gyp-0.3.1.tgz", + "integrity": "sha512-AcS4xbeWjOIfLQ+xZp0m7zEhd263v33O54OeJz/ObzpqvN1LXoph7ceeTQVrmp1YL0zSoUxX3s8AinotR8OgVg==", + "requires": { + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^4.4.8", + "which": "1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + } + } + }, + "nodejs-mobile-react-native": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/nodejs-mobile-react-native/-/nodejs-mobile-react-native-0.5.0.tgz", + "integrity": "sha512-vikgg8qGSwHUsjRxMNuZQnpouu36TjI2DaijMo2qGpWM/nDYy9zUGbLCT1Eu7b3QwOR8gbLbNmc5Po+kTBBFSA==", + "requires": { + "mkdirp": "^0.5.1", + "ncp": "^2.0.0", + "nodejs-mobile-gyp": "^0.3.1", + "xcode": "^2.0.0" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1" + } + }, + "normalize-css-color": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/normalize-css-color/-/normalize-css-color-1.0.2.tgz", + "integrity": "sha1-Apkel8zOxmI/5XOvu/Deah8+n40=", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "dependencies": { + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "ob1": { + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.56.4.tgz", + "integrity": "sha512-URgFof9z2wotiYFsqlydXtQfGV81gvBI2ODy64xfd3vPo+AYom5PVDX4t4zn23t/O+S2IxqApSQM8uJAybmz7w==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz", + "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "octokit-pagination-methods": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", + "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", + "dev": true + }, + "openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + } + } + }, + "os-name": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", + "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", + "dev": true, + "requires": { + "macos-release": "^2.2.0", + "windows-release": "^3.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "paralleljs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/paralleljs/-/paralleljs-0.2.1.tgz", + "integrity": "sha1-68p0XT4JwB4r68wUhYiR/0UQ6SY=", + "dev": true + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "patch-package": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.2.0.tgz", + "integrity": "sha512-HWlQflaBBMjLBfOWomfolF8aqsFDeNbSNro1JDUgYqnVvPM5OILJ9DQdwIRiKmGaOsmHvhkl1FYkvv1I9r2ZJw==", + "dev": true, + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^1.2.1", + "fs-extra": "^7.0.1", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.0", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "update-notifier": "^2.5.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "path-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.0.tgz", + "integrity": "sha512-Hkavx/nY4/plImrZPHRk2CL9vpOymZLgEbMNX1U0bjcBL7QN9wODxyx0yaMZURSQaUtSEvDrfAvxa9oPb0at9g==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pino": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/pino/-/pino-4.10.2.tgz", + "integrity": "sha512-hNNDgOju2UvK4iKqXR3ZwEutoOujBRN9jfQgty/X4B3q1QOqpWqvmVn+GT/a20o8Jw5Wd7VkGJAdgFQg55a+mw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "fast-json-parse": "^1.0.0", + "fast-safe-stringify": "^1.2.1", + "flatstr": "^1.0.4", + "pump": "^1.0.3", + "quick-format-unescaped": "^1.1.1", + "split2": "^2.2.0" + }, + "dependencies": { + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "plist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", + "requires": { + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" + } + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=" + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" + } + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "pnp-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.2" + } + }, + "polished": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/polished/-/polished-3.4.4.tgz", + "integrity": "sha512-x9PKeExyI9AhWrJP3Q57I1k7GInujjiVBJMPFmycj9hX1yCOo/X9eu9eZwxgOziiXge3WbFQ5XOmkzunOntBSA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.6.3" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.26.tgz", + "integrity": "sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-flexbugs-fixes": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.0.tgz", + "integrity": "sha512-QRE0n3hpkxxS/OGvzOa+PDuy4mh/Jg4o9ui22/ko5iGYOG3M5dfJabjnAZjTdh2G9F85c7Hv8hWcEDEKW/xceQ==", + "dev": true, + "requires": { + "postcss": "^7.0.26" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" + } + }, + "postcss-modules-scope": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz", + "integrity": "sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "dev": true + }, + "postinstall-postinstall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.0.0.tgz", + "integrity": "sha512-3f6qWexsHiT4WKtZc5DRb0FPLilHtARi5KpY4fqban/DJNn8/YhZH8U7dVKVz51WbOxEnR31gV+qYQhvEdHtdQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "pretty-quick": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-2.0.1.tgz", + "integrity": "sha512-y7bJt77XadjUr+P1uKqZxFWLddvj3SKY6EU4BuQtMxmmEFSMpbN132pUWdSG1g1mtUfO0noBvn7wBf0BVeomHg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "execa": "^2.1.0", + "find-up": "^4.1.0", + "ignore": "^5.1.4", + "mri": "^1.1.4", + "multimatch": "^4.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", + "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "prismjs": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.19.0.tgz", + "integrity": "sha512-IVFtbW9mCWm9eOIaEkNyo2Vl4NnEifis2GQ7/MLRG5TQe6t+4Sj9J5QWI9i3v+SS43uZBlCAOn+zYTVYQcPXJw==", + "dev": true, + "requires": { + "clipboard": "^2.0.0" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "progress-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-2.0.0.tgz", + "integrity": "sha1-+sY6Cz0R3qy7CWmrzJOyFLzhntU=", + "dev": true, + "requires": { + "speedometer": "~1.0.0", + "through2": "~2.0.3" + } + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "promise.allsettled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", + "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==", + "dev": true, + "requires": { + "array.prototype.map": "^1.0.1", + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "iterate-value": "^1.0.0" + } + }, + "promise.prototype.finally": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz", + "integrity": "sha512-A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.0", + "function-bind": "^1.1.1" + } + }, + "prompts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", + "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.3" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "property-information": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.4.0.tgz", + "integrity": "sha512-nmMWAm/3vKFGmmOWOcdLjgq/Hlxa+hsuR/px1Lp/UGEyc5A22A6l78Shc2C0E71sPmAqglni+HrS7L7VJ7AUCA==", + "dev": true, + "requires": { + "xtend": "^4.0.0" + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.10.1.tgz", + "integrity": "sha512-SHTUV6gDlgMXg/AQUuLpTiBtW/etZ9JT6k6RCtCyqADquApLX0Aq5oK/s5UeTUAWBG50IExjIr587GqfXRfM4A==", + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "quick-format-unescaped": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-1.1.2.tgz", + "integrity": "sha1-DKWB3jF0vs7yWsPC6JVjQjgdtpg=", + "dev": true, + "requires": { + "fast-safe-stringify": "^1.0.8" + } + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "ramda": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=", + "dev": true + }, + "random-char": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/random-char/-/random-char-1.0.4.tgz", + "integrity": "sha1-X+LJUTTK/MXXvI9Ggx3Db9u9XGY=", + "dev": true, + "requires": { + "is-nil": "^1.0.1", + "is-object": "^1.0.1", + "random-natural": "^1.0.3", + "to-str": "^1.0.0" + } + }, + "random-date-generator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/random-date-generator/-/random-date-generator-1.0.2.tgz", + "integrity": "sha1-xjZmW7/tCM7J4iBT1J8jPI/YTdE=", + "dev": true + }, + "random-integral": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/random-integral/-/random-integral-1.0.3.tgz", + "integrity": "sha1-j/PBF1ZcmgS2bd1VnzrtKb0PD2w=", + "dev": true, + "requires": { + "clamp": "^1.0.1", + "max-safe-int": "^1.0.0", + "to-integer": "^1.0.1" + } + }, + "random-lorem": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/random-lorem/-/random-lorem-1.0.4.tgz", + "integrity": "sha1-/UFERTeVS7XDM7PI76gw1GVYYVI=", + "dev": true, + "requires": { + "clamp": "^1.0.1", + "random-char": "^1.0.4", + "random-natural": "^1.0.3", + "random-syllable": "^1.0.1" + } + }, + "random-natural": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/random-natural/-/random-natural-1.0.3.tgz", + "integrity": "sha1-7yhhWwPCy3Gq6/fyT0hyZqRDxcA=", + "dev": true, + "requires": { + "max-safe-int": "^1.0.0", + "random-integral": "^1.0.3" + } + }, + "random-sentence": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/random-sentence/-/random-sentence-1.0.4.tgz", + "integrity": "sha1-SX9j38NiSbQ44ZSS7i3w9ONj6ZY=", + "dev": true, + "requires": { + "clamp": "^1.0.1", + "random-lorem": "^1.0.4", + "random-natural": "^1.0.3" + } + }, + "random-syllable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/random-syllable/-/random-syllable-1.0.1.tgz", + "integrity": "sha1-VJn7uocri/UqrUNBw+wxjbs8SfY=", + "dev": true, + "requires": { + "clamp": "^1.0.1", + "is-object": "^1.0.1", + "random-char": "^1.0.4", + "random-natural": "^1.0.3", + "to-integer": "^1.0.1" + } + }, + "random-title": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/random-title/-/random-title-1.0.4.tgz", + "integrity": "sha1-VUmJTlGDERYQQKcP3avVgUd5OEU=", + "dev": true, + "requires": { + "capitalize": "^1.0.0", + "random-sentence": "1.0.4" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "raw-loader": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-3.1.0.tgz", + "integrity": "sha512-lzUVMuJ06HF4rYveaz9Tv0WRlUMxJ0Y1hgSkkgg+50iEdaI0TthyEDe08KIHb0XsF6rn8WYTqPCaGTZg3sX+qA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^2.0.1" + }, + "dependencies": { + "schema-utils": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "react": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.9.0.tgz", + "integrity": "sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-addons-create-fragment": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react-addons-create-fragment/-/react-addons-create-fragment-15.6.2.tgz", + "integrity": "sha1-o5TefCx77Na1R1uhuXrEcs58dPg=", + "dev": true, + "requires": { + "fbjs": "^0.8.4", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.0" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "dev": true, + "requires": { + "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" + } + } + } + }, + "react-art": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-art/-/react-art-16.12.0.tgz", + "integrity": "sha512-Bsszw6UYZ4C6IbkcvPeEx5qerALTCkHrTbh1x/hF4MmP5Bm8bk1PRfvxSaxC4VZ5HgTHF9FUvHk9jIogXE82Uw==", + "dev": true, + "requires": { + "art": "^0.10.1", + "create-react-class": "^15.6.2", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.18.0" + }, + "dependencies": { + "scheduler": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-clientside-effect": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.2.tgz", + "integrity": "sha512-nRmoyxeok5PBO6ytPvSjKp9xwXg9xagoTK1mMjwnQxqM9Hd7MNPl+LS1bOSOe+CV2+4fnEquc7H/S8QD3q697A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0" + } + }, + "react-dev-utils": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-9.1.0.tgz", + "integrity": "sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==", + "dev": true, + "requires": { + "@babel/code-frame": "7.5.5", + "address": "1.1.2", + "browserslist": "4.7.0", + "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.5.0", + "global-modules": "2.0.0", + "globby": "8.0.2", + "gzip-size": "5.1.1", + "immer": "1.10.0", + "inquirer": "6.5.0", + "is-root": "2.1.0", + "loader-utils": "1.2.3", + "open": "^6.3.0", + "pkg-up": "2.0.0", + "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" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "inquirer": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.0.tgz", + "integrity": "sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==", + "dev": true, + "requires": { + "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" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + } + } + }, + "react-devtools-core": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.6.3.tgz", + "integrity": "sha512-+P+eFy/yo8Z/UH9J0DqHZuUM5+RI2wl249TNvMx3J2jpUomLQa4Zxl56GEotGfw3PIP1eI+hVf1s53FlUONStQ==", + "requires": { + "shell-quote": "^1.6.1", + "ws": "^3.3.1" + }, + "dependencies": { + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "react-docgen": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-5.2.0.tgz", + "integrity": "sha512-QzloLDy4JftSRoP0EPtTceYHEzKjDk+88bc2tvjTrIjmxznd5SS9V+vs8tUnfukPymmD8+a/aBZPfi+y+1a+Bg==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@babel/runtime": "^7.7.6", + "ast-types": "^0.13.2", + "commander": "^2.19.0", + "doctrine": "^3.0.0", + "neo-async": "^2.6.1", + "node-dir": "^0.1.10", + "strip-indent": "^3.0.0" + }, + "dependencies": { + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + } + } + }, + "react-dom": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.12.0.tgz", + "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.18.0" + }, + "dependencies": { + "scheduler": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-draggable": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.2.0.tgz", + "integrity": "sha512-5wFq//gEoeTYprnd4ze8GrFc+Rbnx+9RkOMR3vk4EbWxj02U6L6T3yrlKeiw4X5CtjD2ma2+b3WujghcXNRzkw==", + "dev": true, + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.6.0" + } + }, + "react-element-to-jsx-string": { + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.1.tgz", + "integrity": "sha512-LRdQWRB+xcVPOL4PU4RYuTg6dUJ/FNmaQ8ls6w38YbzkbV6Yr5tFNESroub9GiSghtnMq8dQg2LcNN5aMIDzVg==", + "dev": true, + "requires": { + "@base2/pretty-print-object": "1.0.0", + "is-plain-object": "3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "dev": true, + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true + } + } + }, + "react-error-overlay": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.5.tgz", + "integrity": "sha512-+DMR2k5c6BqMDSMF8hLH0vYKtKTeikiFW+fj0LClN+XZg4N9b8QUAdHC62CGWNLTi/gnuuemNcNcTFrCvK1f+A==", + "dev": true + }, + "react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==", + "dev": true + }, + "react-focus-lock": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.2.1.tgz", + "integrity": "sha512-47g0xYcCTZccdzKRGufepY8oZ3W1Qg+2hn6u9SHZ0zUB6uz/4K4xJe7yYFNZ1qT6m+2JDm82F6QgKeBTbjW4PQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^0.6.6", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.2", + "use-callback-ref": "^1.2.1", + "use-sidecar": "^1.0.1" + } + }, + "react-helmet-async": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.0.4.tgz", + "integrity": "sha512-KTGHE9sz8N7+fCkZ2a3vzXH9eIkiTNhL2NhKR7XzzQl3WsGlCHh76arauJUIiGdfhjeMp7DY7PkASAmYFXeJYg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.4", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^2.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-hotkeys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-hotkeys/-/react-hotkeys-2.0.0.tgz", + "integrity": "sha512-3n3OU8vLX/pfcJrR3xJ1zlww6KS1kEJt0Whxc4FiGV+MJrQ1mYSYI3qS/11d2MJDFm8IhOXMTFQirfu6AVOF6Q==", + "dev": true, + "requires": { + "prop-types": "^15.6.1" + } + }, + "react-inspector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-4.0.0.tgz", + "integrity": "sha512-heh4THBeJg0HLYO/3VBAOaFPkdEHoTZq9VFgP4rOzGw/jyqdVd5spfXSl3LNB1fwrwaWef75Q1hCuwlY4GaKjQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "is-dom": "^1.0.9", + "prop-types": "^15.6.1", + "storybook-chromatic": "^2.2.2" + } + }, + "react-intl": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-3.12.0.tgz", + "integrity": "sha512-VQWkFYSKKoi85p3gOXgG80KkBImdBJXwJxssO9gqdelW/fuVnxQLXgYOKuOqWrUz5beXK+qBve6bTpblh1ep2g==", + "requires": { + "@formatjs/intl-displaynames": "^1.2.0", + "@formatjs/intl-listformat": "^1.3.7", + "@formatjs/intl-relativetimeformat": "^4.5.7", + "@formatjs/intl-unified-numberformat": "^3.0.4", + "@formatjs/intl-utils": "^2.0.4", + "@formatjs/macro": "^0.2.6", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/invariant": "^2.2.31", + "hoist-non-react-statics": "^3.3.1", + "intl-format-cache": "^4.2.19", + "intl-locales-supported": "^1.8.4", + "intl-messageformat": "^7.8.2", + "intl-messageformat-parser": "^3.6.2", + "shallow-equal": "^1.2.1" + } + }, + "react-is": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", + "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, + "react-native": { + "version": "0.61.5", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.61.5.tgz", + "integrity": "sha512-MXqE3NoGO0T3dUKIKkIppijBhRRMpfN6ANbhMXHDuyfA+fSilRWgCwYgR/YNCC7ntECoJYikKaNTUBB0DeQy6Q==", + "requires": { + "@babel/runtime": "^7.0.0", + "@react-native-community/cli": "^3.0.0", + "@react-native-community/cli-platform-android": "^3.0.0", + "@react-native-community/cli-platform-ios": "^3.0.0", + "abort-controller": "^3.0.0", + "art": "^0.10.0", + "base64-js": "^1.1.2", + "connect": "^3.6.5", + "create-react-class": "^15.6.3", + "escape-string-regexp": "^1.0.5", + "event-target-shim": "^5.0.1", + "fbjs": "^1.0.0", + "fbjs-scripts": "^1.1.0", + "hermes-engine": "^0.2.1", + "invariant": "^2.2.4", + "jsc-android": "^245459.0.0", + "metro-babel-register": "^0.56.0", + "metro-react-native-babel-transformer": "^0.56.0", + "metro-source-map": "^0.56.0", + "nullthrows": "^1.1.0", + "pretty-format": "^24.7.0", + "promise": "^7.1.1", + "prop-types": "^15.7.2", + "react-devtools-core": "^3.6.3", + "react-refresh": "^0.4.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.15.0", + "stacktrace-parser": "^0.1.3", + "whatwg-fetch": "^3.0.0" + }, + "dependencies": { + "@react-native-community/cli": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-3.0.4.tgz", + "integrity": "sha512-kt+ENtC+eRUSfWPbbpx3r7fAQDcFwgM03VW/lBdVAUjkNxffPFT2GGdK23CJSBOXTjRSiGuwhvwH4Z28PdrlRA==", + "requires": { + "@hapi/joi": "^15.0.3", + "@react-native-community/cli-debugger-ui": "^3.0.0", + "@react-native-community/cli-tools": "^3.0.0", + "@react-native-community/cli-types": "^3.0.0", + "chalk": "^2.4.2", + "command-exists": "^1.2.8", + "commander": "^2.19.0", + "compression": "^1.7.1", + "connect": "^3.6.5", + "cosmiconfig": "^5.1.0", + "deepmerge": "^3.2.0", + "envinfo": "^7.1.0", + "errorhandler": "^1.5.0", + "execa": "^1.0.0", + "find-up": "^4.1.0", + "fs-extra": "^7.0.1", + "glob": "^7.1.1", + "graceful-fs": "^4.1.3", + "inquirer": "^3.0.6", + "lodash": "^4.17.5", + "metro": "^0.56.0", + "metro-config": "^0.56.0", + "metro-core": "^0.56.0", + "metro-react-native-babel-transformer": "^0.56.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "morgan": "^1.9.0", + "node-notifier": "^5.2.1", + "open": "^6.2.0", + "ora": "^3.4.0", + "plist": "^3.0.0", + "semver": "^6.3.0", + "serve-static": "^1.13.1", + "shell-quote": "1.6.1", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "ws": "^1.1.0" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "react-native-android-open-settings": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-native-android-open-settings/-/react-native-android-open-settings-1.3.0.tgz", + "integrity": "sha512-h4FTWRtTLRVNS7RK4Bg2gAXe8G5bFZL8Jtmfk2rG2a/N/wJR+v1rAY2BxRkC48lQTqwQCIAQRbWgLVkJ8XmaLQ==" + }, + "react-native-fs": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.16.4.tgz", + "integrity": "sha512-xxd2nvoxubxc7dhLi0CZqocmMA1AP5JZtvVngHRYP8QbpIDYCoJkGsABfa27oWzQNEc4VnRVT0EVhmeXc+3biA==", + "requires": { + "base-64": "^0.1.0", + "utf8": "^3.0.0" + } + }, + "react-native-gesture-handler": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.5.6.tgz", + "integrity": "sha512-z2jLUkRiRc0PBAC9UcXYkqy3VUzBG0cYQAGMsDHsd90JgrzudHAFRJV9fvFm18wNauFTNnJievjZ0C3rI2ydhw==", + "requires": { + "@egjs/hammerjs": "^2.0.17", + "hammerjs": "git+https://github.com/naver/hammer.js.git", + "hoist-non-react-statics": "^2.3.1", + "invariant": "^2.2.4", + "prop-types": "^15.7.2" + }, + "dependencies": { + "@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "requires": { + "@types/hammerjs": "^2.0.36" + }, + "dependencies": { + "@types/hammerjs": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.36.tgz", + "integrity": "sha512-7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==" + } + } + }, + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, + "react-native-hooks": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-native-hooks/-/react-native-hooks-0.9.0.tgz", + "integrity": "sha512-yqSAH0zxqjYHYPo6mPut3dEROoB5qMvsAbN3EK0MDQrWA5zdqmzgTEpS9/qwXaIyllk6hQbHxYnRTWq2uq4tJQ==" + }, + "react-native-image-resizer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-native-image-resizer/-/react-native-image-resizer-1.2.0.tgz", + "integrity": "sha512-G8Jpqwo41TMB1EEFwzwwFSVHvPOqxjalXHnQ0vl6dg0E6zVDlHKdUt+aprGI2ohM1k2e+NrB6ugSGueLVWPSWw==" + }, + "react-native-indicators": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-native-indicators/-/react-native-indicators-0.17.0.tgz", + "integrity": "sha512-s23em477GHGxWeGczWrixScAZD6tQU4mx1fttlrwhEGKOxhBgp55Kh3RoD9Wj4yna4e5W35xQNoPqoJAT6QW5A==", + "requires": { + "prop-types": "^15.5.10" + } + }, + "react-native-keep-awake": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-native-keep-awake/-/react-native-keep-awake-4.0.0.tgz", + "integrity": "sha512-0Fotox+eLXQooeibVs3P60yASYUWjtRw9MZNmbuHt5UZQrgUrAKsE4jm7gTr4tPU1m1RkwGzcgUFpcOkh/ec7g==" + }, + "react-native-linear-gradient": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/react-native-linear-gradient/-/react-native-linear-gradient-2.5.6.tgz", + "integrity": "sha512-HDwEaXcQIuXXCV70O+bK1rizFong3wj+5Q/jSyifKFLg0VWF95xh8XQgfzXwtq0NggL9vNjPKXa016KuFu+VFg==" + }, + "react-native-network-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-native-network-info/-/react-native-network-info-5.2.1.tgz", + "integrity": "sha512-iam74xXtrSqqZurCl1/bSjZ9jXcsJY84g7brx1/4uVGCY26c6m+4CArHNSHOsz5ATg2NQT+81sjNy0KlCPyK4g==" + }, + "react-native-progress": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-native-progress/-/react-native-progress-4.0.1.tgz", + "integrity": "sha512-libLQjUm8MJyAbW0drxDBUNyDB3C/pmv8rxR2EjdsdBAMsnDTPrL6ljN+vXWi2zfKOcbn+TFU5llnl/vcGPoaA==", + "requires": { + "@react-native-community/art": "^1.0.1", + "prop-types": "^15.7.2" + } + }, + "react-native-reanimated": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.7.0.tgz", + "integrity": "sha512-FQWSqP605eQVJumuK2HpR+7heF0ZI+qfy4jNguv3Xv8nPFHeIgZaRTXHCEQL2AcuSIj50zy8jGJf5l134QMQWQ==" + }, + "react-native-safe-area-view": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz", + "integrity": "sha512-MtRSIcZNstxv87Jet+UsPhEd1tpGe8cVskDXlP657x6rHpSrbrc+y13ZNXrwAgGNNhqQNX7UJT68ZIq//ZRmvw==", + "requires": { + "hoist-non-react-statics": "^2.3.1" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, + "react-native-screens": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.0.0-beta.2.tgz", + "integrity": "sha512-N+k4S/Wr+YGjzuGF49fB4VjIG6Fcaj4md3uxTsyeshEILGptPWAlgb5hAgn6C9xOj1x/rrAoXwZmrPNxPw6CSg==", + "requires": { + "debounce": "^1.2.0" + } + }, + "react-native-share": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-native-share/-/react-native-share-2.0.0.tgz", + "integrity": "sha512-J8Xl3mq0L9KDFtSYtKsQDAnZWw/niZIpAD1PRiNfZFHo44Rc+oS2bEIhskNnoQXKEgBNdPzCl/DenMXYAHXRYg==" + }, + "react-native-splash-screen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-native-splash-screen/-/react-native-splash-screen-3.2.0.tgz", + "integrity": "sha512-Ls9qiNZzW/OLFoI25wfjjAcrf2DZ975hn2vr6U9gyuxi2nooVbzQeFoQS5vQcbCt9QX5NY8ASEEAtlLdIa6KVg==" + }, + "react-native-swipe-gestures": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-native-swipe-gestures/-/react-native-swipe-gestures-1.0.4.tgz", + "integrity": "sha512-C/vz0KPHNyqHk3uF4Cz/jzd/0N8z34ZgsjAZUh/RsXPH2FtJJf3Fw73pQDWJSoCMtvVadlztb8xQ+/aEQrll7w==", + "dev": true + }, + "react-native-tab-view": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-2.13.0.tgz", + "integrity": "sha512-AeYbp/u91+D/C9+PmVEPBmFb3ixv8IkLMC3Sc5MajJ/fg0Zl3Of+BcEknBvTnKoe7Fj2y8+Qf9zorBbh5xzh4A==" + }, + "react-native-unimodules": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/react-native-unimodules/-/react-native-unimodules-0.7.0.tgz", + "integrity": "sha512-7tdSIWx5/EhDkEpGYCNaIsiJwluJYsJ0BtvJUVuWliRbN/IBVRc1b/nW4CKKSW/w+fXPel+k3GNlAN0p0S/BiA==", + "requires": { + "@unimodules/core": "~5.0.0", + "@unimodules/react-native-adapter": "~5.0.0", + "chalk": "^2.4.2", + "expo-app-loader-provider": "~8.0.0", + "expo-asset": "~8.0.0", + "expo-constants": "~8.0.0", + "expo-file-system": "~8.0.0", + "expo-permissions": "~8.0.0", + "unimodules-barcode-scanner-interface": "~5.0.0", + "unimodules-camera-interface": "~5.0.0", + "unimodules-constants-interface": "~5.0.0", + "unimodules-face-detector-interface": "~5.0.0", + "unimodules-file-system-interface": "~5.0.0", + "unimodules-font-interface": "~5.0.0", + "unimodules-image-loader-interface": "~5.0.0", + "unimodules-permissions-interface": "~5.0.0", + "unimodules-sensors-interface": "~5.0.0", + "unimodules-task-manager-interface": "~5.0.0" + } + }, + "react-native-v8": { + "version": "0.61.5-patch.1", + "resolved": "https://registry.npmjs.org/react-native-v8/-/react-native-v8-0.61.5-patch.1.tgz", + "integrity": "sha512-Cf5dJZ/NR7MV4NFgRUNGYhPPOATF4RUqyFvZ/nHTUDV58i7qCHH+orVPCufZRf0CgG/8Pg9v++Z85ql1i6k8og==", + "requires": { + "v8-android": "~8.80.0" + } + }, + "react-native-vector-icons": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.6.0.tgz", + "integrity": "sha512-MImKVx8JEvVVBnaShMr7/yTX4Y062JZMupht1T+IEgbqBj4aQeQ1z2SH4VHWKNtWtppk4kz9gYyUiMWqx6tNSw==", + "requires": { + "lodash": "^4.0.0", + "prop-types": "^15.6.2", + "yargs": "^13.2.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "react-native-web": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.11.7.tgz", + "integrity": "sha512-w1KAxX2FYLS2GAi3w3BnEZg/IUu7FdgHnLmFKHplRnHMV3u1OPB2EVA7ndNdfu7ds4Rn2OZjSXoNh6F61g3gkA==", + "dev": true, + "requires": { + "array-find-index": "^1.0.2", + "create-react-class": "^15.6.2", + "debounce": "^1.2.0", + "deep-assign": "^3.0.0", + "fbjs": "^1.0.0", + "hyphenate-style-name": "^1.0.2", + "inline-style-prefixer": "^5.0.3", + "normalize-css-color": "^1.0.2", + "prop-types": "^15.6.0", + "react-timer-mixin": "^0.13.4" + } + }, + "react-navigation": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-3.13.0.tgz", + "integrity": "sha512-r64bTImY2aNye8wtd39ubouVB6ZMJqjVQYKxH4LFmOav4FsI59fQTDN7sZzyJa29owowYw/wVkh+NWGT+tdD1A==", + "requires": { + "@react-navigation/core": "~3.5.1", + "@react-navigation/native": "~3.6.2", + "react-navigation-drawer": "~1.4.0", + "react-navigation-stack": "1.5.3", + "react-navigation-tabs": "~1.2.0" + } + }, + "react-navigation-drawer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.4.0.tgz", + "integrity": "sha512-ZyWBozcjB2aZ7vwCALv90cYA2NpDjM+WALaiYRshvPvue8l7cqynePbHK8GhlMGyJDwZqp4MxQmu8u1XAKp3Bw==", + "requires": { + "react-native-tab-view": "^1.2.0" + }, + "dependencies": { + "react-native-tab-view": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz", + "integrity": "sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ==", + "requires": { + "prop-types": "^15.6.1" + } + } + } + }, + "react-navigation-hooks": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-navigation-hooks/-/react-navigation-hooks-1.1.0.tgz", + "integrity": "sha512-ZY/aiYJ88KXaOo8iOa4171O/0x6ztGhUPd2OYzdaJhLT/tP64zi5HB/RZFImuKhaBTODXjoSpFaOTA5xpePG4g==" + }, + "react-navigation-stack": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-1.5.3.tgz", + "integrity": "sha512-MQcwDVbZUYsTtDJb5cFOSm+K+e7KpUCoROaGoUOR+JHWE3uuaJ3pd/Nu+32a57J98TNBf4qq0+2TPJWl6z6IBg==", + "requires": { + "prop-types": "^15.7.2" + } + }, + "react-navigation-tabs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.2.0.tgz", + "integrity": "sha512-I6vq3XX4ub9KhWQzcrggznls+2Z2C6w2ro46vokDGGvJ02CBpQRar7J0ETV29Ot5AJY67HucNUmZdH3yDFckmQ==", + "requires": { + "hoist-non-react-statics": "^2.5.0", + "prop-types": "^15.6.1", + "react-native-tab-view": "^1.4.1" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + }, + "react-native-tab-view": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz", + "integrity": "sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ==", + "requires": { + "prop-types": "^15.6.1" + } + } + } + }, + "react-navigation-transitions": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/react-navigation-transitions/-/react-navigation-transitions-1.0.12.tgz", + "integrity": "sha512-Hp0wX9KoXwsFch6Fgiz9HpGjQZDhnyucLbCai0LcaOC3VpmgYmvkbeAg/mQ5Z5exuY6PPrh/+FXU00yMPDHkcw==" + }, + "react-popper": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz", + "integrity": "sha512-nmqYTx7QVjCm3WUZLeuOomna138R1luC4EqkW3hxJUrAe+3eNz3oFCLYdnPwILfn0mX1Ew2c3wctrjlUMYYUww==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2", + "create-react-context": "^0.3.0", + "deep-equal": "^1.1.1", + "popper.js": "^1.14.4", + "prop-types": "^15.6.1", + "typed-styles": "^0.0.7", + "warning": "^4.0.2" + } + }, + "react-popper-tooltip": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/react-popper-tooltip/-/react-popper-tooltip-2.10.1.tgz", + "integrity": "sha512-cib8bKiyYcrIlHo9zXx81G0XvARfL8Jt+xum709MFCgQa3HTqTi4au3iJ9tm7vi7WU7ngnqbpWkMinBOtwo+IQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.4", + "react-popper": "^1.3.6" + } + }, + "react-refresh": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.2.tgz", + "integrity": "sha512-kv5QlFFSZWo7OlJFNYbxRtY66JImuP2LcrFgyJfQaf85gSP+byzG21UbDQEYjU7f//ny8rwiEkO6py2Y+fEgAQ==" + }, + "react-sizeme": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.12.tgz", + "integrity": "sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw==", + "dev": true, + "requires": { + "element-resize-detector": "^1.2.1", + "invariant": "^2.2.4", + "shallowequal": "^1.1.0", + "throttle-debounce": "^2.1.0" + } + }, + "react-syntax-highlighter": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-11.0.2.tgz", + "integrity": "sha512-kqmpM2OH5OodInbEADKARwccwSQWBfZi0970l5Jhp4h39q9Q65C4frNcnd6uHE5pR00W8pOWj9HDRntj2G4Rww==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "highlight.js": "~9.13.0", + "lowlight": "~1.11.0", + "prismjs": "^1.8.4", + "refractor": "^2.4.1" + } + }, + "react-test-renderer": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.9.0.tgz", + "integrity": "sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.9.0", + "scheduler": "^0.15.0" + } + }, + "react-textarea-autosize": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz", + "integrity": "sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2", + "prop-types": "^15.6.0" + } + }, + "react-timer-mixin": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz", + "integrity": "sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q==", + "dev": true + }, + "read-babelrc-up": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/read-babelrc-up/-/read-babelrc-up-0.3.1.tgz", + "integrity": "sha512-DAFetxQZKpiIAmjpnbxTAJ5lohBaKhRTfcfexApDmkVBGgg8ScbXCFhzZ3KYlagTNK0Bja0xPvQwcGLer6ukxg==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "json5": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "requires": { + "util.promisify": "^1.0.0" + } + }, + "recast": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.14.7.tgz", + "integrity": "sha512-/nwm9pkrcWagN40JeJhkPaRxiHXBRkXyRh/hgU088Z/v+qCy+zIHHY6bC6o7NaKAxPqtE6nD8zBH1LfU0/Wx6A==", + "dev": true, + "requires": { + "ast-types": "0.11.3", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" + }, + "dependencies": { + "ast-types": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.3.tgz", + "integrity": "sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "dev": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "refractor": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-2.10.1.tgz", + "integrity": "sha512-Xh9o7hQiQlDbxo5/XkOX6H+x/q8rmlmZKr97Ie1Q8ZM32IRRd3B/UxuA/yXDW79DBSXGWxm2yRTbcTVmAciJRw==", + "dev": true, + "requires": { + "hastscript": "^5.0.0", + "parse-entities": "^1.1.2", + "prismjs": "~1.17.0" + }, + "dependencies": { + "prismjs": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", + "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "dev": true, + "requires": { + "clipboard": "^2.0.0" + } + } + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "requires": { + "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": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsgen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" + }, + "regjsparser": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz", + "integrity": "sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "dev": true, + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "dev": true, + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "dev": true + }, + "resolve": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + }, + "rtl-detect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.2.tgz", + "integrity": "sha512-5X1422hvphzg2a/bo4tIDbjFjbJUOaPZwqE6dnyyxqwFqfR+tBcvfqapJr0o0VygATVCGKiODEewhZtKF+90AA==" + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", + "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "requires": { + "rx-lite": "*" + } + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "scheduler": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz", + "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "dev": true, + "optional": true + }, + "semver": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.2.tgz", + "integrity": "sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, + "serve-favicon": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", + "integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=", + "dev": true, + "requires": { + "etag": "~1.8.1", + "fresh": "0.5.2", + "ms": "2.1.1", + "parseurl": "~1.3.2", + "safe-buffer": "5.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "dev": true, + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "dev": true + } + } + }, + "shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "shelljs": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "dependencies": { + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + } + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + }, + "side-channel": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", + "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "object-inspect": "^1.7.0" + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-plist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.1.0.tgz", + "integrity": "sha512-2i5Tc0BYAqppM7jVzmNrI+aEUntPolIq4fDgji6WuNNn1D/qYdn2KwoLhZdzQkE04lu9L5tUoeJsjuJAvd+lFg==", + "requires": { + "bplist-creator": "0.0.8", + "bplist-parser": "0.2.0", + "plist": "^3.0.1" + } + }, + "simplebar": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/simplebar/-/simplebar-4.2.3.tgz", + "integrity": "sha512-9no0pK7/1y+8/oTF3sy/+kx0PjQ3uk4cYwld5F1CJGk2gx+prRyUq8GRfvcVLq5niYWSozZdX73a2wIr1o9l/g==", + "dev": true, + "requires": { + "can-use-dom": "^0.1.0", + "core-js": "^3.0.1", + "lodash.debounce": "^4.0.8", + "lodash.memoize": "^4.1.2", + "lodash.throttle": "^4.1.1", + "resize-observer-polyfill": "^1.5.1" + } + }, + "simplebar-react": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-1.2.3.tgz", + "integrity": "sha512-1EOWJzFC7eqHUp1igD1/tb8GBv5aPQA5ZMvpeDnVkpNJ3jAuvmrL2kir3HuijlxhG7njvw9ssxjjBa89E5DrJg==", + "dev": true, + "requires": { + "prop-types": "^15.6.1", + "simplebar": "^4.2.3" + } + }, + "sisteransi": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", + "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + } + } + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "sort-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-3.0.0.tgz", + "integrity": "sha512-77XUKMiZN5LvQXZ9sgWfJza19AvYIDwaDGwGiULM+B5XYru8Z90Oh06JvqDlJczvjjYvssrV0aK1GI6+YXvn5A==", + "dev": true, + "requires": { + "is-plain-obj": "^2.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + }, + "speedometer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-1.0.0.tgz", + "integrity": "sha1-zWccsGdSwivKM3Di8zREC+T8YuI=", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" + }, + "stacktrace-parser": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.8.tgz", + "integrity": "sha512-ig5rHJSdJrAsVqdb3oAI/8C6aQ7dEwJXoy/TIEIOTzdJHssmn12o6RsFoeQSLHoKjq0lX+kqhmnLDpyQTuWiJA==", + "requires": { + "type-fest": "^0.7.1" + } + }, + "standard-version": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-6.0.1.tgz", + "integrity": "sha512-+09AwTbyLKyUwefiZSccgarp24okvH9A229NOVSpYTKWcxBxqZqdYmtQaJ8UET9mjPXRxP84vonJU4YMqCyBTQ==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "conventional-changelog": "3.1.8", + "conventional-changelog-config-spec": "1.0.0", + "conventional-recommended-bump": "5.0.0", + "detect-indent": "6.0.0", + "detect-newline": "3.0.0", + "dotgitignore": "2.1.0", + "figures": "3.0.0", + "find-up": "3.0.0", + "fs-access": "1.0.1", + "git-semver-tags": "2.0.2", + "semver": "6.0.0", + "stringify-package": "1.0.0", + "yargs": "13.2.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + } + } + }, + "conventional-changelog": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.8.tgz", + "integrity": "sha512-fb3/DOLLrQdNqN0yYn/lT6HcNsAa9A+VTDBqlZBMQcEPPIeJIMI+DBs3yu+eiYOLi22w9oShq3nn/zN6qm1Hmw==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.3", + "conventional-changelog-atom": "^2.0.1", + "conventional-changelog-codemirror": "^2.0.1", + "conventional-changelog-conventionalcommits": "^3.0.2", + "conventional-changelog-core": "^3.2.2", + "conventional-changelog-ember": "^2.0.2", + "conventional-changelog-eslint": "^3.0.2", + "conventional-changelog-express": "^2.0.1", + "conventional-changelog-jquery": "^3.0.4", + "conventional-changelog-jshint": "^2.0.1", + "conventional-changelog-preset-loader": "^2.1.1" + } + }, + "conventional-changelog-conventionalcommits": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-3.0.2.tgz", + "integrity": "sha512-w1+fQSDnm/7+sPKIYC5nfRVYDszt+6HdWizrigSqWFVIiiBVzkHGeqDLMSHc+Qq9qssHVAxAak5206epZyK87A==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", + "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", + "dev": true, + "requires": { + "conventional-changelog-writer": "^4.0.6", + "conventional-commits-parser": "^3.0.3", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^2.0.3", + "lodash": "^4.2.1", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" + }, + "dependencies": { + "git-semver-tags": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", + "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "dev": true, + "requires": { + "meow": "^4.0.0", + "semver": "^6.0.0" + } + } + } + }, + "detect-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.0.0.tgz", + "integrity": "sha512-JAP22dVPAqvhdRFFxK1G5GViIokyUn0UWXRNW0ztK96fsqi9cuM8w8ESbSk+T2w5OVorcMcL6m7yUg1RrX+2CA==", + "dev": true + }, + "figures": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", + "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + }, + "dependencies": { + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + } + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "git-semver-tags": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.2.tgz", + "integrity": "sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w==", + "dev": true, + "requires": { + "meow": "^4.0.0", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + } + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "semver": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", + "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", + "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "store2": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/store2/-/store2-2.10.0.tgz", + "integrity": "sha512-tWEpK0snS2RPUq1i3R6OahfJNjWCQYNxq0+by1amCSuw0mXtymJpzmZIeYpA1UAa+7B0grCpNYIbDcd7AgTbFg==", + "dev": true + }, + "storybook-chromatic": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/storybook-chromatic/-/storybook-chromatic-2.2.2.tgz", + "integrity": "sha512-n79eX0MQEHzDCnXqgOjvDOQ1xfBOTyQHy1RNxEMQvZolfAle8YVS0NnRpcW0xh/Ye621Iote3dwFI3uQmlcqPw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "@chromaui/localtunnel": "1.10.1", + "async-retry": "^1.1.4", + "commander": "^2.9.0", + "debug": "^3.0.1", + "denodeify": "^1.2.1", + "env-ci": "^2.1.0", + "fake-tag": "^1.0.0", + "jsdom": "^11.5.1", + "jsonfile": "^4.0.0", + "minimatch": "^3.0.4", + "node-ask": "^1.0.1", + "node-fetch": "^2.6.0", + "node-loggly-bulk": "^2.2.4", + "param-case": "^2.1.1", + "pino": "4.10.2", + "progress": "^2.0.3", + "progress-stream": "^2.0.0", + "semver": "^6.2.0", + "strip-color": "^0.1.0", + "tmp": "^0.1.0", + "tree-kill": "^1.1.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "dev": true, + "requires": { + "rimraf": "^2.6.3" + } + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "string.prototype.padend": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz", + "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "string.prototype.padstart": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.0.tgz", + "integrity": "sha512-envqZvUp2JItI+OeQ5UAh1ihbAV5G/2bixTojvlIa090GGqF+NQRxbWb2nv9fTGrZABv6+pE6jXoAZhhS2k4Hw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-package": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.0.tgz", + "integrity": "sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-color": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", + "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, + "style-loader": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz", + "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.6.4" + }, + "dependencies": { + "schema-utils": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "sudo-prompt": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.1.1.tgz", + "integrity": "sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-parser": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.3.tgz", + "integrity": "sha512-fnCWiifNhK8i2Z7b9R5tbNahpxrRdAaQbnoxKlT2KrSCj9Kq/yBSgulCRgBJRhy1dPnSY5slg5ehPUnzpEcHlg==", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "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.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", + "dev": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + } + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "symbol.prototype.description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/symbol.prototype.description/-/symbol.prototype.description-1.0.2.tgz", + "integrity": "sha512-2CW5SU4/Ki1cYOOHcL2cXK4rxSg5hCU1TwZ7X4euKhV9VnfqKslh7T6/UyKkubA8cq2tOmsOv7m3ZUmQslBRuw==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "has-symbols": "^1.0.1" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "telejson": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-3.3.0.tgz", + "integrity": "sha512-er08AylQ+LEbDLp1GRezORZu5wKOHaBczF6oYJtgC3Idv10qZ8A3p6ffT+J5BzDKkV9MqBvu8HAKiIIOp6KJ2w==", + "dev": true, + "requires": { + "@types/is-function": "^1.0.0", + "global": "^4.4.0", + "is-function": "^1.0.1", + "is-regex": "^1.0.4", + "is-symbol": "^1.0.3", + "isobject": "^4.0.0", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3" + }, + "dependencies": { + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true + } + } + }, + "temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "requires": { + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" + }, + "dependencies": { + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" + } + } + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true + }, + "tempfile": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-3.0.0.tgz", + "integrity": "sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==", + "dev": true, + "requires": { + "temp-dir": "^2.0.0", + "uuid": "^3.3.2" + } + }, + "term-size": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", + "dev": true + }, + "terser": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.3.tgz", + "integrity": "sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.4.tgz", + "integrity": "sha512-Nv96Nws2R2nrFOpbzF6IxRDpIkkIfmhvOws+IqMvYdFLO7o6wAILWFKONFgaYy8+T4LVz77DQW0f7wOeDEAjrg==", + "dev": true, + "requires": { + "cacache": "^13.0.1", + "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.4.3", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "dev": true, + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + } + }, + "find-cache-dir": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.2.0.tgz", + "integrity": "sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.0", + "pkg-dir": "^4.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-worker": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "minipass": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "schema-utils": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + } + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" + }, + "throttle-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.1.0.tgz", + "integrity": "sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "dev": true, + "optional": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-integer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-integer/-/to-integer-1.0.1.tgz", + "integrity": "sha1-URrUHc5qk3MKjztuNaFk/YKUZNo=", + "dev": true, + "requires": { + "is-function": "^1.0.1", + "is-nil": "^1.0.0", + "is-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-str": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-str/-/to-str-1.0.0.tgz", + "integrity": "sha1-kDQkj1b0OYBMH9RaPL6Bley2CPE=", + "dev": true, + "requires": { + "is-function": "^1.0.1", + "is-nil": "^1.0.0", + "is-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=", + "dev": true + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", + "dev": true + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "ts-dedent": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-1.1.1.tgz", + "integrity": "sha512-UGTRZu1evMw4uTPyYF66/KFd22XiU+jMaIuHrkIHQ2GivAXVlLV0v/vHrpOuTRf9BmpNHi/SO7Vd0rLu0y57jg==", + "dev": true + }, + "ts-pnp": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.5.tgz", + "integrity": "sha512-ti7OGMOUOzo66wLF3liskw6YQIaSsBgc4GOAlWRnIEj8htCxJUxskanMUoJOD6MDCRAXo36goXJZch+nOS0VMA==", + "dev": true + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "txtgen": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/txtgen/-/txtgen-2.2.4.tgz", + "integrity": "sha512-eVt2Luabn0BG6K3DfHkqEBkldVYpAKgneVteEljzM5a0gLoff6sZI9SQMCm0GSyYhQQiSgiJ4HZaV9iYR+gm4g==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-styles": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", + "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typescript": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", + "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", + "dev": true + }, + "typescript-compiler": { + "version": "1.4.1-2", + "resolved": "https://registry.npmjs.org/typescript-compiler/-/typescript-compiler-1.4.1-2.tgz", + "integrity": "sha1-uk99si2RU0oZKdkACdzhYety/T8=", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==" + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "underscore": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", + "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==" + }, + "unfetch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.1.0.tgz", + "integrity": "sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" + }, + "unimodules-barcode-scanner-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.0.0.tgz", + "integrity": "sha512-8irSCD2UOxojD+3KzrsoGe/TlNOF4NQuCtlhCY5PjDU3SoBAZzSmlLfkz6nYs4iovNila0FZu4vE6msm9Ehdtw==" + }, + "unimodules-camera-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-camera-interface/-/unimodules-camera-interface-5.0.0.tgz", + "integrity": "sha512-fe1Q1RZ6daKLtT5M87HdznBAV9qEsuHdPZVUWsLfizCXrHwCcRWErwb4RZoJC20Y11sj+kkLlE4W5fBJDn6/WA==" + }, + "unimodules-constants-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-constants-interface/-/unimodules-constants-interface-5.0.0.tgz", + "integrity": "sha512-s7Fwe3MV6BCj+Sexwfrj9mLAzJlhMfOd/ZM9PNZG10nlTRw8uDxQq0VH1m8NuJqV1Ma2BUmQM7H3lBPe4EysYg==" + }, + "unimodules-face-detector-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-face-detector-interface/-/unimodules-face-detector-interface-5.0.0.tgz", + "integrity": "sha512-6VrjHPu429tI54TrGZDQCNIdIXplSwmnJ4jsoVwpubluK+Z4pTRxbEuR3hKelGsvQCUzA38TDD94w7pGMwpe3A==" + }, + "unimodules-file-system-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-file-system-interface/-/unimodules-file-system-interface-5.0.0.tgz", + "integrity": "sha512-3MRHOigD39geBA6opGkWBoi6nSbFnAr6OWNWiCNN3z1KyFEgeGUFJtTUhzZ/gjsipHubwcWgWBlBSSZKIA7qPQ==" + }, + "unimodules-font-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-font-interface/-/unimodules-font-interface-5.0.0.tgz", + "integrity": "sha512-S7S5JcOzqpEEt7fmqBkTkps5pg5InQRiu0KBv8txgQ6ZkW/OYjt4j5/fb6IkLB5RWEdm7Ji/xxmJLafRSj2bjA==" + }, + "unimodules-image-loader-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-image-loader-interface/-/unimodules-image-loader-interface-5.0.0.tgz", + "integrity": "sha512-HzT+eqp1jgm9/KiJfAlb5p4rykQlMMo6eI4S626vRtFcywCr6yKN7y5vYT5jmSxR2QIWY/jLGrX4DSt9dCbYbg==" + }, + "unimodules-permissions-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-permissions-interface/-/unimodules-permissions-interface-5.0.0.tgz", + "integrity": "sha512-ULtTRsGPSkXm1dELq0Eoq7RCReDYhu71NH2iWnnhmg8MZLykBInHw0bgcd0Fe7IYlRK3VXy8elldAIpFf3OKdw==" + }, + "unimodules-sensors-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-sensors-interface/-/unimodules-sensors-interface-5.0.0.tgz", + "integrity": "sha512-ilmeamfmbADXgq595VpJd+5tJLebfbwqMgwVxQ6/EX1niJkHgRk9iloYqx5QRKXwscwbGepIWXjMIv1/DNShQQ==" + }, + "unimodules-task-manager-interface": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unimodules-task-manager-interface/-/unimodules-task-manager-interface-5.0.0.tgz", + "integrity": "sha512-t5M4sgZBl3i6iUO8PAzjD90bh5RyAdQfLf1GqSVsV8BJVEr1uKokGm6t7lq3E+PCC41ulpeiVApdXPImJywJdg==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universal-user-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", + "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==", + "dev": true, + "requires": { + "os-name": "^3.1.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "unzipper": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.9.15.tgz", + "integrity": "sha512-2aaUvO4RAeHDvOCuEtth7jrHFaCKTSXPqUkXwADaLBzGbgZGzUDccoEdJ5lW+3RmfpOZYNx0Rw6F6PUzM6caIA==", + "dev": true, + "requires": { + "big-integer": "^1.6.17", + "binary": "~0.3.0", + "bluebird": "~3.4.1", + "buffer-indexof-polyfill": "~1.0.0", + "duplexer2": "~0.1.4", + "fstream": "^1.0.12", + "listenercount": "~1.0.1", + "readable-stream": "~2.3.6", + "setimmediate": "~1.0.4" + }, + "dependencies": { + "bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + } + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + }, + "schema-utils": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "use-callback-ref": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.1.tgz", + "integrity": "sha512-C3nvxh0ZpaOxs9RCnWwAJ+7bJPwQI8LHF71LzbQ3BvzH5XkdtlkMadqElGevg5bYBDFip4sAnD4m06zAKebg1w==", + "dev": true + }, + "use-sidecar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.0.2.tgz", + "integrity": "sha512-287RZny6m5KNMTb/Kq9gmjafi7lQL0YHO1lYolU6+tY1h9+Z3uCtkJJ3OSOq3INwYf2hBryCcDh4520AhJibMA==", + "dev": true, + "requires": { + "detect-node": "^2.0.4", + "tslib": "^1.9.3" + } + }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "utm": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/utm/-/utm-1.1.1.tgz", + "integrity": "sha512-rJIv6i1u86OVy91Burh/6oRFfE8zOCd6Unc8fvA0N7fjQT43ogqhVeUp5NByaZPe278QyiA5wMMEaAU9Jx6QRA==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "uuid-js": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/uuid-js/-/uuid-js-0.7.5.tgz", + "integrity": "sha1-bIhtAqU9LUDc8l2RoXC0p7JblNA=" + }, + "v8-android": { + "version": "8.80.0", + "resolved": "https://registry.npmjs.org/v8-android/-/v8-android-8.80.0.tgz", + "integrity": "sha512-Bkw48Bzgigm87WD4Yg9V/OGQmho5LngiwPKrMA0VmLQxWAUqW5axqaYFvxEuszdzSl9PIiceGhKTKEM2BM559Q==" + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.x" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "4.41.6", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.6.tgz", + "integrity": "sha512-yxXfV0Zv9WMGRD+QexkZzmGIh54bsvEs+9aRWxnN8erLWEOehAKUTeNBoUbA6HPEZPlRo7KDi2ZcNveoZgK9MA==", + "dev": true, + "requires": { + "@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.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.3", + "json-parse-better-errors": "^1.0.2", + "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.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "terser-webpack-plugin": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.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" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } + } + }, + "webpack-hot-middleware": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz", + "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "html-entities": "^1.2.0", + "querystring": "^0.2.0", + "strip-ansi": "^3.0.0" + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "webpack-virtual-modules": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.2.1.tgz", + "integrity": "sha512-0PWBlxyt4uGDofooIEanWhhyBOHdd+lr7QpYNDLC7/yc5lqJT8zlc04MTIBnKj+c2BlQNNuwE5er/Tg4wowHzA==", + "dev": true, + "requires": { + "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "windows-release": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz", + "integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==", + "dev": true, + "requires": { + "execa": "^1.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "dev": true, + "requires": { + "microevent.ts": "~0.1.1" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "requires": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "xcode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", + "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", + "requires": { + "simple-plist": "^1.0.0", + "uuid": "^3.3.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "requires": { + "sax": "^1.2.1" + } + }, + "xmldom": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", + "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==" + }, + "xpipe": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/xpipe/-/xpipe-1.0.5.tgz", + "integrity": "sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz", + "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.6.3" + } + }, + "yargs": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", + "requires": { + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "requires": { + "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + } + } + } + } +} diff --git a/src/backend/package-lock.json b/src/backend/package-lock.json new file mode 100644 index 000000000..ea38847cf --- /dev/null +++ b/src/backend/package-lock.json @@ -0,0 +1,3861 @@ +{ + "name": "mapeo-mobile-node", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@bugsnag/browser": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-6.5.2.tgz", + "integrity": "sha512-XFKKorJc92ivLnlHHhLiPvkP03tZ5y7n0Z2xO6lOU7t+jWF5YapgwqQAda/TWvyYO38B/baWdnOpWMB3QmjhkA==" + }, + "@bugsnag/js": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-6.5.2.tgz", + "integrity": "sha512-4ibw624fM5+Y/WSuo3T/MsJVtslsPV8X0MxFuRxdvpKVUXX216d8hN8E/bG4hr7aipqQOGhBYDqSzeL2wgmh0Q==", + "requires": { + "@bugsnag/browser": "^6.5.2", + "@bugsnag/node": "^6.5.2" + } + }, + "@bugsnag/node": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-6.5.2.tgz", + "integrity": "sha512-KQ1twKoOttMCYsHv7OXUVsommVcrk6RGQ5YoZGlTbREhccbzsvjbiXPKiY31Qc7OXKvaJwSXhnOKrQTpRleFUg==", + "requires": { + "byline": "^5.0.0", + "error-stack-parser": "^2.0.2", + "iserror": "^0.0.2", + "pump": "^3.0.0", + "stack-generator": "^2.0.3" + } + }, + "@digidem/atomic-fs-blob-store": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@digidem/atomic-fs-blob-store/-/atomic-fs-blob-store-5.3.1.tgz", + "integrity": "sha512-uxnNj/tfyNFwom4I0tIerJJUHiQgTt3lITils0qtlYyxaYaB0zOUGVQGJgdslXZkyDjHFzfWuGFg7tzQvxAWuQ==", + "requires": { + "@digidem/fs-write-stream-atomic": "^1.1.0", + "duplexify": "^3.2.0", + "end-of-stream": "^1.0.0", + "lru-cache": "^2.5.0", + "mkdirp": "^0.5.0" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, + "@digidem/fs-write-stream-atomic": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@digidem/fs-write-stream-atomic/-/fs-write-stream-atomic-1.1.0.tgz", + "integrity": "sha512-VzcduOqQf1IeZItO24dJFOiJpkue5JTvL1SK6jA8b40H0URtTKsQES7fmnU9BJdlY4IyEdolPlsa84hx5quemQ==", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "@mapeo/core": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@mapeo/core/-/core-8.1.3.tgz", + "integrity": "sha512-/IciehuILGRFI7Mn4pZdeWL4nijP0sec/WGFIEAYPAEDIuHDBOgGQLZrlfnao0jZ/rR5suP2GOpxvxmajiIJpA==", + "requires": { + "blob-store-replication-stream": "^1.3.0", + "concat-stream": "^2.0.0", + "dat-swarm-defaults": "^1.0.2", + "debug": "^4.1.1", + "discovery-swarm": "6.0.0", + "end-of-stream": "^1.4.1", + "gtran-shapefile": "^1.1.3", + "handshake-stream": "^3.0.0", + "hypercore-crypto": "^1.0.0", + "inherits": "^2.0.3", + "multiplex": "^6.7.0", + "osm-p2p-geojson": "^4.0.1", + "osm-p2p-syncfile": "^4.1.0", + "pump": "^3.0.0", + "pumpify": "^2.0.1", + "randombytes": "^2.0.6", + "run-parallel": "^1.1.9", + "shp-write": "github:digidem/shp-write#02b37559e61f8951dc238ed22de80e4e2aa6cf0f", + "statuses": "^1.5.0", + "through2": "^3.0.0" + }, + "dependencies": { + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "@turf/meta": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-3.14.0.tgz", + "integrity": "sha1-jTBQwaD0S/QGpjO2vSjFEPe87ic=" + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abstract-blob-store": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/abstract-blob-store/-/abstract-blob-store-3.3.5.tgz", + "integrity": "sha512-LMxiWKn5/cM4e022wYHCnXNdWBkVRuePx4aL5y2FsOyN48J9wksVodyrJGELnnUbgor5bqeEIW7l6gQAiWYjAg==", + "requires": { + "concat-stream": "^1.6.0", + "from2-array": "0.0.4" + } + }, + "abstract-leveldown": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", + "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", + "requires": { + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", + "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", + "dev": true + }, + "almost-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", + "integrity": "sha1-+FHGMROHV5lCdqou++jfowZszN0=" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-lru": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-lru/-/array-lru-1.1.1.tgz", + "integrity": "sha1-DH4bTgIq4Wb/HoRIxZXzGB/NMzc=" + }, + "array-source": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/array-source/-/array-source-0.0.4.tgz", + "integrity": "sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "asar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/asar/-/asar-2.0.3.tgz", + "integrity": "sha512-QdHKO+HOYVtE4B/M3up3i4LSJeJgsa2CTVBrjBf9GgLUPGGUFZowcdJ5yE4gOJuRAHNdqB9JFeRfFfaOu5x8Rw==", + "requires": { + "chromium-pickle-js": "^0.2.0", + "commander": "^2.20.0", + "cuint": "^0.2.2", + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "tmp-promise": "^1.0.5" + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "atomic-batcher": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/atomic-batcher/-/atomic-batcher-1.0.2.tgz", + "integrity": "sha1-0WkB0QzOxZUWwZe5zNiTBom4E7Q=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz", + "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=" + }, + "bencode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bencode/-/bencode-1.0.0.tgz", + "integrity": "sha512-N+VOSP5MkoX+xgnp6Y056iCY5TmCZg9rgPNPQe0bIiXchxYFP4vs/Tf0dTdQ+qQhP7HM2gvfFq+sUVjQsGy5Zw==", + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "bindings-noderify-nodejs-mobile": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/bindings-noderify-nodejs-mobile/-/bindings-noderify-nodejs-mobile-10.5.0.tgz", + "integrity": "sha512-8mtLAYnUYJbyyxGosKZuPcbs7/hJkE/dvrYQdRdzwipkE4YmyPgslFJFZQn7mt0GL1JjsrIZhKwNgFbacnn0uA==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bitfield-rle": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bitfield-rle/-/bitfield-rle-2.2.1.tgz", + "integrity": "sha512-wrDhHe7LUkqaytxgbsFXoemzHRv6e8FrVNWWsQCgUfmuVYW6ke44hoGc9VdpjgfIsJ/ejmCFA8wDtDqACNAvyw==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "varint": "^4.0.0" + } + }, + "bittorrent-dht": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-7.10.0.tgz", + "integrity": "sha512-fvb6M58Ceiv/S94nu6zeaiMoJvUYOeIqRbgaClm+kJTzCAqJPtAR/31pXNYB5iEReOoKqQB5zY33gY0W6ZRWQQ==", + "requires": { + "bencode": "^1.0.0", + "buffer-equals": "^1.0.3", + "debug": "^3.1.0", + "inherits": "^2.0.1", + "k-bucket": "^3.3.0", + "k-rpc": "^4.2.1", + "lru": "^3.1.0", + "randombytes": "^2.0.5", + "safe-buffer": "^5.0.1", + "simple-sha1": "^2.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "bkd-tree": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bkd-tree/-/bkd-tree-1.2.1.tgz", + "integrity": "sha512-wKoi2P32ATqOVyFLCrqv2l1KCy/mjt6GgOULAT8WO3sqrCT4AlNJu7vfFyTMZZffvMyfXNPSUJm8wYBADFPdZQ==", + "requires": { + "bounding-box-overlap-test": "^1.0.0", + "once": "^1.4.0", + "pull-stream": "^3.6.8" + } + }, + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "blake2b": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.3.tgz", + "integrity": "sha512-pkDss4xFVbMb4270aCyGD3qLv92314Et+FsKzilCLxDz5DuZ2/1g3w4nmBbu6nKApPspnjG7JcwTjGZnduB1yg==", + "requires": { + "blake2b-wasm": "^1.1.0", + "nanoassert": "^1.0.0" + } + }, + "blake2b-wasm": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-1.1.7.tgz", + "integrity": "sha512-oFIHvXhlz/DUgF0kq5B1CqxIDjIJwh9iDeUUGQUcvgiGz7Wdw03McEO7CfLBy7QKGdsydcMCgO9jFNBAFCtFcA==", + "requires": { + "nanoassert": "^1.0.0" + } + }, + "blob-store-replication-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/blob-store-replication-stream/-/blob-store-replication-stream-1.3.3.tgz", + "integrity": "sha512-LWPcDTMzgPcBqhEnRMFWFIgXEZnyP05aSyl3Q2mHwKSLFjWqGtgrQaUDmUXHyRllzeiwWAngSD0Tv+lRQw8CBg==", + "requires": { + "abstract-blob-store": "^3.3.4", + "collect-stream": "^1.2.1", + "debug": "^3.1.0", + "duplexify": "^3.5.1", + "length-prefixed-stream": "^1.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "bops": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.6.tgz", + "integrity": "sha1-CC0dVfoB5g29wuvC26N/ZZVUzzo=", + "requires": { + "base64-js": "0.0.2", + "to-utf8": "0.0.1" + } + }, + "bounding-box-overlap-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bounding-box-overlap-test/-/bounding-box-overlap-test-1.0.0.tgz", + "integrity": "sha1-+oo2czSV6FUMwHbZHpmaf6yGqfA=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-equals": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/buffer-equals/-/buffer-equals-1.0.4.tgz", + "integrity": "sha1-A1O1T9B/2VZBcGca5vZrnPENJ/U=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "bulk-write-stream": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-1.1.4.tgz", + "integrity": "sha512-GtKwd/4etuk1hNeprXoESBO1RSeRYJMXKf+O0qHmWdUomLT8ysNEfX/4bZFXr3BK6eukpHiEnhY2uMtEHDM2ng==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.1.4" + } + }, + "byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" + }, + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", + "dev": true + }, + "charset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", + "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==" + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "chrome-dgram": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/chrome-dgram/-/chrome-dgram-3.0.4.tgz", + "integrity": "sha512-G8rOANSvSRC4hGny/K/ec1gXtNuZGzryFeoev49u0J4g/qws7H25vMKQlbD9izuedFVHwXFTdKQG62Tf/7Cmwg==", + "requires": { + "inherits": "^2.0.1", + "run-series": "^1.1.2" + } + }, + "chrome-dns": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chrome-dns/-/chrome-dns-1.0.1.tgz", + "integrity": "sha512-HqsYJgIc8ljJJOqOzLphjAs79EUuWSX3nzZi2LNkzlw3GIzAeZbaSektC8iT/tKvLqZq8yl1GJu5o6doA4TRbg==", + "requires": { + "chrome-net": "^3.3.2" + } + }, + "chrome-net": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/chrome-net/-/chrome-net-3.3.3.tgz", + "integrity": "sha512-11jL8+Ogna8M5TEdyalE8IG6cpaFEU3YcaxAj3YjZKjRM/PeT70pZbrUY+xoGwqiEJZwJE4Td2CvGxUvS9ytKQ==", + "requires": { + "inherits": "^2.0.1" + } + }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=" + }, + "circular-append-file": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/circular-append-file/-/circular-append-file-1.0.1.tgz", + "integrity": "sha512-BUDFvrBTCdeVhg9E05PX4XgMegk6xWB69uGwyuATEg7PMfa9lGU1mzFSK0xWNW2O0i9CAQHN0oIdXI/kI2hPkg==", + "requires": { + "multistream": "^2.1.0" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "codecs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/codecs/-/codecs-2.0.0.tgz", + "integrity": "sha512-WXvpJRAgc693oqYvZte9uYEiL5YHtfrxyEq12uVny9oBJ1k37zSva5vVz7trsnt6R9Y15hEgOSC7VFZT2pfYnA==" + }, + "collect-stream": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/collect-stream/-/collect-stream-1.2.1.tgz", + "integrity": "sha1-gptBdGQxseJ+AebNPQrBY8IqHKc=", + "requires": { + "concat-stream": "^1.2.0", + "once": "^1.3.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "comparable-storable-types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/comparable-storable-types/-/comparable-storable-types-1.0.0.tgz", + "integrity": "sha1-EgkFmpzsz26ZSQ+KT6L/Vth8E3s=", + "requires": { + "almost-equal": "^1.0.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connections": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/connections/-/connections-1.4.2.tgz", + "integrity": "sha1-eJBIK/XHGvbFyhkr4xNq7XRCiq0=" + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "count-trailing-zeros": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/count-trailing-zeros/-/count-trailing-zeros-1.0.1.tgz", + "integrity": "sha1-q6bFgzvkENRbHso+bVg4RM5oLHc=" + }, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=" + }, + "d64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d64/-/d64-1.0.0.tgz", + "integrity": "sha1-QAKofoUMv8n52XBrYPymE6MzbpA=" + }, + "dat-swarm-defaults": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dat-swarm-defaults/-/dat-swarm-defaults-1.0.2.tgz", + "integrity": "sha512-gz9RuhUxq3coYBrelzuFXCNyC579aO3Bm1Wlwa12/9tJr1NP0AAGxpHJYA1HZvt8X7ZdrtMzpFyNvs2Y9PFG6w==" + }, + "dbf": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/dbf/-/dbf-0.1.4.tgz", + "integrity": "sha1-Fi8Nj9HbN8l2RYrG/m9VtIxy9GY=", + "requires": { + "jdataview": "~2.5.0" + } + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "requires": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "defined": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", + "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=" + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "dependencies": { + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "discovery-channel": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.5.1.tgz", + "integrity": "sha512-EEmZQFE0PiOsJj7G3KVCwFGbYs4QchUvzA91iHtZ6HfkIqfBEDSTGLygJrUlY1Tr77WDV+qZVrZuNghHxSL/vw==", + "requires": { + "bittorrent-dht": "^7.10.0", + "buffer-from": "^1.0.0", + "debug": "^2.6.9", + "dns-discovery": "^6.0.1", + "pretty-hash": "^1.0.1", + "thunky": "^0.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "thunky": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz", + "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=" + } + } + }, + "discovery-swarm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/discovery-swarm/-/discovery-swarm-6.0.0.tgz", + "integrity": "sha512-ByfwygfLCB4umpSBVz9tGxgmng1D3YWg6A80cip8dgdpC5dRyGsL5w6KoC9srQ15xydKtYPgcxUC2YtSzPCtHA==", + "requires": { + "connections": "^1.4.2", + "debug": "^4.1.1", + "discovery-channel": "^5.5.1", + "length-prefixed-message": "^3.0.3", + "pump": "^3.0.0", + "to-buffer": "^1.0.1", + "utp-native": "^2.1.3" + } + }, + "dns-discovery": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/dns-discovery/-/dns-discovery-6.2.3.tgz", + "integrity": "sha512-ZULG1R5J9QHZfaXo5XFGVG22LIcnZorbEa7f83FYgCGDaQrVfyVmty3Z89OvBLpCPetwW+LzjCcT60ekhbQ+9g==", + "requires": { + "circular-append-file": "^1.0.1", + "debug": "^2.6.9", + "dns-socket": "^3.0.0", + "lru": "^2.0.0", + "minimist": "^1.2.0", + "multicast-dns": "^7.1.1", + "network-address": "^1.1.2", + "pump": "^3.0.0", + "speedometer": "^1.0.0", + "unordered-set": "^1.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "lru": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lru/-/lru-2.0.1.tgz", + "integrity": "sha1-+XmHHhYuP1yiVL5GhExT1MU2RUQ=", + "requires": { + "inherits": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "unordered-set": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-1.1.0.tgz", + "integrity": "sha1-K6fvMW7dC5WQzFR8dPdqLxZP7Mo=" + } + } + }, + "dns-packet": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz", + "integrity": "sha512-bn1AKpfkFbm0MIioOMHZ5qJzl2uypdBwI4nYNsqvhjsegBhcKJUlCrMPWLx6JEezRjxZmxhtIz/FkBEur2l8Cw==", + "requires": { + "ip": "^1.1.5", + "safe-buffer": "^5.1.1" + } + }, + "dns-socket": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dns-socket/-/dns-socket-3.0.0.tgz", + "integrity": "sha512-M0WkByoJ/mTm+HtwBQLsRJPe5uGIC/lYVOp+s6ZzhbZ5iq4GxjFyxYPQhB85dgCLvVb43aJQXHDC9aUgyKGc/Q==", + "requires": { + "dns-packet": "^4.1.0" + } + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "duplexify": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", + "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "ecstatic": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-4.1.2.tgz", + "integrity": "sha512-lnrAOpU2f7Ra8dm1pW0D1ucyUxQIEk8RjFrvROg1YqCV0ueVu9hzgiSEbSyROqXDDiHREdqC4w3AwOTb23P4UQ==", + "requires": { + "charset": "^1.0.1", + "he": "^1.1.1", + "mime": "^2.4.1", + "minimist": "^1.1.0", + "on-finished": "^2.3.0", + "url-join": "^4.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "requires": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "~1.0.1" + } + }, + "error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "requires": { + "string-template": "~0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fast-bitfield": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/fast-bitfield/-/fast-bitfield-1.2.2.tgz", + "integrity": "sha512-t8HYqkuE3YEqNcyWlAfh55479aTxO+GpYwvQvJppYqyBfSmRdNIhzY2m09FKN/MENTzq4wH6heHOIvsPyMAwvQ==", + "requires": { + "count-trailing-zeros": "^1.0.1" + } + }, + "fd-lock": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fd-lock/-/fd-lock-1.0.2.tgz", + "integrity": "sha512-8O4zSv6rlNNghVfzVkj/p7LUIeBm7Xxk6QnhfmR1WJm/W4kwS8IyShy4X1peRnFUYZUYLlcwEMKXF8QWxJCMvg==", + "optional": true, + "requires": { + "napi-macros": "^1.8.2", + "node-gyp-build": "^3.8.0" + }, + "dependencies": { + "node-gyp-build": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz", + "integrity": "sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==", + "optional": true + } + } + }, + "file-saver": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.0.tgz", + "integrity": "sha512-cYM1ic5DAkg25pHKgi5f10ziAM7RJU37gaH1XQlyNDrtUnzhC/dfoV9zf2OmF0RMKi42jG5B0JWBnPQqyj/G6g==" + }, + "file-source": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/file-source/-/file-source-0.6.1.tgz", + "integrity": "sha1-rhidSZN2a4Zad/g63Pm5pQTNN9w=", + "requires": { + "stream-source": "0.3" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "flat-tree": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/flat-tree/-/flat-tree-1.6.0.tgz", + "integrity": "sha1-/KMM3bkAb7ZW6168ea6ydOf96e0=" + }, + "folder-walker": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/folder-walker/-/folder-walker-3.2.0.tgz", + "integrity": "sha512-VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==", + "requires": { + "from2": "^2.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "from2-array": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", + "integrity": "sha1-6vwWtl9uJxm81X/cGGkAWsEzLNY=", + "requires": { + "from2": "^2.0.3" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "geojson-area": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/geojson-area/-/geojson-area-0.1.0.tgz", + "integrity": "sha1-1I2AcILPrfSnjfE0m+UPOL8YlK4=", + "requires": { + "wgs84": "0.0.0" + } + }, + "geojson-dissolve": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/geojson-dissolve/-/geojson-dissolve-3.1.0.tgz", + "integrity": "sha1-hoIycWgKGjgfPnLwJki7zHEOzaE=", + "requires": { + "@turf/meta": "^3.7.5", + "geojson-flatten": "^0.2.1", + "geojson-linestring-dissolve": "0.0.1", + "topojson-client": "^3.0.0", + "topojson-server": "^3.0.0" + } + }, + "geojson-flatten": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/geojson-flatten/-/geojson-flatten-0.2.4.tgz", + "integrity": "sha512-LiX6Jmot8adiIdZ/fthbcKKPOfWjTQchX/ggHnwMZ2e4b0I243N1ANUos0LvnzepTEsj0+D4fIJ5bKhBrWnAHA==", + "requires": { + "get-stdin": "^6.0.0", + "minimist": "1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "geojson-linestring-dissolve": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/geojson-linestring-dissolve/-/geojson-linestring-dissolve-0.0.1.tgz", + "integrity": "sha1-CKuM3zhukZ01oOs4+hxVDgIIONs=" + }, + "geojson-polygons-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/geojson-polygons-equal/-/geojson-polygons-equal-0.0.1.tgz", + "integrity": "sha1-YgtGF18nOEakbXkGyVcjf7v3uyo=" + }, + "geojson-rewind": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/geojson-rewind/-/geojson-rewind-0.2.0.tgz", + "integrity": "sha1-6lWOnkT/A7hlXQoIt1B43DOhXnk=", + "requires": { + "concat-stream": "~1.2.1", + "geojson-area": "0.1.0", + "minimist": "0.0.5" + }, + "dependencies": { + "concat-stream": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.2.1.tgz", + "integrity": "sha1-81EAtsRjeL+6i2uA+fDQzN8T3GA=", + "requires": { + "bops": "0.0.6" + } + }, + "minimist": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", + "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=" + } + } + }, + "geojson-validation": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/geojson-validation/-/geojson-validation-0.2.1.tgz", + "integrity": "sha512-vcWNJ0HKF4XN5GjyCnDImeuVFwI20iBrbMYaTeS7KJqjN+UjULpi8wbRBp+8UCiy9ofetKhxKC9rH/9RdFiaJQ==" + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "gtran-shapefile": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/gtran-shapefile/-/gtran-shapefile-1.1.4.tgz", + "integrity": "sha512-iDdShv24OaTAR3JQCA2kKUVVK8gDQEdjXc/b/26Ybyx24+fVGYCITxm+3m50XArKVMgP/cSBV/NdP7LNAyij2g==", + "requires": { + "shapefile": "^0.6.6", + "shp-write": "^0.3.2" + } + }, + "handshake-stream": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/handshake-stream/-/handshake-stream-3.0.5.tgz", + "integrity": "sha512-bUsBevrSKSdWwXE2VL3qt5Z/Vuf0a+q7Pcum7K5ZhekYO1mPgRgsrhliypGULNGEBauKXmAHouM/1dxTKfTtGA==", + "requires": { + "debug": "^4.1.1", + "duplexify": "^3.6.1" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hypercore": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-7.7.1.tgz", + "integrity": "sha512-boEiPCK848pNGACW1j111tJApu530e/UPpwbHytJZlrVf3YdgUIP1KL3aSi5xJFLUnuO8GLGl4lIsSeH8TaQQA==", + "requires": { + "array-lru": "^1.1.0", + "atomic-batcher": "^1.0.2", + "bitfield-rle": "^2.2.1", + "bulk-write-stream": "^1.1.3", + "codecs": "^2.0.0", + "fast-bitfield": "^1.2.2", + "fd-lock": "^1.0.2", + "flat-tree": "^1.6.0", + "from2": "^2.3.0", + "hypercore-crypto": "^1.0.0", + "hypercore-protocol": "^6.5.0", + "inherits": "^2.0.3", + "inspect-custom-symbol": "^1.1.0", + "last-one-wins": "^1.0.4", + "memory-pager": "^1.0.2", + "merkle-tree-stream": "^3.0.3", + "nanoguard": "^1.2.0", + "pretty-hash": "^1.0.1", + "random-access-file": "^2.1.0", + "sodium-universal": "^2.0.0", + "sparse-bitfield": "^3.0.0", + "thunky": "^1.0.1", + "uint64be": "^2.0.1", + "unordered-array-remove": "^1.0.2", + "unordered-set": "^2.0.0" + } + }, + "hypercore-crypto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-1.0.0.tgz", + "integrity": "sha512-xFwOnNlOt8L+SovC7dTNchKaNYJb5l8rKZZwpWQnCme1r7CU4Hlhp1RDqPES6b0OpS7DkTo9iU0GltQGkpsjMw==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-from": "^1.1.0", + "sodium-universal": "^2.0.0", + "uint64be": "^2.0.2" + } + }, + "hypercore-protocol": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.12.0.tgz", + "integrity": "sha512-T3oy9/7QFejqJX2RGcCUU1944e5/eKbLlSz9JPTNN1QbYFJgat/r7eTyOO8SMSLUimUmQx6YBMKhgYbdKzp7Bw==", + "requires": { + "buffer-alloc-unsafe": "^1.0.0", + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "protocol-buffers-encodings": "^1.1.0", + "readable-stream": "^2.2.6", + "sodium-universal": "^2.0.0", + "sorted-indexof": "^1.0.0", + "varint": "^5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indexed-tarball": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/indexed-tarball/-/indexed-tarball-3.1.5.tgz", + "integrity": "sha512-3ocbaaGnBQgDUi9Go2u2Z9bm8RqUJivOGICW8kURZuMGPcxSPAKXfdLkeUlz4IxgChsMnOL4klpJXpt/HMVnDg==", + "requires": { + "pump": "^3.0.0", + "read-only-stream": "^2.0.0", + "rwlock": "^5.0.0", + "tar-stream": "^1.6.1", + "through2": "^2.0.3", + "tmp": "0.0.33" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "indexed-tarball-blob-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/indexed-tarball-blob-store/-/indexed-tarball-blob-store-1.2.0.tgz", + "integrity": "sha512-rtiZBCn/+xCx2AqLJrjzllcqFbbv5wnes5O1S5DDeFQ9XvU3CYXtyRUle9Kk9atjKoic0Bj5QMMeFPPqVpHaog==", + "requires": { + "indexed-tarball": "^2.1.0" + }, + "dependencies": { + "indexed-tarball": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indexed-tarball/-/indexed-tarball-2.1.0.tgz", + "integrity": "sha512-yqZNeMHHe2c4q8QEJrz8c+TouXjoykFrwEe7SVzP6uRFj1gxAvcpjZ/nQrA0wC1OVD8qCHtaWMWKnxeK8CHFjQ==", + "requires": { + "collect-stream": "^1.2.1", + "end-of-stream": "^1.4.1", + "pump": "^3.0.0", + "read-only-stream": "^2.0.0", + "rwlock": "^5.0.0", + "tar-stream": "^1.6.1", + "through2": "^2.0.3", + "tmp": "0.0.33" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "inspect-custom-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/inspect-custom-symbol/-/inspect-custom-symbol-1.1.1.tgz", + "integrity": "sha512-GOucsp9EcdlLdhPUyOTvQDnbFJtp2WBWZV1Jqe+mVnkJQBL3w96+fB84C+JL+EKXOspMdB0eMDQPDp5w9fkfZA==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-options/-/is-options-1.0.1.tgz", + "integrity": "sha512-2Xj8sA0zDrAcaoWfBiNmc6VPWAgKDpim0T3J9Djq7vbm1UjwbUWzeuLu/FwC46g3cBbAn0E5R0xwVtOobM6Xxg==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "iserror": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", + "integrity": "sha1-vVNFH+L2aLnyQCwZZnh6qix8C/U=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "jdataview": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/jdataview/-/jdataview-2.5.0.tgz", + "integrity": "sha1-MIGz/qZR+TF+xr1P6y3cmKpB1ZU=" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "jszip": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", + "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", + "requires": { + "core-js": "~2.3.0", + "es6-promise": "~3.0.2", + "lie": "~3.1.0", + "pako": "~1.0.2", + "readable-stream": "~2.0.6" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "k-bucket": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-3.3.1.tgz", + "integrity": "sha512-kgwWqYT79rAahn4maIVTP8dIe+m1KulufWW+f1bB9DlZrRFiGpZ4iJOg2HUp4xJYBWONP3+rOPIWF/RXABU6mw==", + "requires": { + "buffer-equals": "^1.0.3", + "inherits": "^2.0.1", + "randombytes": "^2.0.3" + } + }, + "k-rpc": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/k-rpc/-/k-rpc-4.3.1.tgz", + "integrity": "sha512-mgAJZeFYbpP0xzJzmS0TQTYoFI0sjy3GnKFhg8wyboL+KvWg2WLaA2Oy9PthLPx2Rxz4WeBMk4y3MSOrDJ95FA==", + "requires": { + "buffer-equals": "^1.0.3", + "k-bucket": "^4.0.0", + "k-rpc-socket": "^1.7.2", + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "k-bucket": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.1.tgz", + "integrity": "sha512-YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==", + "requires": { + "inherits": "^2.0.1", + "randombytes": "^2.0.3" + } + } + } + }, + "k-rpc-socket": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.11.1.tgz", + "integrity": "sha512-8xtA8oqbZ6v1Niryp2/g4GxW16EQh5MvrUylQoOG+zcrDff5CKttON2XUXvMwlIHq4/2zfPVFiinAccJ+WhxoA==", + "requires": { + "bencode": "^2.0.0", + "chrome-dgram": "^3.0.2", + "chrome-dns": "^1.0.0", + "chrome-net": "^3.3.2" + }, + "dependencies": { + "bencode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bencode/-/bencode-2.0.1.tgz", + "integrity": "sha512-2uhEl8FdjSBUyb69qDTgOEeeqDTa+n3yMQzLW0cOzNf1Ow5bwcg3idf+qsWisIKRH8Bk8oC7UXL8irRcPA8ZEQ==", + "requires": { + "safe-buffer": "^5.1.1" + } + } + } + }, + "kappa-core": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/kappa-core/-/kappa-core-4.0.1.tgz", + "integrity": "sha512-WCGE1SIP+Yv1msPJvEdlyKE67yGOLhVWCRRGwnYD/RR+3HfRXzHHCSLEb9HVKapDuVixqYMrpWc7fEBOAPOdOg==", + "requires": { + "hypercore": "^7.4.0", + "inherits": "^2.0.4", + "multifeed": "^4.0.0", + "multifeed-index": "^3.3.2" + } + }, + "kappa-osm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/kappa-osm/-/kappa-osm-3.1.0.tgz", + "integrity": "sha512-eBlwDaYu8N2mgGHUM866MiVW103UuZKiQeC581fxEWRc63+Hbf2tDZV2gwdsmAVmJ6wGlgv+qqBIZju/LCAWtw==", + "requires": { + "collect-stream": "^1.2.1", + "comparable-storable-types": "^1.0.0", + "d64": "^1.0.0", + "deepmerge": "^4.1.1", + "duplexify": "^4.1.1", + "kappa-view": "^3.0.0", + "once": "^1.4.0", + "pull-stream-to-stream": "^1.3.4", + "pump": "^3.0.0", + "pumpify": "^2.0.1", + "randombytes": "^2.1.0", + "read-only-stream": "^2.0.0", + "subleveldown": "^4.1.4", + "through2": "^3.0.1", + "to-buffer": "^1.1.0", + "uniq": "^1.0.1", + "unordered-materialized-backrefs": "^1.0.1", + "unordered-materialized-bkd": "^1.1.1", + "unordered-materialized-kv": "^1.2.0", + "varint": "^5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "kappa-view": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/kappa-view/-/kappa-view-3.1.0.tgz", + "integrity": "sha512-3VrSiqoBm5DXTMIoYp4XYF+gcnlxf1NGfG8c9fRlR5pt8dDvN8DD7n5x0wkVz7k9Aoperbe/Pcq3OQ/IIx1FVQ==", + "requires": { + "pump": "^3.0.0", + "readable-stream": "^3.4.0", + "subleveldown": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "last-one-wins": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/last-one-wins/-/last-one-wins-1.0.4.tgz", + "integrity": "sha1-wb/Qy8tGeQ7JFWuNGu6Py4bNoio=" + }, + "length-prefixed-message": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/length-prefixed-message/-/length-prefixed-message-3.0.4.tgz", + "integrity": "sha512-Tqyx4nggb9nkLD6p4hyIz7UiVNg5u3OnCP2h0hS/HXpheH88rsoNEgNB8xTnpPMw6zWXGZ7Cpg1zhWPlsJ0/TQ==", + "requires": { + "varint": "^3.0.1" + }, + "dependencies": { + "varint": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/varint/-/varint-3.0.1.tgz", + "integrity": "sha1-nT9T4DbAqxIACnS8LSTL8JOlgdk=" + } + } + }, + "length-prefixed-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/length-prefixed-stream/-/length-prefixed-stream-1.6.0.tgz", + "integrity": "sha512-gsJvrb5giDqil/ScQ7fEoplsI2Ch4DwnvnfTW2EGl9KBW6Ekzn8JSNESObqNAeZD8HkSjEMvc5XjhuB66fsSZQ==", + "requires": { + "buffer-alloc-unsafe": "^1.0.0", + "readable-stream": "^2.0.0", + "varint": "^5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "level": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level/-/level-5.0.1.tgz", + "integrity": "sha512-wcak5OQeA4rURGacqS62R/xNHjCYnJSQDBOlm4KNUGJVE9bWv2B04TclqReYejN+oD65PzD4FsqeWoI5wNC5Lg==", + "requires": { + "level-js": "^4.0.0", + "level-packager": "^5.0.0", + "leveldown": "^5.0.0", + "opencollective-postinstall": "^2.0.0" + } + }, + "level-codec": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.1.tgz", + "integrity": "sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==" + }, + "level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "level-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-4.0.2.tgz", + "integrity": "sha512-PeGjZsyMG4O89KHiez1zoMJxStnkM+oBIqgACjoo5PJqFiSUUm3GNod/KcbqN5ktyZa8jkG7I1T0P2u6HN9lIg==", + "requires": { + "abstract-leveldown": "~6.0.1", + "immediate": "~3.2.3", + "inherits": "^2.0.3", + "ltgt": "^2.1.2", + "typedarray-to-buffer": "~3.1.5" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz", + "integrity": "sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==", + "requires": { + "level-concat-iterator": "~2.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "level-option-wrap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/level-option-wrap/-/level-option-wrap-1.1.0.tgz", + "integrity": "sha1-rSDmjZ88IsiJdTHMaqevWWse0Sk=", + "requires": { + "defined": "~0.0.0" + } + }, + "level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "requires": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "requires": { + "xtend": "^4.0.2" + } + }, + "leveldown": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.4.1.tgz", + "integrity": "sha512-3lMPc7eU3yj5g+qF1qlALInzIYnkySIosR1AsUKFjL9D8fYbTLuENBAeDRZXIG4qeWOAyqRItOoLu2v2avWiMA==", + "requires": { + "abstract-leveldown": "~6.2.1", + "napi-macros": "~2.0.0", + "node-gyp-build": "~4.1.0" + }, + "dependencies": { + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "node-gyp-build": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz", + "integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==" + } + } + }, + "levelup": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.3.2.tgz", + "integrity": "sha512-cRTjU4ktWo59wf13PHEiOayHC3n0dOh4i5+FHr4tv4MX9+l7mqETicNq3Aj07HKlLdk0z5muVoDL2RD+ovgiyA==", + "requires": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "requires": { + "immediate": "~3.0.5" + }, + "dependencies": { + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + } + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lru": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lru/-/lru-3.1.0.tgz", + "integrity": "sha1-6n+4VG2DczOWoTCR12z+tMBoN9U=", + "requires": { + "inherits": "^2.0.1" + } + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + }, + "ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "requires": { + "wrappy": "1" + } + } + } + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "mapeo-default-settings": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mapeo-default-settings/-/mapeo-default-settings-2.1.0.tgz", + "integrity": "sha512-jn1iN+shpoceD+Sgs3xnaGpWmT4bFomhRftdWrX0HaVslfYpzk/6A5GDZiH83xuZhsbwWktsAEjrkjNq8A3ogg==" + }, + "mapeo-server": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/mapeo-server/-/mapeo-server-17.0.1.tgz", + "integrity": "sha512-wToPn++uIVIhYWxflKq1e5437W/Jm2CFsfGLVF/ByRz4jSD3HXof6mjb/AHGS4G7HbZQO3HCHh11sLJgqHK9yw==", + "requires": { + "@mapeo/core": "^8.1.2", + "asar": "^2.0.1", + "body": "^5.1.0", + "debounce": "^1.2.0", + "debug": "^4.1.0", + "ecstatic": "^4.1.2", + "inherits": "^2.0.3", + "mime": "^2.4.2", + "randombytes": "^2.0.6", + "routes": "^2.1.0", + "statuses": "^1.5.0", + "xtend": "^4.0.1" + } + }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" + }, + "merkle-tree-stream": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merkle-tree-stream/-/merkle-tree-stream-3.0.3.tgz", + "integrity": "sha1-+KBkdg0355eK1fn208EZpJT1cIE=", + "requires": { + "flat-tree": "^1.3.0", + "readable-stream": "^2.0.5" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "module-deps": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.1.0.tgz", + "integrity": "sha512-NPs5N511VD1rrVJihSso/LiBShRbJALYBKzDW91uZYy7BpjnO4bGnZL3HjZ9yKcFdZUWwaYjDz9zxbuP7vKMuQ==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.0", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.0.2", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.0.tgz", + "integrity": "sha512-Tu2QORGOFANB124NWQ/JTRhMf/ODouVLEuvu5Dz8YWEU55zQgRgFGnBHfIh5PbfNDAuaRl7yLB+pgWhSqVxi2Q==", + "requires": { + "dns-packet": "^4.0.0", + "thunky": "^1.0.2" + } + }, + "multifeed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/multifeed/-/multifeed-4.2.2.tgz", + "integrity": "sha512-1ABuEirPtY/yqUifF8OXts6+DV6+yYB0jj0a/9wJLsk3YKpNBAzllMlTVw4w8dR+ZK1c7WZpAxtL6L990j0xXg==", + "requires": { + "debug": "^4.1.0", + "hypercore-protocol": "^6.8.0", + "inherits": "^2.0.3", + "mutexify": "^1.2.0", + "random-access-file": "^2.0.1", + "random-access-memory": "^3.1.1", + "through2": "^3.0.0" + } + }, + "multifeed-index": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/multifeed-index/-/multifeed-index-3.3.3.tgz", + "integrity": "sha512-vWL+8EpwVtDpCGAZWo0Sg17GtGEWFT9cUhxUHCbCPM0RZVrzuUHfmwQ7kzSx6W9gd0kl9xWYEJSifYu2xHpoxg==", + "requires": { + "inherits": "^2.0.3" + } + }, + "multiplex": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/multiplex/-/multiplex-6.7.0.tgz", + "integrity": "sha1-/3Pk5AB5FwxEQtFgllZY+N75YMI=", + "requires": { + "duplexify": "^3.4.2", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2", + "varint": "^4.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, + "multistream": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/multistream/-/multistream-2.1.1.tgz", + "integrity": "sha512-xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.5" + } + }, + "mutexify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.2.0.tgz", + "integrity": "sha512-oprzxd2zhfrJqEuB98qc1dRMMonClBQ57UPDjnbcrah4orEMTq1jq3+AcdFe5ePzdbJXI7zmdhfftIdMnhYFoQ==" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true + }, + "nanoassert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz", + "integrity": "sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40=" + }, + "nanoguard": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/nanoguard/-/nanoguard-1.2.2.tgz", + "integrity": "sha512-IMVIZkHP7Ep01foXurcJR59Hj/0yyApNK3JWpVHq2QVdLgo8wGU/ZsodlpL7jJ/m24+lxT0eyavrLCEuYQK2fg==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "napi-macros": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-1.8.2.tgz", + "integrity": "sha512-Tr0DNY4RzTaBG2W2m3l7ZtFuJChTH6VZhXVhkGGjF/4cZTt+i8GcM9ozD+30Lmr4mDoZ5Xx34t2o4GJqYWDGcg==", + "optional": true + }, + "network-address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/network-address/-/network-address-1.1.2.tgz", + "integrity": "sha1-Sqe/1D8D8LgclwKxPWqFjdsybz4=" + }, + "node-gyp-build": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.0.tgz", + "integrity": "sha512-4oiumOLhCDU9Rronz8PZ5S4IvT39H5+JEv/hps9V8s7RSLhsac0TCP78ulnHXOo8X1wdpPiTayGlM1jr4IbnaQ==" + }, + "noderify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/noderify/-/noderify-4.3.0.tgz", + "integrity": "sha512-382A9HWr6s5FcvnRILE8aG3PAtkZIIiugfgWvc4eQNVUmcWu5wQ5ollKgT0leHndjedZeWrN2G1X4lfBCeFtyA==", + "dev": true, + "requires": { + "minimist": "^1.1.2", + "module-deps": "~6.1.0", + "rc": "^1.1.6", + "resolve": "~1.7.1", + "sort-stream": "^1.0.1", + "through2": "~2.0.3" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osm-p2p": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/osm-p2p/-/osm-p2p-5.1.0.tgz", + "integrity": "sha512-Xhzp5CkM/K/aG6gheTmchca9doJ3JjqK1FyUBKAiQ6W2aWgJnJ6qNHr3CF7n/oZH+RONoJSg5Ne9VHdbZLTrow==", + "requires": { + "kappa-core": "^4.0.0", + "kappa-osm": "^3.0.0", + "level": "^5.0.0", + "mkdirp": "^0.5.1", + "once": "^1.3.3", + "random-access-file": "^2.1.0" + } + }, + "osm-p2p-geojson": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/osm-p2p-geojson/-/osm-p2p-geojson-4.0.7.tgz", + "integrity": "sha512-T1tuIYAwSIvHJJ975B/RZz86rP8hYh3EJC78XHFGSsYL/iEmZCAYSHIwJP+AsWl32ziCtIbHe3RV2o6wna6+JQ==", + "requires": { + "JSONStream": "^1.1.4", + "clone": "^2.1.1", + "collect-stream": "^1.1.1", + "from2": "^2.3.0", + "geojson-dissolve": "^3.1.0", + "geojson-polygons-equal": "0.0.1", + "geojson-rewind": "^0.2.0", + "geojson-validation": "^0.2.1", + "inherits": "^2.0.3", + "map-limit": "0.0.1", + "once": "^1.3.3", + "osm-polygon-features": "^0.9.1", + "pump": "^1.0.1", + "pumpify": "^1.3.5", + "randombytes": "^2.0.6", + "read-only-stream": "^2.0.0", + "through2": "^2.0.1", + "xtend": "^4.0.1" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "osm-p2p-syncfile": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/osm-p2p-syncfile/-/osm-p2p-syncfile-4.1.1.tgz", + "integrity": "sha512-Bvx1dkXNFzsEe8snjHSqSynoItm30bAWmJs/OoicGdbq2VU3hD4VWv/dLbNyuiGTpC9qOKs6dQRpLiXhU082+w==", + "requires": { + "blob-store-replication-stream": "^1.3.3", + "debug": "^3.1.0", + "hypercore": "^6.25.2", + "indexed-tarball": "^3.1.3", + "indexed-tarball-blob-store": "^1.1.0", + "mkdirp": "^0.5.1", + "multifeed": "4.1.10", + "once": "^1.4.0", + "osm-p2p": "^5.0.0", + "readdirp": "^2.1.0", + "rimraf": "^2.6.2", + "safe-fs-blob-store": "^1.0.3", + "tar-stream": "^1.6.1", + "through2": "^2.0.3" + }, + "dependencies": { + "codecs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/codecs/-/codecs-1.2.1.tgz", + "integrity": "sha512-SPnx+ZHXVJ0qTInRXmnxuyu8PDvSzvop5MXp1BOr/urFQI3yL2n5ewE755skTklF/hKVlWj8cinGxdR2gvLvTA==" + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "hypercore": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-6.26.0.tgz", + "integrity": "sha512-su/bucp958SyFWWF5uzeLT05N0k7gTbktvLCo0TaloXWSSs2OiFyj3Ka7v93yaD9u0vBT3i0foPoZnj1yC/dog==", + "requires": { + "array-lru": "^1.1.0", + "atomic-batcher": "^1.0.2", + "bitfield-rle": "^2.2.1", + "buffer-alloc": "^1.2.0", + "buffer-alloc-unsafe": "^1.0.0", + "buffer-from": "^1.0.0", + "bulk-write-stream": "^1.1.3", + "codecs": "^1.2.0", + "fast-bitfield": "^1.2.2", + "fd-lock": "^1.0.2", + "flat-tree": "^1.6.0", + "from2": "^2.3.0", + "hypercore-crypto": "^1.0.0", + "hypercore-protocol": "^6.4.1", + "inherits": "^2.0.3", + "inspect-custom-symbol": "^1.1.0", + "last-one-wins": "^1.0.4", + "memory-pager": "^1.0.2", + "merkle-tree-stream": "^3.0.3", + "pretty-hash": "^1.0.1", + "process-nextick-args": "^1.0.7", + "random-access-file": "^2.1.0", + "sodium-universal": "^2.0.0", + "sparse-bitfield": "^3.0.0", + "thunky": "^1.0.1", + "uint64be": "^2.0.1", + "unordered-array-remove": "^1.0.2", + "unordered-set": "^2.0.0" + } + }, + "multifeed": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/multifeed/-/multifeed-4.1.10.tgz", + "integrity": "sha512-CW3IkzCRte6MLYBe48rcieVTW/4H4IpkYKmJZ88596WMkso0lauY5yPUAwR4GF7YUMeskoD0OpffierT8S1Vdg==", + "requires": { + "debug": "^4.1.0", + "hypercore-protocol": "^6.8.0", + "inherits": "^2.0.3", + "mutexify": "^1.2.0", + "random-access-file": "^2.0.1", + "through2": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "osm-polygon-features": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/osm-polygon-features/-/osm-polygon-features-0.9.2.tgz", + "integrity": "sha1-IK5BEwxIbkmjsqPCtYoUGcSYZ3g=" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "dev": true, + "requires": { + "path-platform": "~0.11.15" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "dev": true + }, + "path-source": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/path-source/-/path-source-0.1.3.tgz", + "integrity": "sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==", + "requires": { + "array-source": "0.0", + "file-source": "0.6" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "pretty-hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pretty-hash/-/pretty-hash-1.0.1.tgz", + "integrity": "sha1-FuBXkYje9WvbVliSvNBaXWUySAc=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "protocol-buffers-encodings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.1.0.tgz", + "integrity": "sha512-SmjEuAf3hc3h3rWZ6V1YaaQw2MNJWK848gLJgzx/sefOJdNLujKinJVXIS0q2cBQpQn2Q32TinawZyDZPzm4kQ==", + "requires": { + "signed-varint": "^2.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pull-stream": { + "version": "3.6.14", + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", + "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" + }, + "pull-stream-to-stream": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz", + "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", + "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", + "requires": { + "duplexify": "^4.1.1", + "inherits": "^2.0.3", + "pump": "^3.0.0" + } + }, + "random-access-file": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/random-access-file/-/random-access-file-2.1.3.tgz", + "integrity": "sha512-AE0Z1ywR5gIkzACMC1lCsR6LP8g4ynNm7oYWYdKPSSU6Y3H+mGDJxBqfcV9B9KstfHNemhfX3nYmx99ZC9f/yg==", + "requires": { + "mkdirp": "^0.5.1", + "random-access-storage": "^1.1.1" + } + }, + "random-access-memory": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/random-access-memory/-/random-access-memory-3.1.1.tgz", + "integrity": "sha512-Qy1MliJDozZ1A6Hx3UbEnm8PPCfkiG/8CArbnhrxXMx1YRJPWipgPTB9qyhn4Z7WlLvCEqPb6Bd98OayyVuwrA==", + "requires": { + "inherits": "^2.0.3", + "is-options": "^1.0.1", + "random-access-storage": "^1.1.1" + } + }, + "random-access-storage": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.4.0.tgz", + "integrity": "sha512-7oszloM/+PdqWp/oFGyL6SeI14liqo8AAisHAZQGkWdHISyAnngKjNPL0JYIazeLxbHPY6oed2yUffowdq/o6A==", + "requires": { + "inherits": "^2.0.3" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "requires": { + "bytes": "1", + "string_decoder": "0.10" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "reachdown": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/reachdown/-/reachdown-1.0.0.tgz", + "integrity": "sha512-Ty7X/t52GwgRam3SMpZC2grmutuUarkiD4sVhjM8g8/5NlX8PAEsYO/pyx6nTTqS9udee1j1BxaAS/f6Rm8SMw==" + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "requires": { + "readable-stream": "^2.0.2" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "routes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/routes/-/routes-2.1.0.tgz", + "integrity": "sha1-R1VxGSpI+ZtsBl3ZJrt16K6D6KI=" + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, + "run-series": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.8.tgz", + "integrity": "sha512-+GztYEPRpIsQoCSraWHDBs9WVy4eVME16zhOtDB4H9J4xN0XRhknnmLOl+4gRgZtu8dpp9N/utSPjKH/xmDzXg==" + }, + "rusha": { + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.13.tgz", + "integrity": "sha1-mghOe4YLF7/zAVuSxnpqM2GRUTo=" + }, + "rwlock": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/rwlock/-/rwlock-5.0.0.tgz", + "integrity": "sha1-iI1qd6M1HMGiCSBO8u4XIgk4Ns8=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-fs-blob-store": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/safe-fs-blob-store/-/safe-fs-blob-store-1.0.6.tgz", + "integrity": "sha512-QA7EtvVCMKX2r0dsQnR2dKK+lS6IKWfp2MiLxXRcujwEwIcl4Ms8jZ9PDWJHQ/cKdKMpnN8SlD1+xyKY3tAWcg==", + "requires": { + "@digidem/atomic-fs-blob-store": "^5.3.0", + "folder-walker": "^3.2.0", + "imurmurhash": "^0.1.4" + } + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "semver": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.2.tgz", + "integrity": "sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shapefile": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/shapefile/-/shapefile-0.6.6.tgz", + "integrity": "sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==", + "requires": { + "array-source": "0.0", + "commander": "2", + "path-source": "0.1", + "slice-source": "0.4", + "stream-source": "0.3", + "text-encoding": "^0.6.4" + } + }, + "shp-write": { + "version": "github:digidem/shp-write#02b37559e61f8951dc238ed22de80e4e2aa6cf0f", + "from": "github:digidem/shp-write", + "requires": { + "dbf": "0.1.4", + "file-saver": "2.0.0", + "jszip": "3.1.5" + } + }, + "signed-varint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", + "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", + "requires": { + "varint": "~5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "simple-sha1": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/simple-sha1/-/simple-sha1-2.1.2.tgz", + "integrity": "sha512-TQl9rm4rdKAVmhO++sXAb8TNN0D6JAD5iyI1mqEPNpxUzTRrtm4aOG1pDf/5W/qCFihiaoK6uuL9rvQz1x1VKw==", + "requires": { + "rusha": "^0.8.1" + } + }, + "siphash24": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/siphash24/-/siphash24-1.1.1.tgz", + "integrity": "sha512-dKKwjIoTOa587TARYLlBRXq2lkbu5Iz35XrEVWpelhBP1m8r2BGOy1QlaZe84GTFHG/BTucEUd2btnNc8QzIVA==", + "requires": { + "nanoassert": "^1.0.0" + } + }, + "slice-source": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/slice-source/-/slice-source-0.4.1.tgz", + "integrity": "sha1-QKV6wDxmaLXaIA4FN44AC/KmHXk=" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sodium-javascript": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.5.5.tgz", + "integrity": "sha512-UMmCHovws/sxIBZsIRhIl8uRPou/RFDD0vVop81T1hG106NLLgqajKKuHAOtAP6hflnZ0UrVA2VFwddTd/NQyA==", + "requires": { + "blake2b": "^2.1.1", + "nanoassert": "^1.0.0", + "siphash24": "^1.0.1", + "xsalsa20": "^1.0.0" + } + }, + "sodium-native": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-2.4.9.tgz", + "integrity": "sha512-mbkiyA2clyfwAyOFIzMvsV6ny2KrKEIhFVASJxWfsmgfUEymgLIS2MLHHcGIQMkrcKhPErRaMR5Dzv0EEn+BWg==", + "optional": true, + "requires": { + "ini": "^1.3.5", + "nan": "^2.14.0", + "node-gyp-build": "^4.1.0" + } + }, + "sodium-universal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sodium-universal/-/sodium-universal-2.0.0.tgz", + "integrity": "sha512-csdVyakzHJRyCevY4aZC2Eacda8paf+4nmRGF2N7KxCLKY2Ajn72JsExaQlJQ2BiXJncp44p3T+b80cU+2TTsg==", + "requires": { + "sodium-javascript": "~0.5.0", + "sodium-native": "^2.0.0" + } + }, + "sort-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-stream/-/sort-stream-1.0.1.tgz", + "integrity": "sha1-owaEycKcozMGnBjWoKsPdor2HfI=", + "dev": true, + "requires": { + "through": "~2.3.1" + } + }, + "sorted-indexof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sorted-indexof/-/sorted-indexof-1.0.0.tgz", + "integrity": "sha1-F8dC/3zxh+L1mhXfm4HxemLOCJk=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "requires": { + "memory-pager": "^1.0.2" + } + }, + "speedometer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-1.1.0.tgz", + "integrity": "sha512-z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "stack-generator": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.5.tgz", + "integrity": "sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "stackframe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz", + "integrity": "sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "stream-source": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/stream-source/-/stream-source-0.3.5.tgz", + "integrity": "sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==" + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "requires": { + "minimist": "^1.1.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "subleveldown": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/subleveldown/-/subleveldown-4.1.4.tgz", + "integrity": "sha512-njpSBP/Bxh7EahraG6IhR6goOH2ffMTMVt7Ud+k/OhNFHrrmuvK+XYfauI8KnjCm0w381cUF43pejlWeJMZChA==", + "requires": { + "abstract-leveldown": "^6.1.1", + "encoding-down": "^6.2.0", + "inherits": "^2.0.3", + "level-option-wrap": "^1.1.0", + "levelup": "^4.3.1", + "reachdown": "^1.0.0" + } + }, + "tar-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", + "requires": { + "chownr": "^1.1.1", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + }, + "dependencies": { + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "tar-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz", + "integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==", + "requires": { + "bl": "^3.0.0", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + } + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "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" + } + }, + "text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "timeout-refresh": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-1.0.1.tgz", + "integrity": "sha512-bW5oSShdwFCN9K7RpB5dkq5bqNlGt8Lwbfxr8vprysk8hDiK5yy7Mgf2Qlz2ssE0gfQfoYhk4VLY9Hhsnr9Ulw==", + "optional": true + }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "requires": { + "rimraf": "^2.6.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "tmp-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz", + "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==", + "requires": { + "bluebird": "^3.5.0", + "tmp": "0.1.0" + } + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-utf8": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz", + "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=" + }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "requires": { + "commander": "2" + } + }, + "topojson-server": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/topojson-server/-/topojson-server-3.0.1.tgz", + "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==", + "requires": { + "commander": "2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uint64be": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uint64be/-/uint64be-2.0.2.tgz", + "integrity": "sha512-9QqdvpGQTXgxthP+lY4e/gIBy+RuqcBaC6JVwT5I3bDLgT/btL6twZMR0pI3/Fgah9G/pdwzIprE5gL6v9UvyQ==", + "requires": { + "buffer-alloc": "^1.1.0" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "unordered-array-remove": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz", + "integrity": "sha1-xUbo+I4xegzyZEyX7LV9umbSUO8=" + }, + "unordered-materialized-backrefs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unordered-materialized-backrefs/-/unordered-materialized-backrefs-1.0.1.tgz", + "integrity": "sha512-Tt96DpZy2Hog4XTgytvIRjBZneiEZp1qhu1BxZ5hizKk+iz3wS1LNr0RG3lOHvv0Fe3BmomNyj5Kgdg5VigybQ==" + }, + "unordered-materialized-bkd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unordered-materialized-bkd/-/unordered-materialized-bkd-1.1.1.tgz", + "integrity": "sha512-l1IQktvv0nnaYvVWHN3iR0Y80+Gjv1I2F9bQ8HeOjHr3M0qAambQu7c+MTJgCyv1CRXVqz4EO4ywQpBF3GDg1g==", + "requires": { + "bkd-tree": "^1.0.1", + "once": "^1.4.0" + } + }, + "unordered-materialized-kv": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/unordered-materialized-kv/-/unordered-materialized-kv-1.3.0.tgz", + "integrity": "sha512-7L4XGdSRoBByKczlh09+7tN4ku9s8wOhQIkmRY8Ko6/lXd5spd/kBhGqdCGIcnltD+IVJrN1zX3Ic8WLHhS4hA==", + "requires": { + "once": "^1.4.0" + } + }, + "unordered-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-2.0.1.tgz", + "integrity": "sha512-eUmNTPzdx+q/WvOHW0bgGYLWvWHNT3PTKEQLg0MAQhc0AHASHVHoP/9YytYd4RBVariqno/mEUhVZN98CmD7bg==" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utp-native": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/utp-native/-/utp-native-2.1.7.tgz", + "integrity": "sha512-PQmXCdZOkmADtIqmhoiFEIdNlvkPouO8ktXqThFDBAt850B752bjQMF5KAJeMBJ5gzuI70ZiP9Qsr9mwCwzSyg==", + "optional": true, + "requires": { + "napi-macros": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.0.2", + "timeout-refresh": "^1.0.0", + "unordered-set": "^2.0.1" + }, + "dependencies": { + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", + "optional": true + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "varint": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/varint/-/varint-4.0.1.tgz", + "integrity": "sha1-SQgpuULSSEY7KzUJeZXDv3NxmOk=" + }, + "wgs84": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/wgs84/-/wgs84-0.0.0.tgz", + "integrity": "sha1-NP3FVZF7blfPKigu0ENxDASc3HY=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xsalsa20": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz", + "integrity": "sha512-zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } +} From f7a312beb863f12a694d2995b199735f73351397 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 12 Feb 2020 13:01:39 +0000 Subject: [PATCH 024/116] chore: Enable package-lock in .npmrc --- .npmrc | 2 +- src/backend/.npmrc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.npmrc b/.npmrc index 43c97e719..cafe685a1 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1 @@ -package-lock=false +package-lock=true diff --git a/src/backend/.npmrc b/src/backend/.npmrc index 43c97e719..cafe685a1 100644 --- a/src/backend/.npmrc +++ b/src/backend/.npmrc @@ -1 +1 @@ -package-lock=false +package-lock=true From 66cb216f6f0cc328f45b3099174d0f5c2a9baa0e Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Wed, 12 Feb 2020 13:10:34 +0000 Subject: [PATCH 025/116] fix: Fix crash caused by react-native-v8 patch release fixes #311 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index ab2a9489c..b6ae579fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17939,11 +17939,11 @@ } }, "react-native-v8": { - "version": "0.61.5-patch.1", - "resolved": "https://registry.npmjs.org/react-native-v8/-/react-native-v8-0.61.5-patch.1.tgz", - "integrity": "sha512-Cf5dJZ/NR7MV4NFgRUNGYhPPOATF4RUqyFvZ/nHTUDV58i7qCHH+orVPCufZRf0CgG/8Pg9v++Z85ql1i6k8og==", + "version": "0.61.5-patch.0", + "resolved": "https://registry.npmjs.org/react-native-v8/-/react-native-v8-0.61.5-patch.0.tgz", + "integrity": "sha512-YmE5Kc03amCY4InZhjttKxjNeam5ii2wvRtM2BTvvll6Oq3v6IfXNEQimlkhuQMdDcAsoTzrs619JT9DiepvXQ==", "requires": { - "v8-android": "~8.80.0" + "v8-android": "7.8.x >= 7.8.1" } }, "react-native-vector-icons": { @@ -21748,9 +21748,9 @@ "integrity": "sha1-bIhtAqU9LUDc8l2RoXC0p7JblNA=" }, "v8-android": { - "version": "8.80.0", - "resolved": "https://registry.npmjs.org/v8-android/-/v8-android-8.80.0.tgz", - "integrity": "sha512-Bkw48Bzgigm87WD4Yg9V/OGQmho5LngiwPKrMA0VmLQxWAUqW5axqaYFvxEuszdzSl9PIiceGhKTKEM2BM559Q==" + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/v8-android/-/v8-android-7.8.2.tgz", + "integrity": "sha512-LZLtehBxj4rLgf3+gWs3ITTmnVvlD3KQubLzFmtdI+l3G9tbi8ckWm6tJv7KQXZu3L/ok5M2bZz1AGnofPiMfQ==" }, "v8-compile-cache": { "version": "2.1.0", diff --git a/package.json b/package.json index c1d3f3fcf..3d763b349 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "react-native-splash-screen": "^3.2.0", "react-native-tab-view": "^2.10.0", "react-native-unimodules": "^0.7.0", - "react-native-v8": ">=0.61.5-patch.0 <0.61.6", + "react-native-v8": "0.61.5-patch.0", "react-native-vector-icons": "^6.3.0", "react-navigation": "^3.9.0", "react-navigation-hooks": "^1.0.1", From 01d5fcd09caaee370a2ee91042f3ab87be695117 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Fri, 13 Mar 2020 14:27:34 +0100 Subject: [PATCH 026/116] chore: Report "Application Not Responding" errors to Bugsnag --- android/app/src/main/AndroidManifest.xml | 45 ++++++++++++++---------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 3e52e583b..c015ed19f 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,4 @@ - @@ -7,27 +7,34 @@ - - - + + + - @@ -35,11 +42,11 @@ - - From c9f9fcaad140dbfe84abde489c5de6df9eded9c7 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Fri, 13 Mar 2020 14:27:59 +0100 Subject: [PATCH 027/116] chore: Add bugsnag gradle / Android integration --- android/app/build.gradle | 9 +++++++++ android/build.gradle | 2 ++ 2 files changed, 11 insertions(+) diff --git a/android/app/build.gradle b/android/app/build.gradle index 3ceece609..bf7ea96a0 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -93,6 +93,10 @@ apply from: "../../node_modules/react-native/react.gradle" apply from: '../../node_modules/react-native-unimodules/gradle.groovy' apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" +// Add bugsnag plugin for source map and symbol uploads +apply plugin: 'com.android.application' +apply plugin: 'com.bugsnag.android.gradle' + /** * Set this to true to create two separate APKs instead of one: * - An APK that only works on ARM devices @@ -130,6 +134,11 @@ def jscFlavor = 'org.webkit:android-jsc:+' */ def enableHermes = project.ext.react.get("enableHermes", false); +bugsnag { + ndk true + sharedObjectPath "app/build/jni/libs" +} + android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion diff --git a/android/build.gradle b/android/build.gradle index 165d10a09..99876da91 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -18,6 +18,8 @@ buildscript { } dependencies { classpath("com.android.tools.build:gradle:3.4.2") + // Bugsnag plugin for uploading source maps and symbols to bugsnag + classpath 'com.bugsnag:bugsnag-android-gradle-plugin:4.+' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From ffbaa23cfecbb63775617c4787784c06633bb371 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Tue, 17 Mar 2020 18:33:13 +0100 Subject: [PATCH 028/116] feat: Release smaller APK for Arm devices only (#322) Almost all phones use Arm chips, so this reduces the size by about 50% with little impact. Users of Intel devices (some rare phones from about 2015 and some Chromebooks that run Android apps) will need to use the Intel or Universal APKs. * Do not include support x86 in the main release APK * Add intel-only build for x86 phones Very few Android devices, apart from Chromebooks, are x86. This would mainly be for the 2015 ASUS Zenphone in case users want to use it. The PlayStore release will continue to be cross-platform, but splitting the APK into two releases reduces the APK size by about 40%. * Add universal build * More sensible naming of output apks * Only create universal and debug build for QA * remove unused dep This was only used for yarn with patch-package, and we don't use yarn. * Fix for running `npm ci` on CI * Add bitrise.yml to repo * Remove exposed AWS key (exposed key de-activated) * Change keystore passwords and move to env variables * Setup bitrise.yml to run from repo * Sign QA builds with a separate key * Adjust apk naming * Setup beta and release workflows * rename workflows --- .env.secret | Bin 0 -> 1743 bytes .gitignore | 6 + .gitsecret/keys/random_seed | Bin 0 -> 600 bytes .gitsecret/paths/mapping.cfg | 3 +- .npmrc | 3 + android/app/build.gradle | 118 ++++++- android/app/mapeo-qa-key.keystore | Bin 0 -> 2647 bytes android/app/mapeo-release-key.keystore.secret | Bin 0 -> 4194 bytes android/app/my-release-key.keystore.secret | Bin 3687 -> 0 bytes android/gradle.properties | 5 - bitrise.yml | 291 ++++++++++++++++++ package-lock.json | 6 - package.json | 1 - 13 files changed, 404 insertions(+), 29 deletions(-) create mode 100644 .env.secret create mode 100644 .gitsecret/keys/random_seed create mode 100644 android/app/mapeo-qa-key.keystore create mode 100644 android/app/mapeo-release-key.keystore.secret delete mode 100644 android/app/my-release-key.keystore.secret create mode 100644 bitrise.yml diff --git a/.env.secret b/.env.secret new file mode 100644 index 0000000000000000000000000000000000000000..43b840bca4d73ac35615ee8adad96e2ce72da61f GIT binary patch literal 1743 zcmV;=1~B=B0t^G?0Pn0z7A}VY5CE61Wa9VjWwW|O`$Mf!WF!sdCi_+eST)YK95`3G ztE~RY7)M*r2yAP;+4#oB%`O(H0ZFH=x`G(AHysEM#W1oVw4Jx;7X2-SFQinYuI576R~oaIng>HW6C z$HP=Hj=9kk<+Ngy_{d&!^moSCCz14+dOXy8_IuG;L?tOv7`_+O)l|Xq0dC9b>by6A zmmAs19o{B)#Mc0P#?*xY3oBCQ(<9 zox=R`V})860ajK~+2{8g6+_O)y0GE$_vhPih2Ffu5#Yf@XSv6wAvulU4)dtEJAgLv z@7!h_h-f93o~-z7(&c5`H+Wp$&PP$u-X(hqgCs{3nD%9g^+S*;isRsxq z{%f56^mhv!JeS%;(aq9Vm~uE)h1e=-mx35P47Zj7-MzN~C7)D}R^iZ$>K}d~PQEPI z9kgL@mhUr;0XXb933mKwS*&u6#|bH$TGjMMzNVObyfOdVc#A+TK$38XSe-?M;X$1? zsmFyCY-*$i$2N{lJTm3yliQU*dgg?jahk)K63LHJqH#!g{r8Z{O#bhg#nBMHs>G(aV1IU0So|} zJ9t>^j*v1=82sn(3-<3ZH1rvXgJ+#*GH3G?^N0YbRW!#6;T4oFN-x8Wx5vD7NM#t; zD+Y0)+=ge>a+{o@iz!-oaA^@@r_-!VxS~kTiXn0*=!B0B&L=lD&s#{tmbp_A`KGs6 z#@xVZ1(jfoaD;7rKY_L=F28U@fY@u9B}mv_G|i-lK_VkcM>!5bho7x4?usfh1$~)Y zo@F|D&hLiS+=pwJ0VJf=2`08LowMpM!V|1e!Y)HX_l+bNvfXO&(12m;Ok%XM_o}rM z-P_A*Wa7nc>M7ftU+xNU5yu9Te-;AxtCTt5coqyG3x}Bphse`DD!!2)9XWA0CA|#& z)906!k{Zz)%6gnldNAuMvIRQjbfIE$w#B48l_fbl$st_~wWl zxzX7>s@T`0a-!yBChjI;SP%>ZE}Ib)S=jg)m$m}#$r`=am>rZx?>czg?}}3B{L7-j z*0HR=NV`q@?^cUWY#`yrOklUI@~&kL8{po7^BBQy-W2=e+?Kt?GZzt~V!jE+M2Fnj zFOQ~#mF4;NIb%%n%Yqc`{;YvqW8=g@0^YL4EcEKr+Gc}DMFKxRsR&@H!pNGL(e@1d zTNZ5TMMAE44>NcAYssnH#4R6e#W#w6KuG$QlK)N(c61Ac&+oyv)}U6EL#sg>u_M^j l$Hw3ACq?qJz2-u2nN>XO<9FusCsa%nNBPU5RtFTOz-qeZYhC~V literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore index 29c42c4b1..c6893e3bc 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,8 @@ buck-out/ \.buckd/ *.keystore !debug.keystore +# NB: QA releases are insecure because signing key is public - use for testing only +!mapeo-qa-key.keystore # fastlane # @@ -66,3 +68,7 @@ buck-out/ # Translation files /translations + +# Private env variables +.env +.bitrise.secrets.yml diff --git a/.gitsecret/keys/random_seed b/.gitsecret/keys/random_seed new file mode 100644 index 0000000000000000000000000000000000000000..45a1037168852ccda8684238cfe7e8ccb0773b8c GIT binary patch literal 600 zcmV-e0;m1;qSL~|$5Oj8>hyM&7<4j6YKfRZ;!p&p++fyx1IwlWN|i+~`7Y`n(-)2Q z$wYh5@T^Ym%ZM4UVhqfL9Z}E+k<$;@HK1t1xBlh~3LX}EPvvrWC*f`dN-3P|rxe{$ z<8GZtMRF{%0Tl;-73a&MTfC=-2ucYK8Rl^OZJP5=F4A3Mv_1b7& z27u+yDd{jn@>3zlYRY1O2S_^a+3GQb4a;t@u775jYHiuaNzBt!zk`Qk)O1sBFpjPd zyTW?Drqp4VlyBE^%SS&MDCvb|F-dMB%Q2}P5D^KoF|vs${WkSJeS_}JgSw(gHC937 zLexPXNMO6mhgI7R^zClZ&V?;H9;inKOnld4u@y{-xjLwPnsQXG48n&t{0-{a4ejxvNMwzRDuks;r(eX<~q3}_=PtD^!Ofhs>`LTw) z|B0>4V5<^TNzmhvev)>jZjH>z6rG+|Er=mIsL44qDHK`LC$a3Q%d?hozFlmVrKnxb mHkM%%Jz4=%OSPSn?aQeRnO4=NY(B{S@q5aXbr + def matcher = (line =~ /^\s*(?:export\s+|)([\w\d\.\-_]+)\s*=\s*['"]?(.*?)?['"]?\s*$/) + if (matcher.getCount() == 1 && matcher[0].size() == 3) { + env.put(matcher[0][1], matcher[0][2].replace('"', '\\"')) + } + } + } else { + println("**************************") + println("*** Missing .env file ****") + println("**************************") + } + + project.ext.set("env", env) +} + +loadDotEnv() + bugsnag { ndk true sharedObjectPath "app/build/jni/libs" @@ -153,9 +183,7 @@ android { targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" - ndk { - abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" - } + // Detox integration // testBuildType System.getProperty('testBuildType', 'debug') //this will later be used to control the test apk build type // missingDimensionStrategy "minReactNative", "minReactNative46" //read note @@ -177,12 +205,16 @@ android { keyPassword 'android' } release { - if (project.hasProperty('MAPEO_MOBILE_RELEASE_STORE_FILE')) { - storeFile file(MAPEO_MOBILE_RELEASE_STORE_FILE) - storePassword MAPEO_MOBILE_RELEASE_STORE_PASSWORD - keyAlias MAPEO_MOBILE_RELEASE_KEY_ALIAS - keyPassword MAPEO_MOBILE_RELEASE_KEY_PASSWORD - } + storeFile file("mapeo-release-key.keystore") + storePassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PASSWORD") ?: project.env.get("MAPEO_KEYSTORE_PASSWORD") + keyAlias System.getenv("BITRISEIO_ANDROID_KEYSTORE_ALIAS") ?: project.env.get("MAPEO_KEYSTORE_ALIAS") + keyPassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") ?: project.env.get("MAPEO_PRIVATE_KEY_PASSWORD") + } + qa { + storeFile file("mapeo-qa-key.keystore") + storePassword "mapeo-mobile" + keyAlias "qa-release" + keyPassword "mapeo-mobile" } } flavorDimensions "version" @@ -191,28 +223,70 @@ android { dimension "version" applicationIdSuffix ".qa" versionNameSuffix "-qa" + signingConfig signingConfigs.qa } app { dimension "version" + signingConfig signingConfigs.release } } buildTypes { release { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" - signingConfig signingConfigs.release + ndk { + abiFilters "armeabi-v7a", "arm64-v8a" + } + } + intel { + initWith release + // For depedencies, fallback to using this build type name + matchingFallbacks = ['release'] + ndk { + abiFilters "x86", "x86_64" + } + } + universal { + initWith release + // For depedencies, fallback to using this build type name + matchingFallbacks = ['release'] + ndk { + abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" + } } debug { - signingConfig signingConfigs.debug - // Storybook and QA flavors share the same applicationId between - // release and debug builds, but the main app flavor has a suffix - // for debug builds, so that when developing you can have the debug - // version and the release version on your phone at the same time - applicationIdSuffix ".debug" + signingConfig null + // The QA flavor shares the same applicationId between release and + // debug builds, but the main app flavor has a suffix for debug + // builds, so that when developing you can have the debug version + // and the release version on your phone at the same time + productFlavors.app.applicationIdSuffix ".debug" + ndk { + abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" + } } } + + variantFilter { variant -> + def names = variant.flavors*.name + // For QA variants, we only build universal apk + if (names.contains("qa") && variant.buildType.name != "universal" && variant.buildType.name != "debug") { + setIgnore(true) + } + } + // applicationVariants are e.g. debug, release applicationVariants.all { variant -> + def flavorName = variant.getFlavorName() + def buildTypeName = variant.buildType.name + // For QA, we sign the release and debug build types with the same key, + // so that we can install the debug build over the release and keep the + // same data. For other variants we use a special debug key + if (flavorName != "qa" && buildTypeName == "debug") { + variant.mergedFlavor.setSigningConfig(signingConfigs.debug) + } + println "Mergedflavor: '${variant.name}' signingConfig: '${variant.signingConfig.name}' ready: ${variant.signingReady}" + variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: // https://developer.android.com/studio/build/configure-apk-splits.html @@ -223,6 +297,18 @@ android { versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } } + variant.outputs.all { + def flavor = variant.productFlavors[0].name + def buildType = variant.variantData.variantConfiguration.buildType.name + def baseName = "mapeo" + if (flavor != "app") { + baseName = baseName + "-" + flavor.toUpperCase() + } + if (buildType != "release") { + baseName = baseName + "-${buildType}" + } + outputFileName = "${baseName}-v${versionName}.apk" + } } packagingOptions { diff --git a/android/app/mapeo-qa-key.keystore b/android/app/mapeo-qa-key.keystore new file mode 100644 index 0000000000000000000000000000000000000000..a27435cb452f0ede8e5536670f43c54d1e3cab5d GIT binary patch literal 2647 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 literal 0 HcmV?d00001 diff --git a/android/app/mapeo-release-key.keystore.secret b/android/app/mapeo-release-key.keystore.secret new file mode 100644 index 0000000000000000000000000000000000000000..13585964e3702504d65bf8f259d4db620ff7320f GIT binary patch literal 4194 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 literal 0 HcmV?d00001 diff --git a/android/app/my-release-key.keystore.secret b/android/app/my-release-key.keystore.secret deleted file mode 100644 index 606b0a6afba3c8fa7a61b92502378e15382476e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 F4b#0X8*Tsq diff --git a/android/gradle.properties b/android/gradle.properties index 3da256c89..c62d03dc2 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -19,8 +19,3 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryErro android.useAndroidX=true android.enableJetifier=true - -MAPEO_MOBILE_RELEASE_STORE_FILE=my-release-key.keystore -MAPEO_MOBILE_RELEASE_KEY_ALIAS=my-key-alias -MAPEO_MOBILE_RELEASE_KEY_PASSWORD=mapeo-mobile -MAPEO_MOBILE_RELEASE_STORE_PASSWORD=mapeo-mobile diff --git a/bitrise.yml b/bitrise.yml new file mode 100644 index 000000000..5e28f6e17 --- /dev/null +++ b/bitrise.yml @@ -0,0 +1,291 @@ +format_version: "4" +default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git +project_type: react-native +app: + envs: + - PROJECT_LOCATION: android + - MODULE: app + opts: + is_expand: false + - VARIANT: "" + opts: + is_expand: false + - BITRISE_PROJECT_PATH: ios/mapeo.xcodeproj + opts: + is_expand: false + - BITRISE_SCHEME: mapeo + opts: + is_expand: false + - BITRISE_EXPORT_METHOD: ad-hoc + opts: + is_expand: false +workflows: + deploy-beta: + description: Deploy beta versions for testing + before_run: + - primary + envs: + - GRADLE_TASKS: assembleQaUniversal assembleAppUniversal + opts: + is_expand: false + steps: + - deploy-to-bitrise-io@1.9.5: {} + - amazon-s3-uploader@1.0.1: + title: Upload QA variant + inputs: + - aws_access_key: $AWS_ACCESS_KEY_ID + - aws_secret_key: $AWS_SECRET_ACCESS_KEY + - bucket_name: mapeo-apks + - path_in_bucket: beta-testing/qa + - file_path: ${BITRISE_DEPLOY_DIR}/mapeo-qa-universal-${ANDROID_VERSION_NAME}-qa.apk + - amazon-s3-uploader@1.0.1: + title: Upload Release variant + inputs: + - aws_access_key: $AWS_ACCESS_KEY_ID + - aws_secret_key: $AWS_SECRET_ACCESS_KEY + - bucket_name: mapeo-apks + - path_in_bucket: beta-testing/default + - file_path: ${BITRISE_DEPLOY_DIR}/mapeo-universal-${ANDROID_VERSION_NAME}.apk + meta: + bitrise.io: null + stack: linux-docker-android + deploy-internal: + description: Deploy for internal dev testing + before_run: + - primary + envs: + - GRADLE_TASKS: assembleQa + opts: + is_expand: false + steps: + - script@1.1.6: + title: Rename APKs + inputs: + - content: + "#!/usr/bin/env bash\n\n# Renames the apks with the current datetime + and a \n# reference the git commit and the bitrise build slug\n\nset -eE + -o pipefail\nshopt -s extdebug\n\n# Split the path_list variable by | + into an array\nIFS='|' read -r -a paths <<< \"$BITRISE_APK_PATH_LIST\"\nnew_paths=()\ndatestring=$(date + -u +\"%Y%m%d_%H%M%S\")\n\necho \"${BITRISE_GIT_COMMIT}\"\n\nfor path in + \"${paths[@]}\"\ndo\n # Just the path portion\n dir=\"${path%/*}\"\n + \ # Just the filename portion\n file=\"${path##*/}\"\n # Replace hyphens + in filename with underscores\n file=\"${file//-/_}\"\n # Remove version + name and extension from filename\n basename=\"${file%_${ANDROID_VERSION_NAME}_qa.apk}\"\n + \ # Construct path with new filesname\n new_path=\"${dir}/${datestring}_${basename}\"\n + \ if [ -z \"${BITRISE_PULL_REQUEST}\" ]; then\n new_path+=\"_PR#${BITRISE_PULL_REQUEST}\"\n + \ fi\n if [ -z \"${BITRISE_GIT_COMMIT}\" ]; then\n new_path+=\"_${BITRISE_GIT_COMMIT}\"\n + \ fi\n new_path+=\"_${BITRISE_BUILD_SLUG}.apk\"\n mv \"$path\" \"$new_path\"\n + \ new_paths+=(\"$new_path\")\ndone\n\n# Join the path_list array into + a string separated by |\nIFS=\\| eval 'NEW_APK_PATH_LIST=\"${new_paths[*]}\"'\n\n# + Save the variable to the env so it is accessible in other build steps\nenvman + add --key BITRISE_APK_PATH_LIST --value \"$NEW_APK_PATH_LIST\"\n" + - deploy-to-bitrise-io@1.9.6: {} + meta: + bitrise.io: null + stack: linux-docker-android + deploy-release: + description: Deploy for QA testing + before_run: + - primary + envs: + - GRADLE_TASKS: assembleApp bundleAppUniversal -x assembleAppDebug + opts: + is_expand: false + steps: + - deploy-to-bitrise-io@1.9.6: {} + - script@1.1.6: + title: Set APK path variables + inputs: + - content: |- + #!/usr/bin/env bash + # fail if any commands fails + set -e + # debug log + set -x + + RELEASE_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-v) + INTEL_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-intel) + UNIVERSAL_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-universal) + + envman --key RELEASE_APK_PATH --value "$RELEASE_APK_PATH" + envman --key INTEL_APK_PATH --value "$INTEL_APK_PATH" + envman --key UNIVERSAL_APK_PATH --value "$UNIVERSAL_APK_PATH" + - amazon-s3-uploader@1.0.1: + title: Upload APK for Arm + inputs: + - aws_access_key: $AWS_ACCESS_KEY_ID + - aws_secret_key: $AWS_SECRET_ACCESS_KEY + - bucket_name: mapeo-apks + - path_in_bucket: beta-testing/qa + - file_path: $RELEASE_APK_PATH + - amazon-s3-uploader@1.0.1: + title: Upload APK for x86 + inputs: + - aws_access_key: $AWS_ACCESS_KEY_ID + - aws_secret_key: $AWS_SECRET_ACCESS_KEY + - bucket_name: mapeo-apks + - path_in_bucket: beta-testing/default + - file_path: $INTEL_APK_PATH + - amazon-s3-uploader@1.0.1: + title: Upload universal (all ABIs) APK + inputs: + - aws_access_key: $AWS_ACCESS_KEY_ID + - aws_secret_key: $AWS_SECRET_ACCESS_KEY + - bucket_name: mapeo-apks + - path_in_bucket: beta-testing/default + - file_path: $UNIVERSAL_APK_PATH + - script@1.1.6: + title: Generate release description + inputs: + - content: |- + #!/usr/bin/env bash + # fail if any commands fails + set -e + # debug log + set -x + + RELEASE_DESCRIPTION=$(printf "$(npm run --silent release-notes | tail -n +3)\n\n### [Known Issues](KNOWN_ISSUES.md)\n") + envman add --key RELEASE_DESCRIPTION --value "$RELEASE_DESCRIPTION" + - github-release@0.11.0: + inputs: + - username: $GITHUB_USERNAME + - name: $BITRISE_GIT_TAG + - draft: "no" + - files_to_upload: |- + $RELEASE_APK_PATH + $INTEL_APK_PATH + - body: $RELEASE_DESCRIPTION + - api_token: $GITHUB_TOKEN + - google-play-deploy@3.0.2: + inputs: + - service_account_json_key_path: $BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL + - track: beta + - apk_path: $RELEASE_APK_PATH + - app_path: ${BITRISE_SOURCE_DIR}/app.aab + - package_name: com.mapeo + meta: + bitrise.io: null + stack: linux-docker-android + noop: {} + primary: + description: Build Android apk & aab + steps: + - nvm@1.2.2: + inputs: + - node_version: " " + - npm@1.1.3: + title: Update npm + inputs: + - command: install -g --force npm@^6.13 + - npm@1.1.3: + title: npm ci + inputs: + - npm_version: "" + - command: ci + - file-downloader@1.0.1: + title: Download Release keystore + run_if: '{{getenv "BITRISEIO_ANDROID_KEYSTORE_URL" | ne ""}}' + inputs: + - destination: $PROJECT_LOCATION/app/mapeo-release-key.keystore + - source: $BITRISEIO_ANDROID_KEYSTORE_URL + - script@1.1.6: + title: Install latest NDK + inputs: + - content: |- + #!/usr/bin/env bash + # fail if any commands fails + set -e + # debug log + set -x + + # set env vars + export ANDROID_NDK_VERSION='19b' + export ANDROID_NDK_HOME='/opt/android-ndk' + # expose for subsequent steps + envman add --key ANDROID_NDK_HOME --value "$ANDROID_NDK_HOME" + + + # ------------------------------------------------------ + # --- Android NDK + + # clean up if a previous version is already installed + rm -rf "$ANDROID_NDK_HOME" + + # download + mkdir /opt/android-ndk-tmp + cd /opt/android-ndk-tmp + wget -q https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_VERSION}-linux-x86_64.zip + + # uncompress + unzip -q android-ndk-r${ANDROID_NDK_VERSION}-linux-x86_64.zip + + # move to its final location + mv ./android-ndk-r${ANDROID_NDK_VERSION} ${ANDROID_NDK_HOME} + + # remove temp dir + cd ${ANDROID_NDK_HOME} + rm -rf /opt/android-ndk-tmp + + + # add to PATH + export PATH=${PATH}:${ANDROID_NDK_HOME} + # expose for subsequent steps + envman add --key PATH --value "$PATH" + - script@1.1.6: + title: Update SDK components + inputs: + - content: | + #!/usr/bin/env bash + # fail if any commands fails + set -e + # debug log + set -x + + echo '### User Sources for Android SDK Manager' > $HOME/.android/repositories.cfg + yes | sdkmanager --licenses + sdkmanager --update | grep -v = || true + + echo "Updated to latest SDK:" + + sdkmanager --list + - script-runner@0.9.3: + title: Build nodejs backend + inputs: + - file_path: scripts/build-backend.sh + - npm@1.1.3: + title: Build translations + inputs: + - npm_version: "" + - command: run build:translations + - script@1.1.6: + title: Set version name + inputs: + - content: |- + #!/usr/bin/env bash + # fail if any commands fails + set -e + # debug log + set -x + + VERSION_NAME=`node -p "require('./package.json').version"` + envman add --key VERSION_NAME --value "$VERSION_NAME" + - change-android-versioncode-and-versionname@1.2.3: + inputs: + - build_gradle_path: $PROJECT_LOCATION/app/build.gradle + - new_version_name: $VERSION_NAME.$BITRISE_BUILD_NUMBER + - change-workdir@1.0.2: + is_always_run: true + inputs: + - is_create_path: "false" + - path: $PROJECT_LOCATION + - gradle-runner@1.9.3: + inputs: + - gradlew_path: ./gradlew + - app_file_exclude_filter: |- + *unaligned.apk + *Test*.apk + mapeo-debug*.apk + - gradle_task: $GRADLE_TASKS + meta: + bitrise.io: null + stack: linux-docker-android diff --git a/package-lock.json b/package-lock.json index b6ae579fa..4df4fac4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16526,12 +16526,6 @@ "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", "dev": true }, - "postinstall-postinstall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.0.0.tgz", - "integrity": "sha512-3f6qWexsHiT4WKtZc5DRb0FPLilHtARi5KpY4fqban/DJNn8/YhZH8U7dVKVz51WbOxEnR31gV+qYQhvEdHtdQ==", - "dev": true - }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", diff --git a/package.json b/package.json index 3d763b349..ce6d77f5f 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,6 @@ "metro-react-native-babel-preset": "^0.57.0", "mkdirp": "^0.5.1", "patch-package": "^6.1.2", - "postinstall-postinstall": "^2.0.0", "prettier": "^1.17.1", "pretty-quick": "^2.0.0", "random-date-generator": "^1.0.2", From d9ba820b828480904b6db18fb205ab914565789c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Mar 2020 17:33:51 +0000 Subject: [PATCH 029/116] chore(deps): bump acorn from 7.1.0 to 7.1.1 in /src/backend Bumps [acorn](https://github.com/acornjs/acorn) from 7.1.0 to 7.1.1. - [Release notes](https://github.com/acornjs/acorn/releases) - [Commits](https://github.com/acornjs/acorn/compare/7.1.0...7.1.1) Signed-off-by: dependabot[bot] --- src/backend/package-lock.json | 7746 +++++++++++++++++---------------- 1 file changed, 3885 insertions(+), 3861 deletions(-) diff --git a/src/backend/package-lock.json b/src/backend/package-lock.json index ea38847cf..929e3e743 100644 --- a/src/backend/package-lock.json +++ b/src/backend/package-lock.json @@ -1,3861 +1,3885 @@ -{ - "name": "mapeo-mobile-node", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@bugsnag/browser": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-6.5.2.tgz", - "integrity": "sha512-XFKKorJc92ivLnlHHhLiPvkP03tZ5y7n0Z2xO6lOU7t+jWF5YapgwqQAda/TWvyYO38B/baWdnOpWMB3QmjhkA==" - }, - "@bugsnag/js": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-6.5.2.tgz", - "integrity": "sha512-4ibw624fM5+Y/WSuo3T/MsJVtslsPV8X0MxFuRxdvpKVUXX216d8hN8E/bG4hr7aipqQOGhBYDqSzeL2wgmh0Q==", - "requires": { - "@bugsnag/browser": "^6.5.2", - "@bugsnag/node": "^6.5.2" - } - }, - "@bugsnag/node": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-6.5.2.tgz", - "integrity": "sha512-KQ1twKoOttMCYsHv7OXUVsommVcrk6RGQ5YoZGlTbREhccbzsvjbiXPKiY31Qc7OXKvaJwSXhnOKrQTpRleFUg==", - "requires": { - "byline": "^5.0.0", - "error-stack-parser": "^2.0.2", - "iserror": "^0.0.2", - "pump": "^3.0.0", - "stack-generator": "^2.0.3" - } - }, - "@digidem/atomic-fs-blob-store": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@digidem/atomic-fs-blob-store/-/atomic-fs-blob-store-5.3.1.tgz", - "integrity": "sha512-uxnNj/tfyNFwom4I0tIerJJUHiQgTt3lITils0qtlYyxaYaB0zOUGVQGJgdslXZkyDjHFzfWuGFg7tzQvxAWuQ==", - "requires": { - "@digidem/fs-write-stream-atomic": "^1.1.0", - "duplexify": "^3.2.0", - "end-of-stream": "^1.0.0", - "lru-cache": "^2.5.0", - "mkdirp": "^0.5.0" - }, - "dependencies": { - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - } - } - }, - "@digidem/fs-write-stream-atomic": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@digidem/fs-write-stream-atomic/-/fs-write-stream-atomic-1.1.0.tgz", - "integrity": "sha512-VzcduOqQf1IeZItO24dJFOiJpkue5JTvL1SK6jA8b40H0URtTKsQES7fmnU9BJdlY4IyEdolPlsa84hx5quemQ==", - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "@mapeo/core": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/@mapeo/core/-/core-8.1.3.tgz", - "integrity": "sha512-/IciehuILGRFI7Mn4pZdeWL4nijP0sec/WGFIEAYPAEDIuHDBOgGQLZrlfnao0jZ/rR5suP2GOpxvxmajiIJpA==", - "requires": { - "blob-store-replication-stream": "^1.3.0", - "concat-stream": "^2.0.0", - "dat-swarm-defaults": "^1.0.2", - "debug": "^4.1.1", - "discovery-swarm": "6.0.0", - "end-of-stream": "^1.4.1", - "gtran-shapefile": "^1.1.3", - "handshake-stream": "^3.0.0", - "hypercore-crypto": "^1.0.0", - "inherits": "^2.0.3", - "multiplex": "^6.7.0", - "osm-p2p-geojson": "^4.0.1", - "osm-p2p-syncfile": "^4.1.0", - "pump": "^3.0.0", - "pumpify": "^2.0.1", - "randombytes": "^2.0.6", - "run-parallel": "^1.1.9", - "shp-write": "github:digidem/shp-write#02b37559e61f8951dc238ed22de80e4e2aa6cf0f", - "statuses": "^1.5.0", - "through2": "^3.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "@turf/meta": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-3.14.0.tgz", - "integrity": "sha1-jTBQwaD0S/QGpjO2vSjFEPe87ic=" - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "abstract-blob-store": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/abstract-blob-store/-/abstract-blob-store-3.3.5.tgz", - "integrity": "sha512-LMxiWKn5/cM4e022wYHCnXNdWBkVRuePx4aL5y2FsOyN48J9wksVodyrJGELnnUbgor5bqeEIW7l6gQAiWYjAg==", - "requires": { - "concat-stream": "^1.6.0", - "from2-array": "0.0.4" - } - }, - "abstract-leveldown": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", - "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", - "requires": { - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "acorn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", - "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", - "dev": true - }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "acorn-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", - "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", - "dev": true - }, - "almost-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", - "integrity": "sha1-+FHGMROHV5lCdqou++jfowZszN0=" - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-lru": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-lru/-/array-lru-1.1.1.tgz", - "integrity": "sha1-DH4bTgIq4Wb/HoRIxZXzGB/NMzc=" - }, - "array-source": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/array-source/-/array-source-0.0.4.tgz", - "integrity": "sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "asar": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/asar/-/asar-2.0.3.tgz", - "integrity": "sha512-QdHKO+HOYVtE4B/M3up3i4LSJeJgsa2CTVBrjBf9GgLUPGGUFZowcdJ5yE4gOJuRAHNdqB9JFeRfFfaOu5x8Rw==", - "requires": { - "chromium-pickle-js": "^0.2.0", - "commander": "^2.20.0", - "cuint": "^0.2.2", - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "tmp-promise": "^1.0.5" - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "atomic-batcher": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/atomic-batcher/-/atomic-batcher-1.0.2.tgz", - "integrity": "sha1-0WkB0QzOxZUWwZe5zNiTBom4E7Q=" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz", - "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=" - }, - "bencode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bencode/-/bencode-1.0.0.tgz", - "integrity": "sha512-N+VOSP5MkoX+xgnp6Y056iCY5TmCZg9rgPNPQe0bIiXchxYFP4vs/Tf0dTdQ+qQhP7HM2gvfFq+sUVjQsGy5Zw==", - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "bindings-noderify-nodejs-mobile": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/bindings-noderify-nodejs-mobile/-/bindings-noderify-nodejs-mobile-10.5.0.tgz", - "integrity": "sha512-8mtLAYnUYJbyyxGosKZuPcbs7/hJkE/dvrYQdRdzwipkE4YmyPgslFJFZQn7mt0GL1JjsrIZhKwNgFbacnn0uA==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bitfield-rle": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bitfield-rle/-/bitfield-rle-2.2.1.tgz", - "integrity": "sha512-wrDhHe7LUkqaytxgbsFXoemzHRv6e8FrVNWWsQCgUfmuVYW6ke44hoGc9VdpjgfIsJ/ejmCFA8wDtDqACNAvyw==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "varint": "^4.0.0" - } - }, - "bittorrent-dht": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-7.10.0.tgz", - "integrity": "sha512-fvb6M58Ceiv/S94nu6zeaiMoJvUYOeIqRbgaClm+kJTzCAqJPtAR/31pXNYB5iEReOoKqQB5zY33gY0W6ZRWQQ==", - "requires": { - "bencode": "^1.0.0", - "buffer-equals": "^1.0.3", - "debug": "^3.1.0", - "inherits": "^2.0.1", - "k-bucket": "^3.3.0", - "k-rpc": "^4.2.1", - "lru": "^3.1.0", - "randombytes": "^2.0.5", - "safe-buffer": "^5.0.1", - "simple-sha1": "^2.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "bkd-tree": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bkd-tree/-/bkd-tree-1.2.1.tgz", - "integrity": "sha512-wKoi2P32ATqOVyFLCrqv2l1KCy/mjt6GgOULAT8WO3sqrCT4AlNJu7vfFyTMZZffvMyfXNPSUJm8wYBADFPdZQ==", - "requires": { - "bounding-box-overlap-test": "^1.0.0", - "once": "^1.4.0", - "pull-stream": "^3.6.8" - } - }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "blake2b": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.3.tgz", - "integrity": "sha512-pkDss4xFVbMb4270aCyGD3qLv92314Et+FsKzilCLxDz5DuZ2/1g3w4nmBbu6nKApPspnjG7JcwTjGZnduB1yg==", - "requires": { - "blake2b-wasm": "^1.1.0", - "nanoassert": "^1.0.0" - } - }, - "blake2b-wasm": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-1.1.7.tgz", - "integrity": "sha512-oFIHvXhlz/DUgF0kq5B1CqxIDjIJwh9iDeUUGQUcvgiGz7Wdw03McEO7CfLBy7QKGdsydcMCgO9jFNBAFCtFcA==", - "requires": { - "nanoassert": "^1.0.0" - } - }, - "blob-store-replication-stream": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/blob-store-replication-stream/-/blob-store-replication-stream-1.3.3.tgz", - "integrity": "sha512-LWPcDTMzgPcBqhEnRMFWFIgXEZnyP05aSyl3Q2mHwKSLFjWqGtgrQaUDmUXHyRllzeiwWAngSD0Tv+lRQw8CBg==", - "requires": { - "abstract-blob-store": "^3.3.4", - "collect-stream": "^1.2.1", - "debug": "^3.1.0", - "duplexify": "^3.5.1", - "length-prefixed-stream": "^1.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - } - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "body": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", - "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", - "requires": { - "continuable-cache": "^0.3.1", - "error": "^7.0.0", - "raw-body": "~1.1.0", - "safe-json-parse": "~1.0.1" - } - }, - "bops": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.6.tgz", - "integrity": "sha1-CC0dVfoB5g29wuvC26N/ZZVUzzo=", - "requires": { - "base64-js": "0.0.2", - "to-utf8": "0.0.1" - } - }, - "bounding-box-overlap-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bounding-box-overlap-test/-/bounding-box-overlap-test-1.0.0.tgz", - "integrity": "sha1-+oo2czSV6FUMwHbZHpmaf6yGqfA=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-equals": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/buffer-equals/-/buffer-equals-1.0.4.tgz", - "integrity": "sha1-A1O1T9B/2VZBcGca5vZrnPENJ/U=" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "bulk-write-stream": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-1.1.4.tgz", - "integrity": "sha512-GtKwd/4etuk1hNeprXoESBO1RSeRYJMXKf+O0qHmWdUomLT8ysNEfX/4bZFXr3BK6eukpHiEnhY2uMtEHDM2ng==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.1.4" - } - }, - "byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" - }, - "bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", - "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", - "dev": true - }, - "charset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", - "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==" - }, - "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" - }, - "chrome-dgram": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/chrome-dgram/-/chrome-dgram-3.0.4.tgz", - "integrity": "sha512-G8rOANSvSRC4hGny/K/ec1gXtNuZGzryFeoev49u0J4g/qws7H25vMKQlbD9izuedFVHwXFTdKQG62Tf/7Cmwg==", - "requires": { - "inherits": "^2.0.1", - "run-series": "^1.1.2" - } - }, - "chrome-dns": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chrome-dns/-/chrome-dns-1.0.1.tgz", - "integrity": "sha512-HqsYJgIc8ljJJOqOzLphjAs79EUuWSX3nzZi2LNkzlw3GIzAeZbaSektC8iT/tKvLqZq8yl1GJu5o6doA4TRbg==", - "requires": { - "chrome-net": "^3.3.2" - } - }, - "chrome-net": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/chrome-net/-/chrome-net-3.3.3.tgz", - "integrity": "sha512-11jL8+Ogna8M5TEdyalE8IG6cpaFEU3YcaxAj3YjZKjRM/PeT70pZbrUY+xoGwqiEJZwJE4Td2CvGxUvS9ytKQ==", - "requires": { - "inherits": "^2.0.1" - } - }, - "chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=" - }, - "circular-append-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/circular-append-file/-/circular-append-file-1.0.1.tgz", - "integrity": "sha512-BUDFvrBTCdeVhg9E05PX4XgMegk6xWB69uGwyuATEg7PMfa9lGU1mzFSK0xWNW2O0i9CAQHN0oIdXI/kI2hPkg==", - "requires": { - "multistream": "^2.1.0" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - }, - "codecs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/codecs/-/codecs-2.0.0.tgz", - "integrity": "sha512-WXvpJRAgc693oqYvZte9uYEiL5YHtfrxyEq12uVny9oBJ1k37zSva5vVz7trsnt6R9Y15hEgOSC7VFZT2pfYnA==" - }, - "collect-stream": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/collect-stream/-/collect-stream-1.2.1.tgz", - "integrity": "sha1-gptBdGQxseJ+AebNPQrBY8IqHKc=", - "requires": { - "concat-stream": "^1.2.0", - "once": "^1.3.0" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "comparable-storable-types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/comparable-storable-types/-/comparable-storable-types-1.0.0.tgz", - "integrity": "sha1-EgkFmpzsz26ZSQ+KT6L/Vth8E3s=", - "requires": { - "almost-equal": "^1.0.0" - } - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connections": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/connections/-/connections-1.4.2.tgz", - "integrity": "sha1-eJBIK/XHGvbFyhkr4xNq7XRCiq0=" - }, - "continuable-cache": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", - "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "count-trailing-zeros": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/count-trailing-zeros/-/count-trailing-zeros-1.0.1.tgz", - "integrity": "sha1-q6bFgzvkENRbHso+bVg4RM5oLHc=" - }, - "cuint": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=" - }, - "d64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d64/-/d64-1.0.0.tgz", - "integrity": "sha1-QAKofoUMv8n52XBrYPymE6MzbpA=" - }, - "dat-swarm-defaults": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/dat-swarm-defaults/-/dat-swarm-defaults-1.0.2.tgz", - "integrity": "sha512-gz9RuhUxq3coYBrelzuFXCNyC579aO3Bm1Wlwa12/9tJr1NP0AAGxpHJYA1HZvt8X7ZdrtMzpFyNvs2Y9PFG6w==" - }, - "dbf": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/dbf/-/dbf-0.1.4.tgz", - "integrity": "sha1-Fi8Nj9HbN8l2RYrG/m9VtIxy9GY=", - "requires": { - "jdataview": "~2.5.0" - } - }, - "debounce": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", - "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "deferred-leveldown": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", - "requires": { - "abstract-leveldown": "~6.2.1", - "inherits": "^2.0.3" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "defined": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", - "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=" - }, - "detective": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", - "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", - "dev": true, - "requires": { - "acorn-node": "^1.6.1", - "defined": "^1.0.0", - "minimist": "^1.1.1" - }, - "dependencies": { - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "discovery-channel": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.5.1.tgz", - "integrity": "sha512-EEmZQFE0PiOsJj7G3KVCwFGbYs4QchUvzA91iHtZ6HfkIqfBEDSTGLygJrUlY1Tr77WDV+qZVrZuNghHxSL/vw==", - "requires": { - "bittorrent-dht": "^7.10.0", - "buffer-from": "^1.0.0", - "debug": "^2.6.9", - "dns-discovery": "^6.0.1", - "pretty-hash": "^1.0.1", - "thunky": "^0.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "thunky": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz", - "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=" - } - } - }, - "discovery-swarm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/discovery-swarm/-/discovery-swarm-6.0.0.tgz", - "integrity": "sha512-ByfwygfLCB4umpSBVz9tGxgmng1D3YWg6A80cip8dgdpC5dRyGsL5w6KoC9srQ15xydKtYPgcxUC2YtSzPCtHA==", - "requires": { - "connections": "^1.4.2", - "debug": "^4.1.1", - "discovery-channel": "^5.5.1", - "length-prefixed-message": "^3.0.3", - "pump": "^3.0.0", - "to-buffer": "^1.0.1", - "utp-native": "^2.1.3" - } - }, - "dns-discovery": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/dns-discovery/-/dns-discovery-6.2.3.tgz", - "integrity": "sha512-ZULG1R5J9QHZfaXo5XFGVG22LIcnZorbEa7f83FYgCGDaQrVfyVmty3Z89OvBLpCPetwW+LzjCcT60ekhbQ+9g==", - "requires": { - "circular-append-file": "^1.0.1", - "debug": "^2.6.9", - "dns-socket": "^3.0.0", - "lru": "^2.0.0", - "minimist": "^1.2.0", - "multicast-dns": "^7.1.1", - "network-address": "^1.1.2", - "pump": "^3.0.0", - "speedometer": "^1.0.0", - "unordered-set": "^1.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "lru": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/lru/-/lru-2.0.1.tgz", - "integrity": "sha1-+XmHHhYuP1yiVL5GhExT1MU2RUQ=", - "requires": { - "inherits": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "unordered-set": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-1.1.0.tgz", - "integrity": "sha1-K6fvMW7dC5WQzFR8dPdqLxZP7Mo=" - } - } - }, - "dns-packet": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz", - "integrity": "sha512-bn1AKpfkFbm0MIioOMHZ5qJzl2uypdBwI4nYNsqvhjsegBhcKJUlCrMPWLx6JEezRjxZmxhtIz/FkBEur2l8Cw==", - "requires": { - "ip": "^1.1.5", - "safe-buffer": "^5.1.1" - } - }, - "dns-socket": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dns-socket/-/dns-socket-3.0.0.tgz", - "integrity": "sha512-M0WkByoJ/mTm+HtwBQLsRJPe5uGIC/lYVOp+s6ZzhbZ5iq4GxjFyxYPQhB85dgCLvVb43aJQXHDC9aUgyKGc/Q==", - "requires": { - "dns-packet": "^4.1.0" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "duplexify": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", - "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "ecstatic": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-4.1.2.tgz", - "integrity": "sha512-lnrAOpU2f7Ra8dm1pW0D1ucyUxQIEk8RjFrvROg1YqCV0ueVu9hzgiSEbSyROqXDDiHREdqC4w3AwOTb23P4UQ==", - "requires": { - "charset": "^1.0.1", - "he": "^1.1.1", - "mime": "^2.4.1", - "minimist": "^1.1.0", - "on-finished": "^2.3.0", - "url-join": "^4.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "encoding-down": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", - "requires": { - "abstract-leveldown": "^6.2.1", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "requires": { - "prr": "~1.0.1" - } - }, - "error": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", - "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", - "requires": { - "string-template": "~0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "requires": { - "stackframe": "^1.1.1" - } - }, - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "fast-bitfield": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/fast-bitfield/-/fast-bitfield-1.2.2.tgz", - "integrity": "sha512-t8HYqkuE3YEqNcyWlAfh55479aTxO+GpYwvQvJppYqyBfSmRdNIhzY2m09FKN/MENTzq4wH6heHOIvsPyMAwvQ==", - "requires": { - "count-trailing-zeros": "^1.0.1" - } - }, - "fd-lock": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fd-lock/-/fd-lock-1.0.2.tgz", - "integrity": "sha512-8O4zSv6rlNNghVfzVkj/p7LUIeBm7Xxk6QnhfmR1WJm/W4kwS8IyShy4X1peRnFUYZUYLlcwEMKXF8QWxJCMvg==", - "optional": true, - "requires": { - "napi-macros": "^1.8.2", - "node-gyp-build": "^3.8.0" - }, - "dependencies": { - "node-gyp-build": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz", - "integrity": "sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==", - "optional": true - } - } - }, - "file-saver": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.0.tgz", - "integrity": "sha512-cYM1ic5DAkg25pHKgi5f10ziAM7RJU37gaH1XQlyNDrtUnzhC/dfoV9zf2OmF0RMKi42jG5B0JWBnPQqyj/G6g==" - }, - "file-source": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/file-source/-/file-source-0.6.1.tgz", - "integrity": "sha1-rhidSZN2a4Zad/g63Pm5pQTNN9w=", - "requires": { - "stream-source": "0.3" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "flat-tree": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/flat-tree/-/flat-tree-1.6.0.tgz", - "integrity": "sha1-/KMM3bkAb7ZW6168ea6ydOf96e0=" - }, - "folder-walker": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/folder-walker/-/folder-walker-3.2.0.tgz", - "integrity": "sha512-VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==", - "requires": { - "from2": "^2.1.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "from2-array": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", - "integrity": "sha1-6vwWtl9uJxm81X/cGGkAWsEzLNY=", - "requires": { - "from2": "^2.0.3" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "geojson-area": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/geojson-area/-/geojson-area-0.1.0.tgz", - "integrity": "sha1-1I2AcILPrfSnjfE0m+UPOL8YlK4=", - "requires": { - "wgs84": "0.0.0" - } - }, - "geojson-dissolve": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/geojson-dissolve/-/geojson-dissolve-3.1.0.tgz", - "integrity": "sha1-hoIycWgKGjgfPnLwJki7zHEOzaE=", - "requires": { - "@turf/meta": "^3.7.5", - "geojson-flatten": "^0.2.1", - "geojson-linestring-dissolve": "0.0.1", - "topojson-client": "^3.0.0", - "topojson-server": "^3.0.0" - } - }, - "geojson-flatten": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/geojson-flatten/-/geojson-flatten-0.2.4.tgz", - "integrity": "sha512-LiX6Jmot8adiIdZ/fthbcKKPOfWjTQchX/ggHnwMZ2e4b0I243N1ANUos0LvnzepTEsj0+D4fIJ5bKhBrWnAHA==", - "requires": { - "get-stdin": "^6.0.0", - "minimist": "1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "geojson-linestring-dissolve": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/geojson-linestring-dissolve/-/geojson-linestring-dissolve-0.0.1.tgz", - "integrity": "sha1-CKuM3zhukZ01oOs4+hxVDgIIONs=" - }, - "geojson-polygons-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/geojson-polygons-equal/-/geojson-polygons-equal-0.0.1.tgz", - "integrity": "sha1-YgtGF18nOEakbXkGyVcjf7v3uyo=" - }, - "geojson-rewind": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/geojson-rewind/-/geojson-rewind-0.2.0.tgz", - "integrity": "sha1-6lWOnkT/A7hlXQoIt1B43DOhXnk=", - "requires": { - "concat-stream": "~1.2.1", - "geojson-area": "0.1.0", - "minimist": "0.0.5" - }, - "dependencies": { - "concat-stream": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.2.1.tgz", - "integrity": "sha1-81EAtsRjeL+6i2uA+fDQzN8T3GA=", - "requires": { - "bops": "0.0.6" - } - }, - "minimist": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", - "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=" - } - } - }, - "geojson-validation": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/geojson-validation/-/geojson-validation-0.2.1.tgz", - "integrity": "sha512-vcWNJ0HKF4XN5GjyCnDImeuVFwI20iBrbMYaTeS7KJqjN+UjULpi8wbRBp+8UCiy9ofetKhxKC9rH/9RdFiaJQ==" - }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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" - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, - "gtran-shapefile": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/gtran-shapefile/-/gtran-shapefile-1.1.4.tgz", - "integrity": "sha512-iDdShv24OaTAR3JQCA2kKUVVK8gDQEdjXc/b/26Ybyx24+fVGYCITxm+3m50XArKVMgP/cSBV/NdP7LNAyij2g==", - "requires": { - "shapefile": "^0.6.6", - "shp-write": "^0.3.2" - } - }, - "handshake-stream": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/handshake-stream/-/handshake-stream-3.0.5.tgz", - "integrity": "sha512-bUsBevrSKSdWwXE2VL3qt5Z/Vuf0a+q7Pcum7K5ZhekYO1mPgRgsrhliypGULNGEBauKXmAHouM/1dxTKfTtGA==", - "requires": { - "debug": "^4.1.1", - "duplexify": "^3.6.1" - }, - "dependencies": { - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - } - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hypercore": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-7.7.1.tgz", - "integrity": "sha512-boEiPCK848pNGACW1j111tJApu530e/UPpwbHytJZlrVf3YdgUIP1KL3aSi5xJFLUnuO8GLGl4lIsSeH8TaQQA==", - "requires": { - "array-lru": "^1.1.0", - "atomic-batcher": "^1.0.2", - "bitfield-rle": "^2.2.1", - "bulk-write-stream": "^1.1.3", - "codecs": "^2.0.0", - "fast-bitfield": "^1.2.2", - "fd-lock": "^1.0.2", - "flat-tree": "^1.6.0", - "from2": "^2.3.0", - "hypercore-crypto": "^1.0.0", - "hypercore-protocol": "^6.5.0", - "inherits": "^2.0.3", - "inspect-custom-symbol": "^1.1.0", - "last-one-wins": "^1.0.4", - "memory-pager": "^1.0.2", - "merkle-tree-stream": "^3.0.3", - "nanoguard": "^1.2.0", - "pretty-hash": "^1.0.1", - "random-access-file": "^2.1.0", - "sodium-universal": "^2.0.0", - "sparse-bitfield": "^3.0.0", - "thunky": "^1.0.1", - "uint64be": "^2.0.1", - "unordered-array-remove": "^1.0.2", - "unordered-set": "^2.0.0" - } - }, - "hypercore-crypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-1.0.0.tgz", - "integrity": "sha512-xFwOnNlOt8L+SovC7dTNchKaNYJb5l8rKZZwpWQnCme1r7CU4Hlhp1RDqPES6b0OpS7DkTo9iU0GltQGkpsjMw==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-from": "^1.1.0", - "sodium-universal": "^2.0.0", - "uint64be": "^2.0.2" - } - }, - "hypercore-protocol": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.12.0.tgz", - "integrity": "sha512-T3oy9/7QFejqJX2RGcCUU1944e5/eKbLlSz9JPTNN1QbYFJgat/r7eTyOO8SMSLUimUmQx6YBMKhgYbdKzp7Bw==", - "requires": { - "buffer-alloc-unsafe": "^1.0.0", - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "protocol-buffers-encodings": "^1.1.0", - "readable-stream": "^2.2.6", - "sodium-universal": "^2.0.0", - "sorted-indexof": "^1.0.0", - "varint": "^5.0.0" - }, - "dependencies": { - "varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" - } - } - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" - }, - "immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indexed-tarball": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/indexed-tarball/-/indexed-tarball-3.1.5.tgz", - "integrity": "sha512-3ocbaaGnBQgDUi9Go2u2Z9bm8RqUJivOGICW8kURZuMGPcxSPAKXfdLkeUlz4IxgChsMnOL4klpJXpt/HMVnDg==", - "requires": { - "pump": "^3.0.0", - "read-only-stream": "^2.0.0", - "rwlock": "^5.0.0", - "tar-stream": "^1.6.1", - "through2": "^2.0.3", - "tmp": "0.0.33" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "indexed-tarball-blob-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/indexed-tarball-blob-store/-/indexed-tarball-blob-store-1.2.0.tgz", - "integrity": "sha512-rtiZBCn/+xCx2AqLJrjzllcqFbbv5wnes5O1S5DDeFQ9XvU3CYXtyRUle9Kk9atjKoic0Bj5QMMeFPPqVpHaog==", - "requires": { - "indexed-tarball": "^2.1.0" - }, - "dependencies": { - "indexed-tarball": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indexed-tarball/-/indexed-tarball-2.1.0.tgz", - "integrity": "sha512-yqZNeMHHe2c4q8QEJrz8c+TouXjoykFrwEe7SVzP6uRFj1gxAvcpjZ/nQrA0wC1OVD8qCHtaWMWKnxeK8CHFjQ==", - "requires": { - "collect-stream": "^1.2.1", - "end-of-stream": "^1.4.1", - "pump": "^3.0.0", - "read-only-stream": "^2.0.0", - "rwlock": "^5.0.0", - "tar-stream": "^1.6.1", - "through2": "^2.0.3", - "tmp": "0.0.33" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "inspect-custom-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/inspect-custom-symbol/-/inspect-custom-symbol-1.1.1.tgz", - "integrity": "sha512-GOucsp9EcdlLdhPUyOTvQDnbFJtp2WBWZV1Jqe+mVnkJQBL3w96+fB84C+JL+EKXOspMdB0eMDQPDp5w9fkfZA==" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-options/-/is-options-1.0.1.tgz", - "integrity": "sha512-2Xj8sA0zDrAcaoWfBiNmc6VPWAgKDpim0T3J9Djq7vbm1UjwbUWzeuLu/FwC46g3cBbAn0E5R0xwVtOobM6Xxg==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "iserror": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", - "integrity": "sha1-vVNFH+L2aLnyQCwZZnh6qix8C/U=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "jdataview": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/jdataview/-/jdataview-2.5.0.tgz", - "integrity": "sha1-MIGz/qZR+TF+xr1P6y3cmKpB1ZU=" - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" - }, - "jszip": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", - "requires": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "k-bucket": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-3.3.1.tgz", - "integrity": "sha512-kgwWqYT79rAahn4maIVTP8dIe+m1KulufWW+f1bB9DlZrRFiGpZ4iJOg2HUp4xJYBWONP3+rOPIWF/RXABU6mw==", - "requires": { - "buffer-equals": "^1.0.3", - "inherits": "^2.0.1", - "randombytes": "^2.0.3" - } - }, - "k-rpc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/k-rpc/-/k-rpc-4.3.1.tgz", - "integrity": "sha512-mgAJZeFYbpP0xzJzmS0TQTYoFI0sjy3GnKFhg8wyboL+KvWg2WLaA2Oy9PthLPx2Rxz4WeBMk4y3MSOrDJ95FA==", - "requires": { - "buffer-equals": "^1.0.3", - "k-bucket": "^4.0.0", - "k-rpc-socket": "^1.7.2", - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "k-bucket": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.1.tgz", - "integrity": "sha512-YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==", - "requires": { - "inherits": "^2.0.1", - "randombytes": "^2.0.3" - } - } - } - }, - "k-rpc-socket": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.11.1.tgz", - "integrity": "sha512-8xtA8oqbZ6v1Niryp2/g4GxW16EQh5MvrUylQoOG+zcrDff5CKttON2XUXvMwlIHq4/2zfPVFiinAccJ+WhxoA==", - "requires": { - "bencode": "^2.0.0", - "chrome-dgram": "^3.0.2", - "chrome-dns": "^1.0.0", - "chrome-net": "^3.3.2" - }, - "dependencies": { - "bencode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bencode/-/bencode-2.0.1.tgz", - "integrity": "sha512-2uhEl8FdjSBUyb69qDTgOEeeqDTa+n3yMQzLW0cOzNf1Ow5bwcg3idf+qsWisIKRH8Bk8oC7UXL8irRcPA8ZEQ==", - "requires": { - "safe-buffer": "^5.1.1" - } - } - } - }, - "kappa-core": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/kappa-core/-/kappa-core-4.0.1.tgz", - "integrity": "sha512-WCGE1SIP+Yv1msPJvEdlyKE67yGOLhVWCRRGwnYD/RR+3HfRXzHHCSLEb9HVKapDuVixqYMrpWc7fEBOAPOdOg==", - "requires": { - "hypercore": "^7.4.0", - "inherits": "^2.0.4", - "multifeed": "^4.0.0", - "multifeed-index": "^3.3.2" - } - }, - "kappa-osm": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/kappa-osm/-/kappa-osm-3.1.0.tgz", - "integrity": "sha512-eBlwDaYu8N2mgGHUM866MiVW103UuZKiQeC581fxEWRc63+Hbf2tDZV2gwdsmAVmJ6wGlgv+qqBIZju/LCAWtw==", - "requires": { - "collect-stream": "^1.2.1", - "comparable-storable-types": "^1.0.0", - "d64": "^1.0.0", - "deepmerge": "^4.1.1", - "duplexify": "^4.1.1", - "kappa-view": "^3.0.0", - "once": "^1.4.0", - "pull-stream-to-stream": "^1.3.4", - "pump": "^3.0.0", - "pumpify": "^2.0.1", - "randombytes": "^2.1.0", - "read-only-stream": "^2.0.0", - "subleveldown": "^4.1.4", - "through2": "^3.0.1", - "to-buffer": "^1.1.0", - "uniq": "^1.0.1", - "unordered-materialized-backrefs": "^1.0.1", - "unordered-materialized-bkd": "^1.1.1", - "unordered-materialized-kv": "^1.2.0", - "varint": "^5.0.0" - }, - "dependencies": { - "varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" - } - } - }, - "kappa-view": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/kappa-view/-/kappa-view-3.1.0.tgz", - "integrity": "sha512-3VrSiqoBm5DXTMIoYp4XYF+gcnlxf1NGfG8c9fRlR5pt8dDvN8DD7n5x0wkVz7k9Aoperbe/Pcq3OQ/IIx1FVQ==", - "requires": { - "pump": "^3.0.0", - "readable-stream": "^3.4.0", - "subleveldown": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "last-one-wins": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/last-one-wins/-/last-one-wins-1.0.4.tgz", - "integrity": "sha1-wb/Qy8tGeQ7JFWuNGu6Py4bNoio=" - }, - "length-prefixed-message": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/length-prefixed-message/-/length-prefixed-message-3.0.4.tgz", - "integrity": "sha512-Tqyx4nggb9nkLD6p4hyIz7UiVNg5u3OnCP2h0hS/HXpheH88rsoNEgNB8xTnpPMw6zWXGZ7Cpg1zhWPlsJ0/TQ==", - "requires": { - "varint": "^3.0.1" - }, - "dependencies": { - "varint": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/varint/-/varint-3.0.1.tgz", - "integrity": "sha1-nT9T4DbAqxIACnS8LSTL8JOlgdk=" - } - } - }, - "length-prefixed-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/length-prefixed-stream/-/length-prefixed-stream-1.6.0.tgz", - "integrity": "sha512-gsJvrb5giDqil/ScQ7fEoplsI2Ch4DwnvnfTW2EGl9KBW6Ekzn8JSNESObqNAeZD8HkSjEMvc5XjhuB66fsSZQ==", - "requires": { - "buffer-alloc-unsafe": "^1.0.0", - "readable-stream": "^2.0.0", - "varint": "^5.0.0" - }, - "dependencies": { - "varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" - } - } - }, - "level": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/level/-/level-5.0.1.tgz", - "integrity": "sha512-wcak5OQeA4rURGacqS62R/xNHjCYnJSQDBOlm4KNUGJVE9bWv2B04TclqReYejN+oD65PzD4FsqeWoI5wNC5Lg==", - "requires": { - "level-js": "^4.0.0", - "level-packager": "^5.0.0", - "leveldown": "^5.0.0", - "opencollective-postinstall": "^2.0.0" - } - }, - "level-codec": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.1.tgz", - "integrity": "sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==" - }, - "level-concat-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" - }, - "level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.4.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "level-js": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/level-js/-/level-js-4.0.2.tgz", - "integrity": "sha512-PeGjZsyMG4O89KHiez1zoMJxStnkM+oBIqgACjoo5PJqFiSUUm3GNod/KcbqN5ktyZa8jkG7I1T0P2u6HN9lIg==", - "requires": { - "abstract-leveldown": "~6.0.1", - "immediate": "~3.2.3", - "inherits": "^2.0.3", - "ltgt": "^2.1.2", - "typedarray-to-buffer": "~3.1.5" - }, - "dependencies": { - "abstract-leveldown": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz", - "integrity": "sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==", - "requires": { - "level-concat-iterator": "~2.0.0", - "xtend": "~4.0.0" - } - } - } - }, - "level-option-wrap": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/level-option-wrap/-/level-option-wrap-1.1.0.tgz", - "integrity": "sha1-rSDmjZ88IsiJdTHMaqevWWse0Sk=", - "requires": { - "defined": "~0.0.0" - } - }, - "level-packager": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", - "requires": { - "encoding-down": "^6.3.0", - "levelup": "^4.3.2" - } - }, - "level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "requires": { - "xtend": "^4.0.2" - } - }, - "leveldown": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.4.1.tgz", - "integrity": "sha512-3lMPc7eU3yj5g+qF1qlALInzIYnkySIosR1AsUKFjL9D8fYbTLuENBAeDRZXIG4qeWOAyqRItOoLu2v2avWiMA==", - "requires": { - "abstract-leveldown": "~6.2.1", - "napi-macros": "~2.0.0", - "node-gyp-build": "~4.1.0" - }, - "dependencies": { - "napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" - }, - "node-gyp-build": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz", - "integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==" - } - } - }, - "levelup": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.3.2.tgz", - "integrity": "sha512-cRTjU4ktWo59wf13PHEiOayHC3n0dOh4i5+FHr4tv4MX9+l7mqETicNq3Aj07HKlLdk0z5muVoDL2RD+ovgiyA==", - "requires": { - "deferred-leveldown": "~5.3.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~4.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "requires": { - "immediate": "~3.0.5" - }, - "dependencies": { - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - } - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, - "lru": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lru/-/lru-3.1.0.tgz", - "integrity": "sha1-6n+4VG2DczOWoTCR12z+tMBoN9U=", - "requires": { - "inherits": "^2.0.1" - } - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-limit": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", - "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", - "requires": { - "once": "~1.3.0" - }, - "dependencies": { - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "requires": { - "wrappy": "1" - } - } - } - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "mapeo-default-settings": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mapeo-default-settings/-/mapeo-default-settings-2.1.0.tgz", - "integrity": "sha512-jn1iN+shpoceD+Sgs3xnaGpWmT4bFomhRftdWrX0HaVslfYpzk/6A5GDZiH83xuZhsbwWktsAEjrkjNq8A3ogg==" - }, - "mapeo-server": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/mapeo-server/-/mapeo-server-17.0.1.tgz", - "integrity": "sha512-wToPn++uIVIhYWxflKq1e5437W/Jm2CFsfGLVF/ByRz4jSD3HXof6mjb/AHGS4G7HbZQO3HCHh11sLJgqHK9yw==", - "requires": { - "@mapeo/core": "^8.1.2", - "asar": "^2.0.1", - "body": "^5.1.0", - "debounce": "^1.2.0", - "debug": "^4.1.0", - "ecstatic": "^4.1.2", - "inherits": "^2.0.3", - "mime": "^2.4.2", - "randombytes": "^2.0.6", - "routes": "^2.1.0", - "statuses": "^1.5.0", - "xtend": "^4.0.1" - } - }, - "memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" - }, - "merkle-tree-stream": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/merkle-tree-stream/-/merkle-tree-stream-3.0.3.tgz", - "integrity": "sha1-+KBkdg0355eK1fn208EZpJT1cIE=", - "requires": { - "flat-tree": "^1.3.0", - "readable-stream": "^2.0.5" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "module-deps": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.1.0.tgz", - "integrity": "sha512-NPs5N511VD1rrVJihSso/LiBShRbJALYBKzDW91uZYy7BpjnO4bGnZL3HjZ9yKcFdZUWwaYjDz9zxbuP7vKMuQ==", - "dev": true, - "requires": { - "JSONStream": "^1.0.3", - "browser-resolve": "^1.7.0", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.0.2", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.0.tgz", - "integrity": "sha512-Tu2QORGOFANB124NWQ/JTRhMf/ODouVLEuvu5Dz8YWEU55zQgRgFGnBHfIh5PbfNDAuaRl7yLB+pgWhSqVxi2Q==", - "requires": { - "dns-packet": "^4.0.0", - "thunky": "^1.0.2" - } - }, - "multifeed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/multifeed/-/multifeed-4.2.2.tgz", - "integrity": "sha512-1ABuEirPtY/yqUifF8OXts6+DV6+yYB0jj0a/9wJLsk3YKpNBAzllMlTVw4w8dR+ZK1c7WZpAxtL6L990j0xXg==", - "requires": { - "debug": "^4.1.0", - "hypercore-protocol": "^6.8.0", - "inherits": "^2.0.3", - "mutexify": "^1.2.0", - "random-access-file": "^2.0.1", - "random-access-memory": "^3.1.1", - "through2": "^3.0.0" - } - }, - "multifeed-index": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/multifeed-index/-/multifeed-index-3.3.3.tgz", - "integrity": "sha512-vWL+8EpwVtDpCGAZWo0Sg17GtGEWFT9cUhxUHCbCPM0RZVrzuUHfmwQ7kzSx6W9gd0kl9xWYEJSifYu2xHpoxg==", - "requires": { - "inherits": "^2.0.3" - } - }, - "multiplex": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/multiplex/-/multiplex-6.7.0.tgz", - "integrity": "sha1-/3Pk5AB5FwxEQtFgllZY+N75YMI=", - "requires": { - "duplexify": "^3.4.2", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2", - "varint": "^4.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - } - } - }, - "multistream": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/multistream/-/multistream-2.1.1.tgz", - "integrity": "sha512-xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.5" - } - }, - "mutexify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.2.0.tgz", - "integrity": "sha512-oprzxd2zhfrJqEuB98qc1dRMMonClBQ57UPDjnbcrah4orEMTq1jq3+AcdFe5ePzdbJXI7zmdhfftIdMnhYFoQ==" - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "optional": true - }, - "nanoassert": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz", - "integrity": "sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40=" - }, - "nanoguard": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/nanoguard/-/nanoguard-1.2.2.tgz", - "integrity": "sha512-IMVIZkHP7Ep01foXurcJR59Hj/0yyApNK3JWpVHq2QVdLgo8wGU/ZsodlpL7jJ/m24+lxT0eyavrLCEuYQK2fg==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "napi-macros": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-1.8.2.tgz", - "integrity": "sha512-Tr0DNY4RzTaBG2W2m3l7ZtFuJChTH6VZhXVhkGGjF/4cZTt+i8GcM9ozD+30Lmr4mDoZ5Xx34t2o4GJqYWDGcg==", - "optional": true - }, - "network-address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/network-address/-/network-address-1.1.2.tgz", - "integrity": "sha1-Sqe/1D8D8LgclwKxPWqFjdsybz4=" - }, - "node-gyp-build": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.0.tgz", - "integrity": "sha512-4oiumOLhCDU9Rronz8PZ5S4IvT39H5+JEv/hps9V8s7RSLhsac0TCP78ulnHXOo8X1wdpPiTayGlM1jr4IbnaQ==" - }, - "noderify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/noderify/-/noderify-4.3.0.tgz", - "integrity": "sha512-382A9HWr6s5FcvnRILE8aG3PAtkZIIiugfgWvc4eQNVUmcWu5wQ5ollKgT0leHndjedZeWrN2G1X4lfBCeFtyA==", - "dev": true, - "requires": { - "minimist": "^1.1.2", - "module-deps": "~6.1.0", - "rc": "^1.1.6", - "resolve": "~1.7.1", - "sort-stream": "^1.0.1", - "through2": "~2.0.3" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "opencollective-postinstall": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", - "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osm-p2p": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/osm-p2p/-/osm-p2p-5.1.0.tgz", - "integrity": "sha512-Xhzp5CkM/K/aG6gheTmchca9doJ3JjqK1FyUBKAiQ6W2aWgJnJ6qNHr3CF7n/oZH+RONoJSg5Ne9VHdbZLTrow==", - "requires": { - "kappa-core": "^4.0.0", - "kappa-osm": "^3.0.0", - "level": "^5.0.0", - "mkdirp": "^0.5.1", - "once": "^1.3.3", - "random-access-file": "^2.1.0" - } - }, - "osm-p2p-geojson": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/osm-p2p-geojson/-/osm-p2p-geojson-4.0.7.tgz", - "integrity": "sha512-T1tuIYAwSIvHJJ975B/RZz86rP8hYh3EJC78XHFGSsYL/iEmZCAYSHIwJP+AsWl32ziCtIbHe3RV2o6wna6+JQ==", - "requires": { - "JSONStream": "^1.1.4", - "clone": "^2.1.1", - "collect-stream": "^1.1.1", - "from2": "^2.3.0", - "geojson-dissolve": "^3.1.0", - "geojson-polygons-equal": "0.0.1", - "geojson-rewind": "^0.2.0", - "geojson-validation": "^0.2.1", - "inherits": "^2.0.3", - "map-limit": "0.0.1", - "once": "^1.3.3", - "osm-polygon-features": "^0.9.1", - "pump": "^1.0.1", - "pumpify": "^1.3.5", - "randombytes": "^2.0.6", - "read-only-stream": "^2.0.0", - "through2": "^2.0.1", - "xtend": "^4.0.1" - }, - "dependencies": { - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "osm-p2p-syncfile": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/osm-p2p-syncfile/-/osm-p2p-syncfile-4.1.1.tgz", - "integrity": "sha512-Bvx1dkXNFzsEe8snjHSqSynoItm30bAWmJs/OoicGdbq2VU3hD4VWv/dLbNyuiGTpC9qOKs6dQRpLiXhU082+w==", - "requires": { - "blob-store-replication-stream": "^1.3.3", - "debug": "^3.1.0", - "hypercore": "^6.25.2", - "indexed-tarball": "^3.1.3", - "indexed-tarball-blob-store": "^1.1.0", - "mkdirp": "^0.5.1", - "multifeed": "4.1.10", - "once": "^1.4.0", - "osm-p2p": "^5.0.0", - "readdirp": "^2.1.0", - "rimraf": "^2.6.2", - "safe-fs-blob-store": "^1.0.3", - "tar-stream": "^1.6.1", - "through2": "^2.0.3" - }, - "dependencies": { - "codecs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/codecs/-/codecs-1.2.1.tgz", - "integrity": "sha512-SPnx+ZHXVJ0qTInRXmnxuyu8PDvSzvop5MXp1BOr/urFQI3yL2n5ewE755skTklF/hKVlWj8cinGxdR2gvLvTA==" - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "hypercore": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-6.26.0.tgz", - "integrity": "sha512-su/bucp958SyFWWF5uzeLT05N0k7gTbktvLCo0TaloXWSSs2OiFyj3Ka7v93yaD9u0vBT3i0foPoZnj1yC/dog==", - "requires": { - "array-lru": "^1.1.0", - "atomic-batcher": "^1.0.2", - "bitfield-rle": "^2.2.1", - "buffer-alloc": "^1.2.0", - "buffer-alloc-unsafe": "^1.0.0", - "buffer-from": "^1.0.0", - "bulk-write-stream": "^1.1.3", - "codecs": "^1.2.0", - "fast-bitfield": "^1.2.2", - "fd-lock": "^1.0.2", - "flat-tree": "^1.6.0", - "from2": "^2.3.0", - "hypercore-crypto": "^1.0.0", - "hypercore-protocol": "^6.4.1", - "inherits": "^2.0.3", - "inspect-custom-symbol": "^1.1.0", - "last-one-wins": "^1.0.4", - "memory-pager": "^1.0.2", - "merkle-tree-stream": "^3.0.3", - "pretty-hash": "^1.0.1", - "process-nextick-args": "^1.0.7", - "random-access-file": "^2.1.0", - "sodium-universal": "^2.0.0", - "sparse-bitfield": "^3.0.0", - "thunky": "^1.0.1", - "uint64be": "^2.0.1", - "unordered-array-remove": "^1.0.2", - "unordered-set": "^2.0.0" - } - }, - "multifeed": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/multifeed/-/multifeed-4.1.10.tgz", - "integrity": "sha512-CW3IkzCRte6MLYBe48rcieVTW/4H4IpkYKmJZ88596WMkso0lauY5yPUAwR4GF7YUMeskoD0OpffierT8S1Vdg==", - "requires": { - "debug": "^4.1.0", - "hypercore-protocol": "^6.8.0", - "inherits": "^2.0.3", - "mutexify": "^1.2.0", - "random-access-file": "^2.0.1", - "through2": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "requires": { - "readable-stream": "2 || 3" - } - } - } - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "osm-polygon-features": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/osm-polygon-features/-/osm-polygon-features-0.9.2.tgz", - "integrity": "sha1-IK5BEwxIbkmjsqPCtYoUGcSYZ3g=" - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", - "dev": true, - "requires": { - "path-platform": "~0.11.15" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", - "dev": true - }, - "path-source": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/path-source/-/path-source-0.1.3.tgz", - "integrity": "sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==", - "requires": { - "array-source": "0.0", - "file-source": "0.6" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "pretty-hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pretty-hash/-/pretty-hash-1.0.1.tgz", - "integrity": "sha1-FuBXkYje9WvbVliSvNBaXWUySAc=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "protocol-buffers-encodings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.1.0.tgz", - "integrity": "sha512-SmjEuAf3hc3h3rWZ6V1YaaQw2MNJWK848gLJgzx/sefOJdNLujKinJVXIS0q2cBQpQn2Q32TinawZyDZPzm4kQ==", - "requires": { - "signed-varint": "^2.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" - } - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "pull-stream-to-stream": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz", - "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", - "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", - "requires": { - "duplexify": "^4.1.1", - "inherits": "^2.0.3", - "pump": "^3.0.0" - } - }, - "random-access-file": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/random-access-file/-/random-access-file-2.1.3.tgz", - "integrity": "sha512-AE0Z1ywR5gIkzACMC1lCsR6LP8g4ynNm7oYWYdKPSSU6Y3H+mGDJxBqfcV9B9KstfHNemhfX3nYmx99ZC9f/yg==", - "requires": { - "mkdirp": "^0.5.1", - "random-access-storage": "^1.1.1" - } - }, - "random-access-memory": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/random-access-memory/-/random-access-memory-3.1.1.tgz", - "integrity": "sha512-Qy1MliJDozZ1A6Hx3UbEnm8PPCfkiG/8CArbnhrxXMx1YRJPWipgPTB9qyhn4Z7WlLvCEqPb6Bd98OayyVuwrA==", - "requires": { - "inherits": "^2.0.3", - "is-options": "^1.0.1", - "random-access-storage": "^1.1.1" - } - }, - "random-access-storage": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.4.0.tgz", - "integrity": "sha512-7oszloM/+PdqWp/oFGyL6SeI14liqo8AAisHAZQGkWdHISyAnngKjNPL0JYIazeLxbHPY6oed2yUffowdq/o6A==", - "requires": { - "inherits": "^2.0.3" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "raw-body": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", - "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", - "requires": { - "bytes": "1", - "string_decoder": "0.10" - }, - "dependencies": { - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "reachdown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/reachdown/-/reachdown-1.0.0.tgz", - "integrity": "sha512-Ty7X/t52GwgRam3SMpZC2grmutuUarkiD4sVhjM8g8/5NlX8PAEsYO/pyx6nTTqS9udee1j1BxaAS/f6Rm8SMw==" - }, - "read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", - "requires": { - "readable-stream": "^2.0.2" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "routes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/routes/-/routes-2.1.0.tgz", - "integrity": "sha1-R1VxGSpI+ZtsBl3ZJrt16K6D6KI=" - }, - "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" - }, - "run-series": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.8.tgz", - "integrity": "sha512-+GztYEPRpIsQoCSraWHDBs9WVy4eVME16zhOtDB4H9J4xN0XRhknnmLOl+4gRgZtu8dpp9N/utSPjKH/xmDzXg==" - }, - "rusha": { - "version": "0.8.13", - "resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.13.tgz", - "integrity": "sha1-mghOe4YLF7/zAVuSxnpqM2GRUTo=" - }, - "rwlock": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/rwlock/-/rwlock-5.0.0.tgz", - "integrity": "sha1-iI1qd6M1HMGiCSBO8u4XIgk4Ns8=" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-fs-blob-store": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/safe-fs-blob-store/-/safe-fs-blob-store-1.0.6.tgz", - "integrity": "sha512-QA7EtvVCMKX2r0dsQnR2dKK+lS6IKWfp2MiLxXRcujwEwIcl4Ms8jZ9PDWJHQ/cKdKMpnN8SlD1+xyKY3tAWcg==", - "requires": { - "@digidem/atomic-fs-blob-store": "^5.3.0", - "folder-walker": "^3.2.0", - "imurmurhash": "^0.1.4" - } - }, - "safe-json-parse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", - "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "semver": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.2.tgz", - "integrity": "sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "shapefile": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/shapefile/-/shapefile-0.6.6.tgz", - "integrity": "sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==", - "requires": { - "array-source": "0.0", - "commander": "2", - "path-source": "0.1", - "slice-source": "0.4", - "stream-source": "0.3", - "text-encoding": "^0.6.4" - } - }, - "shp-write": { - "version": "github:digidem/shp-write#02b37559e61f8951dc238ed22de80e4e2aa6cf0f", - "from": "github:digidem/shp-write", - "requires": { - "dbf": "0.1.4", - "file-saver": "2.0.0", - "jszip": "3.1.5" - } - }, - "signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", - "requires": { - "varint": "~5.0.0" - }, - "dependencies": { - "varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" - } - } - }, - "simple-sha1": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/simple-sha1/-/simple-sha1-2.1.2.tgz", - "integrity": "sha512-TQl9rm4rdKAVmhO++sXAb8TNN0D6JAD5iyI1mqEPNpxUzTRrtm4aOG1pDf/5W/qCFihiaoK6uuL9rvQz1x1VKw==", - "requires": { - "rusha": "^0.8.1" - } - }, - "siphash24": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/siphash24/-/siphash24-1.1.1.tgz", - "integrity": "sha512-dKKwjIoTOa587TARYLlBRXq2lkbu5Iz35XrEVWpelhBP1m8r2BGOy1QlaZe84GTFHG/BTucEUd2btnNc8QzIVA==", - "requires": { - "nanoassert": "^1.0.0" - } - }, - "slice-source": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/slice-source/-/slice-source-0.4.1.tgz", - "integrity": "sha1-QKV6wDxmaLXaIA4FN44AC/KmHXk=" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sodium-javascript": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.5.5.tgz", - "integrity": "sha512-UMmCHovws/sxIBZsIRhIl8uRPou/RFDD0vVop81T1hG106NLLgqajKKuHAOtAP6hflnZ0UrVA2VFwddTd/NQyA==", - "requires": { - "blake2b": "^2.1.1", - "nanoassert": "^1.0.0", - "siphash24": "^1.0.1", - "xsalsa20": "^1.0.0" - } - }, - "sodium-native": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-2.4.9.tgz", - "integrity": "sha512-mbkiyA2clyfwAyOFIzMvsV6ny2KrKEIhFVASJxWfsmgfUEymgLIS2MLHHcGIQMkrcKhPErRaMR5Dzv0EEn+BWg==", - "optional": true, - "requires": { - "ini": "^1.3.5", - "nan": "^2.14.0", - "node-gyp-build": "^4.1.0" - } - }, - "sodium-universal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sodium-universal/-/sodium-universal-2.0.0.tgz", - "integrity": "sha512-csdVyakzHJRyCevY4aZC2Eacda8paf+4nmRGF2N7KxCLKY2Ajn72JsExaQlJQ2BiXJncp44p3T+b80cU+2TTsg==", - "requires": { - "sodium-javascript": "~0.5.0", - "sodium-native": "^2.0.0" - } - }, - "sort-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-stream/-/sort-stream-1.0.1.tgz", - "integrity": "sha1-owaEycKcozMGnBjWoKsPdor2HfI=", - "dev": true, - "requires": { - "through": "~2.3.1" - } - }, - "sorted-indexof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sorted-indexof/-/sorted-indexof-1.0.0.tgz", - "integrity": "sha1-F8dC/3zxh+L1mhXfm4HxemLOCJk=" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", - "requires": { - "memory-pager": "^1.0.2" - } - }, - "speedometer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-1.1.0.tgz", - "integrity": "sha512-z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ==" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "stack-generator": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.5.tgz", - "integrity": "sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q==", - "requires": { - "stackframe": "^1.1.1" - } - }, - "stackframe": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz", - "integrity": "sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ==" - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "stream-source": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/stream-source/-/stream-source-0.3.5.tgz", - "integrity": "sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==" - }, - "string-template": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", - "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "dev": true, - "requires": { - "minimist": "^1.1.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "subleveldown": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/subleveldown/-/subleveldown-4.1.4.tgz", - "integrity": "sha512-njpSBP/Bxh7EahraG6IhR6goOH2ffMTMVt7Ud+k/OhNFHrrmuvK+XYfauI8KnjCm0w381cUF43pejlWeJMZChA==", - "requires": { - "abstract-leveldown": "^6.1.1", - "encoding-down": "^6.2.0", - "inherits": "^2.0.3", - "level-option-wrap": "^1.1.0", - "levelup": "^4.3.1", - "reachdown": "^1.0.0" - } - }, - "tar-fs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", - "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", - "requires": { - "chownr": "^1.1.1", - "mkdirp": "^0.5.1", - "pump": "^3.0.0", - "tar-stream": "^2.0.0" - }, - "dependencies": { - "bl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", - "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", - "requires": { - "readable-stream": "^3.0.1" - } - }, - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "tar-stream": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz", - "integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==", - "requires": { - "bl": "^3.0.0", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "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" - } - }, - "text-encoding": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "requires": { - "readable-stream": "2 || 3" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "timeout-refresh": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-1.0.1.tgz", - "integrity": "sha512-bW5oSShdwFCN9K7RpB5dkq5bqNlGt8Lwbfxr8vprysk8hDiK5yy7Mgf2Qlz2ssE0gfQfoYhk4VLY9Hhsnr9Ulw==", - "optional": true - }, - "tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "requires": { - "rimraf": "^2.6.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "tmp-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz", - "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==", - "requires": { - "bluebird": "^3.5.0", - "tmp": "0.1.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "to-utf8": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz", - "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=" - }, - "topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", - "requires": { - "commander": "2" - } - }, - "topojson-server": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/topojson-server/-/topojson-server-3.0.1.tgz", - "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==", - "requires": { - "commander": "2" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "uint64be": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uint64be/-/uint64be-2.0.2.tgz", - "integrity": "sha512-9QqdvpGQTXgxthP+lY4e/gIBy+RuqcBaC6JVwT5I3bDLgT/btL6twZMR0pI3/Fgah9G/pdwzIprE5gL6v9UvyQ==", - "requires": { - "buffer-alloc": "^1.1.0" - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "unordered-array-remove": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz", - "integrity": "sha1-xUbo+I4xegzyZEyX7LV9umbSUO8=" - }, - "unordered-materialized-backrefs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unordered-materialized-backrefs/-/unordered-materialized-backrefs-1.0.1.tgz", - "integrity": "sha512-Tt96DpZy2Hog4XTgytvIRjBZneiEZp1qhu1BxZ5hizKk+iz3wS1LNr0RG3lOHvv0Fe3BmomNyj5Kgdg5VigybQ==" - }, - "unordered-materialized-bkd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unordered-materialized-bkd/-/unordered-materialized-bkd-1.1.1.tgz", - "integrity": "sha512-l1IQktvv0nnaYvVWHN3iR0Y80+Gjv1I2F9bQ8HeOjHr3M0qAambQu7c+MTJgCyv1CRXVqz4EO4ywQpBF3GDg1g==", - "requires": { - "bkd-tree": "^1.0.1", - "once": "^1.4.0" - } - }, - "unordered-materialized-kv": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/unordered-materialized-kv/-/unordered-materialized-kv-1.3.0.tgz", - "integrity": "sha512-7L4XGdSRoBByKczlh09+7tN4ku9s8wOhQIkmRY8Ko6/lXd5spd/kBhGqdCGIcnltD+IVJrN1zX3Ic8WLHhS4hA==", - "requires": { - "once": "^1.4.0" - } - }, - "unordered-set": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-2.0.1.tgz", - "integrity": "sha512-eUmNTPzdx+q/WvOHW0bgGYLWvWHNT3PTKEQLg0MAQhc0AHASHVHoP/9YytYd4RBVariqno/mEUhVZN98CmD7bg==" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utp-native": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/utp-native/-/utp-native-2.1.7.tgz", - "integrity": "sha512-PQmXCdZOkmADtIqmhoiFEIdNlvkPouO8ktXqThFDBAt850B752bjQMF5KAJeMBJ5gzuI70ZiP9Qsr9mwCwzSyg==", - "optional": true, - "requires": { - "napi-macros": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.0.2", - "timeout-refresh": "^1.0.0", - "unordered-set": "^2.0.1" - }, - "dependencies": { - "napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", - "optional": true - }, - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", - "optional": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "varint": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/varint/-/varint-4.0.1.tgz", - "integrity": "sha1-SQgpuULSSEY7KzUJeZXDv3NxmOk=" - }, - "wgs84": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/wgs84/-/wgs84-0.0.0.tgz", - "integrity": "sha1-NP3FVZF7blfPKigu0ENxDASc3HY=" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xsalsa20": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz", - "integrity": "sha512-zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - } -} +{ + "name": "mapeo-mobile-node", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@bugsnag/browser": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-6.5.2.tgz", + "integrity": "sha512-XFKKorJc92ivLnlHHhLiPvkP03tZ5y7n0Z2xO6lOU7t+jWF5YapgwqQAda/TWvyYO38B/baWdnOpWMB3QmjhkA==" + }, + "@bugsnag/js": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-6.5.2.tgz", + "integrity": "sha512-4ibw624fM5+Y/WSuo3T/MsJVtslsPV8X0MxFuRxdvpKVUXX216d8hN8E/bG4hr7aipqQOGhBYDqSzeL2wgmh0Q==", + "requires": { + "@bugsnag/browser": "^6.5.2", + "@bugsnag/node": "^6.5.2" + } + }, + "@bugsnag/node": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-6.5.2.tgz", + "integrity": "sha512-KQ1twKoOttMCYsHv7OXUVsommVcrk6RGQ5YoZGlTbREhccbzsvjbiXPKiY31Qc7OXKvaJwSXhnOKrQTpRleFUg==", + "requires": { + "byline": "^5.0.0", + "error-stack-parser": "^2.0.2", + "iserror": "^0.0.2", + "pump": "^3.0.0", + "stack-generator": "^2.0.3" + } + }, + "@digidem/atomic-fs-blob-store": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@digidem/atomic-fs-blob-store/-/atomic-fs-blob-store-5.3.1.tgz", + "integrity": "sha512-uxnNj/tfyNFwom4I0tIerJJUHiQgTt3lITils0qtlYyxaYaB0zOUGVQGJgdslXZkyDjHFzfWuGFg7tzQvxAWuQ==", + "requires": { + "@digidem/fs-write-stream-atomic": "^1.1.0", + "duplexify": "^3.2.0", + "end-of-stream": "^1.0.0", + "lru-cache": "^2.5.0", + "mkdirp": "^0.5.0" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, + "@digidem/fs-write-stream-atomic": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@digidem/fs-write-stream-atomic/-/fs-write-stream-atomic-1.1.0.tgz", + "integrity": "sha512-VzcduOqQf1IeZItO24dJFOiJpkue5JTvL1SK6jA8b40H0URtTKsQES7fmnU9BJdlY4IyEdolPlsa84hx5quemQ==", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "@mapeo/core": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@mapeo/core/-/core-8.1.3.tgz", + "integrity": "sha512-/IciehuILGRFI7Mn4pZdeWL4nijP0sec/WGFIEAYPAEDIuHDBOgGQLZrlfnao0jZ/rR5suP2GOpxvxmajiIJpA==", + "requires": { + "blob-store-replication-stream": "^1.3.0", + "concat-stream": "^2.0.0", + "dat-swarm-defaults": "^1.0.2", + "debug": "^4.1.1", + "discovery-swarm": "6.0.0", + "end-of-stream": "^1.4.1", + "gtran-shapefile": "^1.1.3", + "handshake-stream": "^3.0.0", + "hypercore-crypto": "^1.0.0", + "inherits": "^2.0.3", + "multiplex": "^6.7.0", + "osm-p2p-geojson": "^4.0.1", + "osm-p2p-syncfile": "^4.1.0", + "pump": "^3.0.0", + "pumpify": "^2.0.1", + "randombytes": "^2.0.6", + "run-parallel": "^1.1.9", + "shp-write": "github:digidem/shp-write#02b37559e61f8951dc238ed22de80e4e2aa6cf0f", + "statuses": "^1.5.0", + "through2": "^3.0.0" + }, + "dependencies": { + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "shp-write": { + "version": "github:digidem/shp-write#02b37559e61f8951dc238ed22de80e4e2aa6cf0f", + "from": "github:digidem/shp-write", + "requires": { + "dbf": "0.1.4", + "file-saver": "2.0.0", + "jszip": "3.1.5" + } + } + } + }, + "@turf/meta": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-3.14.0.tgz", + "integrity": "sha1-jTBQwaD0S/QGpjO2vSjFEPe87ic=" + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abstract-blob-store": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/abstract-blob-store/-/abstract-blob-store-3.3.5.tgz", + "integrity": "sha512-LMxiWKn5/cM4e022wYHCnXNdWBkVRuePx4aL5y2FsOyN48J9wksVodyrJGELnnUbgor5bqeEIW7l6gQAiWYjAg==", + "requires": { + "concat-stream": "^1.6.0", + "from2-array": "0.0.4" + } + }, + "abstract-leveldown": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", + "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", + "requires": { + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "acorn": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", + "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", + "dev": true + }, + "almost-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", + "integrity": "sha1-+FHGMROHV5lCdqou++jfowZszN0=" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-lru": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-lru/-/array-lru-1.1.1.tgz", + "integrity": "sha1-DH4bTgIq4Wb/HoRIxZXzGB/NMzc=" + }, + "array-source": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/array-source/-/array-source-0.0.4.tgz", + "integrity": "sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "asar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/asar/-/asar-2.0.3.tgz", + "integrity": "sha512-QdHKO+HOYVtE4B/M3up3i4LSJeJgsa2CTVBrjBf9GgLUPGGUFZowcdJ5yE4gOJuRAHNdqB9JFeRfFfaOu5x8Rw==", + "requires": { + "chromium-pickle-js": "^0.2.0", + "commander": "^2.20.0", + "cuint": "^0.2.2", + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "tmp-promise": "^1.0.5" + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "atomic-batcher": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/atomic-batcher/-/atomic-batcher-1.0.2.tgz", + "integrity": "sha1-0WkB0QzOxZUWwZe5zNiTBom4E7Q=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz", + "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=" + }, + "bencode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bencode/-/bencode-1.0.0.tgz", + "integrity": "sha512-N+VOSP5MkoX+xgnp6Y056iCY5TmCZg9rgPNPQe0bIiXchxYFP4vs/Tf0dTdQ+qQhP7HM2gvfFq+sUVjQsGy5Zw==", + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "bindings-noderify-nodejs-mobile": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/bindings-noderify-nodejs-mobile/-/bindings-noderify-nodejs-mobile-10.5.0.tgz", + "integrity": "sha512-8mtLAYnUYJbyyxGosKZuPcbs7/hJkE/dvrYQdRdzwipkE4YmyPgslFJFZQn7mt0GL1JjsrIZhKwNgFbacnn0uA==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bitfield-rle": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bitfield-rle/-/bitfield-rle-2.2.1.tgz", + "integrity": "sha512-wrDhHe7LUkqaytxgbsFXoemzHRv6e8FrVNWWsQCgUfmuVYW6ke44hoGc9VdpjgfIsJ/ejmCFA8wDtDqACNAvyw==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "varint": "^4.0.0" + } + }, + "bittorrent-dht": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-7.10.0.tgz", + "integrity": "sha512-fvb6M58Ceiv/S94nu6zeaiMoJvUYOeIqRbgaClm+kJTzCAqJPtAR/31pXNYB5iEReOoKqQB5zY33gY0W6ZRWQQ==", + "requires": { + "bencode": "^1.0.0", + "buffer-equals": "^1.0.3", + "debug": "^3.1.0", + "inherits": "^2.0.1", + "k-bucket": "^3.3.0", + "k-rpc": "^4.2.1", + "lru": "^3.1.0", + "randombytes": "^2.0.5", + "safe-buffer": "^5.0.1", + "simple-sha1": "^2.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "bkd-tree": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bkd-tree/-/bkd-tree-1.2.1.tgz", + "integrity": "sha512-wKoi2P32ATqOVyFLCrqv2l1KCy/mjt6GgOULAT8WO3sqrCT4AlNJu7vfFyTMZZffvMyfXNPSUJm8wYBADFPdZQ==", + "requires": { + "bounding-box-overlap-test": "^1.0.0", + "once": "^1.4.0", + "pull-stream": "^3.6.8" + } + }, + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "blake2b": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.3.tgz", + "integrity": "sha512-pkDss4xFVbMb4270aCyGD3qLv92314Et+FsKzilCLxDz5DuZ2/1g3w4nmBbu6nKApPspnjG7JcwTjGZnduB1yg==", + "requires": { + "blake2b-wasm": "^1.1.0", + "nanoassert": "^1.0.0" + } + }, + "blake2b-wasm": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-1.1.7.tgz", + "integrity": "sha512-oFIHvXhlz/DUgF0kq5B1CqxIDjIJwh9iDeUUGQUcvgiGz7Wdw03McEO7CfLBy7QKGdsydcMCgO9jFNBAFCtFcA==", + "requires": { + "nanoassert": "^1.0.0" + } + }, + "blob-store-replication-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/blob-store-replication-stream/-/blob-store-replication-stream-1.3.3.tgz", + "integrity": "sha512-LWPcDTMzgPcBqhEnRMFWFIgXEZnyP05aSyl3Q2mHwKSLFjWqGtgrQaUDmUXHyRllzeiwWAngSD0Tv+lRQw8CBg==", + "requires": { + "abstract-blob-store": "^3.3.4", + "collect-stream": "^1.2.1", + "debug": "^3.1.0", + "duplexify": "^3.5.1", + "length-prefixed-stream": "^1.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "bops": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.6.tgz", + "integrity": "sha1-CC0dVfoB5g29wuvC26N/ZZVUzzo=", + "requires": { + "base64-js": "0.0.2", + "to-utf8": "0.0.1" + } + }, + "bounding-box-overlap-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bounding-box-overlap-test/-/bounding-box-overlap-test-1.0.0.tgz", + "integrity": "sha1-+oo2czSV6FUMwHbZHpmaf6yGqfA=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-equals": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/buffer-equals/-/buffer-equals-1.0.4.tgz", + "integrity": "sha1-A1O1T9B/2VZBcGca5vZrnPENJ/U=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "bulk-write-stream": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-1.1.4.tgz", + "integrity": "sha512-GtKwd/4etuk1hNeprXoESBO1RSeRYJMXKf+O0qHmWdUomLT8ysNEfX/4bZFXr3BK6eukpHiEnhY2uMtEHDM2ng==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.1.4" + } + }, + "byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" + }, + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", + "dev": true + }, + "charset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", + "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==" + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "chrome-dgram": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/chrome-dgram/-/chrome-dgram-3.0.4.tgz", + "integrity": "sha512-G8rOANSvSRC4hGny/K/ec1gXtNuZGzryFeoev49u0J4g/qws7H25vMKQlbD9izuedFVHwXFTdKQG62Tf/7Cmwg==", + "requires": { + "inherits": "^2.0.1", + "run-series": "^1.1.2" + } + }, + "chrome-dns": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chrome-dns/-/chrome-dns-1.0.1.tgz", + "integrity": "sha512-HqsYJgIc8ljJJOqOzLphjAs79EUuWSX3nzZi2LNkzlw3GIzAeZbaSektC8iT/tKvLqZq8yl1GJu5o6doA4TRbg==", + "requires": { + "chrome-net": "^3.3.2" + } + }, + "chrome-net": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/chrome-net/-/chrome-net-3.3.3.tgz", + "integrity": "sha512-11jL8+Ogna8M5TEdyalE8IG6cpaFEU3YcaxAj3YjZKjRM/PeT70pZbrUY+xoGwqiEJZwJE4Td2CvGxUvS9ytKQ==", + "requires": { + "inherits": "^2.0.1" + } + }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=" + }, + "circular-append-file": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/circular-append-file/-/circular-append-file-1.0.1.tgz", + "integrity": "sha512-BUDFvrBTCdeVhg9E05PX4XgMegk6xWB69uGwyuATEg7PMfa9lGU1mzFSK0xWNW2O0i9CAQHN0oIdXI/kI2hPkg==", + "requires": { + "multistream": "^2.1.0" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "codecs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/codecs/-/codecs-2.0.0.tgz", + "integrity": "sha512-WXvpJRAgc693oqYvZte9uYEiL5YHtfrxyEq12uVny9oBJ1k37zSva5vVz7trsnt6R9Y15hEgOSC7VFZT2pfYnA==" + }, + "collect-stream": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/collect-stream/-/collect-stream-1.2.1.tgz", + "integrity": "sha1-gptBdGQxseJ+AebNPQrBY8IqHKc=", + "requires": { + "concat-stream": "^1.2.0", + "once": "^1.3.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "comparable-storable-types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/comparable-storable-types/-/comparable-storable-types-1.0.0.tgz", + "integrity": "sha1-EgkFmpzsz26ZSQ+KT6L/Vth8E3s=", + "requires": { + "almost-equal": "^1.0.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connections": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/connections/-/connections-1.4.2.tgz", + "integrity": "sha1-eJBIK/XHGvbFyhkr4xNq7XRCiq0=" + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "count-trailing-zeros": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/count-trailing-zeros/-/count-trailing-zeros-1.0.1.tgz", + "integrity": "sha1-q6bFgzvkENRbHso+bVg4RM5oLHc=" + }, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=" + }, + "d64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d64/-/d64-1.0.0.tgz", + "integrity": "sha1-QAKofoUMv8n52XBrYPymE6MzbpA=" + }, + "dat-swarm-defaults": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dat-swarm-defaults/-/dat-swarm-defaults-1.0.2.tgz", + "integrity": "sha512-gz9RuhUxq3coYBrelzuFXCNyC579aO3Bm1Wlwa12/9tJr1NP0AAGxpHJYA1HZvt8X7ZdrtMzpFyNvs2Y9PFG6w==" + }, + "dbf": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/dbf/-/dbf-0.1.4.tgz", + "integrity": "sha1-Fi8Nj9HbN8l2RYrG/m9VtIxy9GY=", + "requires": { + "jdataview": "~2.5.0" + } + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "requires": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "defined": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", + "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=" + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "dependencies": { + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "discovery-channel": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.5.1.tgz", + "integrity": "sha512-EEmZQFE0PiOsJj7G3KVCwFGbYs4QchUvzA91iHtZ6HfkIqfBEDSTGLygJrUlY1Tr77WDV+qZVrZuNghHxSL/vw==", + "requires": { + "bittorrent-dht": "^7.10.0", + "buffer-from": "^1.0.0", + "debug": "^2.6.9", + "dns-discovery": "^6.0.1", + "pretty-hash": "^1.0.1", + "thunky": "^0.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "thunky": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz", + "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=" + } + } + }, + "discovery-swarm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/discovery-swarm/-/discovery-swarm-6.0.0.tgz", + "integrity": "sha512-ByfwygfLCB4umpSBVz9tGxgmng1D3YWg6A80cip8dgdpC5dRyGsL5w6KoC9srQ15xydKtYPgcxUC2YtSzPCtHA==", + "requires": { + "connections": "^1.4.2", + "debug": "^4.1.1", + "discovery-channel": "^5.5.1", + "length-prefixed-message": "^3.0.3", + "pump": "^3.0.0", + "to-buffer": "^1.0.1", + "utp-native": "^2.1.3" + } + }, + "dns-discovery": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/dns-discovery/-/dns-discovery-6.2.3.tgz", + "integrity": "sha512-ZULG1R5J9QHZfaXo5XFGVG22LIcnZorbEa7f83FYgCGDaQrVfyVmty3Z89OvBLpCPetwW+LzjCcT60ekhbQ+9g==", + "requires": { + "circular-append-file": "^1.0.1", + "debug": "^2.6.9", + "dns-socket": "^3.0.0", + "lru": "^2.0.0", + "minimist": "^1.2.0", + "multicast-dns": "^7.1.1", + "network-address": "^1.1.2", + "pump": "^3.0.0", + "speedometer": "^1.0.0", + "unordered-set": "^1.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "lru": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lru/-/lru-2.0.1.tgz", + "integrity": "sha1-+XmHHhYuP1yiVL5GhExT1MU2RUQ=", + "requires": { + "inherits": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "unordered-set": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-1.1.0.tgz", + "integrity": "sha1-K6fvMW7dC5WQzFR8dPdqLxZP7Mo=" + } + } + }, + "dns-packet": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz", + "integrity": "sha512-bn1AKpfkFbm0MIioOMHZ5qJzl2uypdBwI4nYNsqvhjsegBhcKJUlCrMPWLx6JEezRjxZmxhtIz/FkBEur2l8Cw==", + "requires": { + "ip": "^1.1.5", + "safe-buffer": "^5.1.1" + } + }, + "dns-socket": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dns-socket/-/dns-socket-3.0.0.tgz", + "integrity": "sha512-M0WkByoJ/mTm+HtwBQLsRJPe5uGIC/lYVOp+s6ZzhbZ5iq4GxjFyxYPQhB85dgCLvVb43aJQXHDC9aUgyKGc/Q==", + "requires": { + "dns-packet": "^4.1.0" + } + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "duplexify": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", + "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "ecstatic": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-4.1.2.tgz", + "integrity": "sha512-lnrAOpU2f7Ra8dm1pW0D1ucyUxQIEk8RjFrvROg1YqCV0ueVu9hzgiSEbSyROqXDDiHREdqC4w3AwOTb23P4UQ==", + "requires": { + "charset": "^1.0.1", + "he": "^1.1.1", + "mime": "^2.4.1", + "minimist": "^1.1.0", + "on-finished": "^2.3.0", + "url-join": "^4.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "requires": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "~1.0.1" + } + }, + "error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "requires": { + "string-template": "~0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fast-bitfield": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/fast-bitfield/-/fast-bitfield-1.2.2.tgz", + "integrity": "sha512-t8HYqkuE3YEqNcyWlAfh55479aTxO+GpYwvQvJppYqyBfSmRdNIhzY2m09FKN/MENTzq4wH6heHOIvsPyMAwvQ==", + "requires": { + "count-trailing-zeros": "^1.0.1" + } + }, + "fd-lock": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fd-lock/-/fd-lock-1.0.2.tgz", + "integrity": "sha512-8O4zSv6rlNNghVfzVkj/p7LUIeBm7Xxk6QnhfmR1WJm/W4kwS8IyShy4X1peRnFUYZUYLlcwEMKXF8QWxJCMvg==", + "optional": true, + "requires": { + "napi-macros": "^1.8.2", + "node-gyp-build": "^3.8.0" + }, + "dependencies": { + "node-gyp-build": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz", + "integrity": "sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==", + "optional": true + } + } + }, + "file-saver": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.0.tgz", + "integrity": "sha512-cYM1ic5DAkg25pHKgi5f10ziAM7RJU37gaH1XQlyNDrtUnzhC/dfoV9zf2OmF0RMKi42jG5B0JWBnPQqyj/G6g==" + }, + "file-source": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/file-source/-/file-source-0.6.1.tgz", + "integrity": "sha1-rhidSZN2a4Zad/g63Pm5pQTNN9w=", + "requires": { + "stream-source": "0.3" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "flat-tree": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/flat-tree/-/flat-tree-1.6.0.tgz", + "integrity": "sha1-/KMM3bkAb7ZW6168ea6ydOf96e0=" + }, + "folder-walker": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/folder-walker/-/folder-walker-3.2.0.tgz", + "integrity": "sha512-VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==", + "requires": { + "from2": "^2.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "from2-array": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", + "integrity": "sha1-6vwWtl9uJxm81X/cGGkAWsEzLNY=", + "requires": { + "from2": "^2.0.3" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "geojson-area": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/geojson-area/-/geojson-area-0.1.0.tgz", + "integrity": "sha1-1I2AcILPrfSnjfE0m+UPOL8YlK4=", + "requires": { + "wgs84": "0.0.0" + } + }, + "geojson-dissolve": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/geojson-dissolve/-/geojson-dissolve-3.1.0.tgz", + "integrity": "sha1-hoIycWgKGjgfPnLwJki7zHEOzaE=", + "requires": { + "@turf/meta": "^3.7.5", + "geojson-flatten": "^0.2.1", + "geojson-linestring-dissolve": "0.0.1", + "topojson-client": "^3.0.0", + "topojson-server": "^3.0.0" + } + }, + "geojson-flatten": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/geojson-flatten/-/geojson-flatten-0.2.4.tgz", + "integrity": "sha512-LiX6Jmot8adiIdZ/fthbcKKPOfWjTQchX/ggHnwMZ2e4b0I243N1ANUos0LvnzepTEsj0+D4fIJ5bKhBrWnAHA==", + "requires": { + "get-stdin": "^6.0.0", + "minimist": "1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "geojson-linestring-dissolve": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/geojson-linestring-dissolve/-/geojson-linestring-dissolve-0.0.1.tgz", + "integrity": "sha1-CKuM3zhukZ01oOs4+hxVDgIIONs=" + }, + "geojson-polygons-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/geojson-polygons-equal/-/geojson-polygons-equal-0.0.1.tgz", + "integrity": "sha1-YgtGF18nOEakbXkGyVcjf7v3uyo=" + }, + "geojson-rewind": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/geojson-rewind/-/geojson-rewind-0.2.0.tgz", + "integrity": "sha1-6lWOnkT/A7hlXQoIt1B43DOhXnk=", + "requires": { + "concat-stream": "~1.2.1", + "geojson-area": "0.1.0", + "minimist": "0.0.5" + }, + "dependencies": { + "concat-stream": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.2.1.tgz", + "integrity": "sha1-81EAtsRjeL+6i2uA+fDQzN8T3GA=", + "requires": { + "bops": "0.0.6" + } + }, + "minimist": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", + "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=" + } + } + }, + "geojson-validation": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/geojson-validation/-/geojson-validation-0.2.1.tgz", + "integrity": "sha512-vcWNJ0HKF4XN5GjyCnDImeuVFwI20iBrbMYaTeS7KJqjN+UjULpi8wbRBp+8UCiy9ofetKhxKC9rH/9RdFiaJQ==" + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "gtran-shapefile": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/gtran-shapefile/-/gtran-shapefile-1.1.4.tgz", + "integrity": "sha512-iDdShv24OaTAR3JQCA2kKUVVK8gDQEdjXc/b/26Ybyx24+fVGYCITxm+3m50XArKVMgP/cSBV/NdP7LNAyij2g==", + "requires": { + "shapefile": "^0.6.6", + "shp-write": "^0.3.2" + }, + "dependencies": { + "jszip": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.5.0.tgz", + "integrity": "sha1-dET9hVHd8+XacZj+oMkbyDCMwnQ=", + "requires": { + "pako": "~0.2.5" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "shp-write": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/shp-write/-/shp-write-0.3.2.tgz", + "integrity": "sha1-ysPoS8/clTxPwnOhsvKEPW249p0=", + "requires": { + "dbf": "0.1.4", + "jszip": "2.5.0" + } + } + } + }, + "handshake-stream": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/handshake-stream/-/handshake-stream-3.0.5.tgz", + "integrity": "sha512-bUsBevrSKSdWwXE2VL3qt5Z/Vuf0a+q7Pcum7K5ZhekYO1mPgRgsrhliypGULNGEBauKXmAHouM/1dxTKfTtGA==", + "requires": { + "debug": "^4.1.1", + "duplexify": "^3.6.1" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hypercore": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-7.7.1.tgz", + "integrity": "sha512-boEiPCK848pNGACW1j111tJApu530e/UPpwbHytJZlrVf3YdgUIP1KL3aSi5xJFLUnuO8GLGl4lIsSeH8TaQQA==", + "requires": { + "array-lru": "^1.1.0", + "atomic-batcher": "^1.0.2", + "bitfield-rle": "^2.2.1", + "bulk-write-stream": "^1.1.3", + "codecs": "^2.0.0", + "fast-bitfield": "^1.2.2", + "fd-lock": "^1.0.2", + "flat-tree": "^1.6.0", + "from2": "^2.3.0", + "hypercore-crypto": "^1.0.0", + "hypercore-protocol": "^6.5.0", + "inherits": "^2.0.3", + "inspect-custom-symbol": "^1.1.0", + "last-one-wins": "^1.0.4", + "memory-pager": "^1.0.2", + "merkle-tree-stream": "^3.0.3", + "nanoguard": "^1.2.0", + "pretty-hash": "^1.0.1", + "random-access-file": "^2.1.0", + "sodium-universal": "^2.0.0", + "sparse-bitfield": "^3.0.0", + "thunky": "^1.0.1", + "uint64be": "^2.0.1", + "unordered-array-remove": "^1.0.2", + "unordered-set": "^2.0.0" + } + }, + "hypercore-crypto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-1.0.0.tgz", + "integrity": "sha512-xFwOnNlOt8L+SovC7dTNchKaNYJb5l8rKZZwpWQnCme1r7CU4Hlhp1RDqPES6b0OpS7DkTo9iU0GltQGkpsjMw==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-from": "^1.1.0", + "sodium-universal": "^2.0.0", + "uint64be": "^2.0.2" + } + }, + "hypercore-protocol": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.12.0.tgz", + "integrity": "sha512-T3oy9/7QFejqJX2RGcCUU1944e5/eKbLlSz9JPTNN1QbYFJgat/r7eTyOO8SMSLUimUmQx6YBMKhgYbdKzp7Bw==", + "requires": { + "buffer-alloc-unsafe": "^1.0.0", + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "protocol-buffers-encodings": "^1.1.0", + "readable-stream": "^2.2.6", + "sodium-universal": "^2.0.0", + "sorted-indexof": "^1.0.0", + "varint": "^5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indexed-tarball": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/indexed-tarball/-/indexed-tarball-3.1.5.tgz", + "integrity": "sha512-3ocbaaGnBQgDUi9Go2u2Z9bm8RqUJivOGICW8kURZuMGPcxSPAKXfdLkeUlz4IxgChsMnOL4klpJXpt/HMVnDg==", + "requires": { + "pump": "^3.0.0", + "read-only-stream": "^2.0.0", + "rwlock": "^5.0.0", + "tar-stream": "^1.6.1", + "through2": "^2.0.3", + "tmp": "0.0.33" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "indexed-tarball-blob-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/indexed-tarball-blob-store/-/indexed-tarball-blob-store-1.2.0.tgz", + "integrity": "sha512-rtiZBCn/+xCx2AqLJrjzllcqFbbv5wnes5O1S5DDeFQ9XvU3CYXtyRUle9Kk9atjKoic0Bj5QMMeFPPqVpHaog==", + "requires": { + "indexed-tarball": "^2.1.0" + }, + "dependencies": { + "indexed-tarball": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indexed-tarball/-/indexed-tarball-2.1.0.tgz", + "integrity": "sha512-yqZNeMHHe2c4q8QEJrz8c+TouXjoykFrwEe7SVzP6uRFj1gxAvcpjZ/nQrA0wC1OVD8qCHtaWMWKnxeK8CHFjQ==", + "requires": { + "collect-stream": "^1.2.1", + "end-of-stream": "^1.4.1", + "pump": "^3.0.0", + "read-only-stream": "^2.0.0", + "rwlock": "^5.0.0", + "tar-stream": "^1.6.1", + "through2": "^2.0.3", + "tmp": "0.0.33" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "inspect-custom-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/inspect-custom-symbol/-/inspect-custom-symbol-1.1.1.tgz", + "integrity": "sha512-GOucsp9EcdlLdhPUyOTvQDnbFJtp2WBWZV1Jqe+mVnkJQBL3w96+fB84C+JL+EKXOspMdB0eMDQPDp5w9fkfZA==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-options/-/is-options-1.0.1.tgz", + "integrity": "sha512-2Xj8sA0zDrAcaoWfBiNmc6VPWAgKDpim0T3J9Djq7vbm1UjwbUWzeuLu/FwC46g3cBbAn0E5R0xwVtOobM6Xxg==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "iserror": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", + "integrity": "sha1-vVNFH+L2aLnyQCwZZnh6qix8C/U=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "jdataview": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/jdataview/-/jdataview-2.5.0.tgz", + "integrity": "sha1-MIGz/qZR+TF+xr1P6y3cmKpB1ZU=" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "jszip": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", + "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", + "requires": { + "core-js": "~2.3.0", + "es6-promise": "~3.0.2", + "lie": "~3.1.0", + "pako": "~1.0.2", + "readable-stream": "~2.0.6" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "k-bucket": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-3.3.1.tgz", + "integrity": "sha512-kgwWqYT79rAahn4maIVTP8dIe+m1KulufWW+f1bB9DlZrRFiGpZ4iJOg2HUp4xJYBWONP3+rOPIWF/RXABU6mw==", + "requires": { + "buffer-equals": "^1.0.3", + "inherits": "^2.0.1", + "randombytes": "^2.0.3" + } + }, + "k-rpc": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/k-rpc/-/k-rpc-4.3.1.tgz", + "integrity": "sha512-mgAJZeFYbpP0xzJzmS0TQTYoFI0sjy3GnKFhg8wyboL+KvWg2WLaA2Oy9PthLPx2Rxz4WeBMk4y3MSOrDJ95FA==", + "requires": { + "buffer-equals": "^1.0.3", + "k-bucket": "^4.0.0", + "k-rpc-socket": "^1.7.2", + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "k-bucket": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.1.tgz", + "integrity": "sha512-YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==", + "requires": { + "inherits": "^2.0.1", + "randombytes": "^2.0.3" + } + } + } + }, + "k-rpc-socket": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.11.1.tgz", + "integrity": "sha512-8xtA8oqbZ6v1Niryp2/g4GxW16EQh5MvrUylQoOG+zcrDff5CKttON2XUXvMwlIHq4/2zfPVFiinAccJ+WhxoA==", + "requires": { + "bencode": "^2.0.0", + "chrome-dgram": "^3.0.2", + "chrome-dns": "^1.0.0", + "chrome-net": "^3.3.2" + }, + "dependencies": { + "bencode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bencode/-/bencode-2.0.1.tgz", + "integrity": "sha512-2uhEl8FdjSBUyb69qDTgOEeeqDTa+n3yMQzLW0cOzNf1Ow5bwcg3idf+qsWisIKRH8Bk8oC7UXL8irRcPA8ZEQ==", + "requires": { + "safe-buffer": "^5.1.1" + } + } + } + }, + "kappa-core": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/kappa-core/-/kappa-core-4.0.1.tgz", + "integrity": "sha512-WCGE1SIP+Yv1msPJvEdlyKE67yGOLhVWCRRGwnYD/RR+3HfRXzHHCSLEb9HVKapDuVixqYMrpWc7fEBOAPOdOg==", + "requires": { + "hypercore": "^7.4.0", + "inherits": "^2.0.4", + "multifeed": "^4.0.0", + "multifeed-index": "^3.3.2" + } + }, + "kappa-osm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/kappa-osm/-/kappa-osm-3.1.0.tgz", + "integrity": "sha512-eBlwDaYu8N2mgGHUM866MiVW103UuZKiQeC581fxEWRc63+Hbf2tDZV2gwdsmAVmJ6wGlgv+qqBIZju/LCAWtw==", + "requires": { + "collect-stream": "^1.2.1", + "comparable-storable-types": "^1.0.0", + "d64": "^1.0.0", + "deepmerge": "^4.1.1", + "duplexify": "^4.1.1", + "kappa-view": "^3.0.0", + "once": "^1.4.0", + "pull-stream-to-stream": "^1.3.4", + "pump": "^3.0.0", + "pumpify": "^2.0.1", + "randombytes": "^2.1.0", + "read-only-stream": "^2.0.0", + "subleveldown": "^4.1.4", + "through2": "^3.0.1", + "to-buffer": "^1.1.0", + "uniq": "^1.0.1", + "unordered-materialized-backrefs": "^1.0.1", + "unordered-materialized-bkd": "^1.1.1", + "unordered-materialized-kv": "^1.2.0", + "varint": "^5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "kappa-view": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/kappa-view/-/kappa-view-3.1.0.tgz", + "integrity": "sha512-3VrSiqoBm5DXTMIoYp4XYF+gcnlxf1NGfG8c9fRlR5pt8dDvN8DD7n5x0wkVz7k9Aoperbe/Pcq3OQ/IIx1FVQ==", + "requires": { + "pump": "^3.0.0", + "readable-stream": "^3.4.0", + "subleveldown": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "last-one-wins": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/last-one-wins/-/last-one-wins-1.0.4.tgz", + "integrity": "sha1-wb/Qy8tGeQ7JFWuNGu6Py4bNoio=" + }, + "length-prefixed-message": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/length-prefixed-message/-/length-prefixed-message-3.0.4.tgz", + "integrity": "sha512-Tqyx4nggb9nkLD6p4hyIz7UiVNg5u3OnCP2h0hS/HXpheH88rsoNEgNB8xTnpPMw6zWXGZ7Cpg1zhWPlsJ0/TQ==", + "requires": { + "varint": "^3.0.1" + }, + "dependencies": { + "varint": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/varint/-/varint-3.0.1.tgz", + "integrity": "sha1-nT9T4DbAqxIACnS8LSTL8JOlgdk=" + } + } + }, + "length-prefixed-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/length-prefixed-stream/-/length-prefixed-stream-1.6.0.tgz", + "integrity": "sha512-gsJvrb5giDqil/ScQ7fEoplsI2Ch4DwnvnfTW2EGl9KBW6Ekzn8JSNESObqNAeZD8HkSjEMvc5XjhuB66fsSZQ==", + "requires": { + "buffer-alloc-unsafe": "^1.0.0", + "readable-stream": "^2.0.0", + "varint": "^5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "level": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level/-/level-5.0.1.tgz", + "integrity": "sha512-wcak5OQeA4rURGacqS62R/xNHjCYnJSQDBOlm4KNUGJVE9bWv2B04TclqReYejN+oD65PzD4FsqeWoI5wNC5Lg==", + "requires": { + "level-js": "^4.0.0", + "level-packager": "^5.0.0", + "leveldown": "^5.0.0", + "opencollective-postinstall": "^2.0.0" + } + }, + "level-codec": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.1.tgz", + "integrity": "sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==" + }, + "level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "level-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-4.0.2.tgz", + "integrity": "sha512-PeGjZsyMG4O89KHiez1zoMJxStnkM+oBIqgACjoo5PJqFiSUUm3GNod/KcbqN5ktyZa8jkG7I1T0P2u6HN9lIg==", + "requires": { + "abstract-leveldown": "~6.0.1", + "immediate": "~3.2.3", + "inherits": "^2.0.3", + "ltgt": "^2.1.2", + "typedarray-to-buffer": "~3.1.5" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz", + "integrity": "sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==", + "requires": { + "level-concat-iterator": "~2.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "level-option-wrap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/level-option-wrap/-/level-option-wrap-1.1.0.tgz", + "integrity": "sha1-rSDmjZ88IsiJdTHMaqevWWse0Sk=", + "requires": { + "defined": "~0.0.0" + } + }, + "level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "requires": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "requires": { + "xtend": "^4.0.2" + } + }, + "leveldown": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.4.1.tgz", + "integrity": "sha512-3lMPc7eU3yj5g+qF1qlALInzIYnkySIosR1AsUKFjL9D8fYbTLuENBAeDRZXIG4qeWOAyqRItOoLu2v2avWiMA==", + "requires": { + "abstract-leveldown": "~6.2.1", + "napi-macros": "~2.0.0", + "node-gyp-build": "~4.1.0" + }, + "dependencies": { + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "node-gyp-build": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz", + "integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==" + } + } + }, + "levelup": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.3.2.tgz", + "integrity": "sha512-cRTjU4ktWo59wf13PHEiOayHC3n0dOh4i5+FHr4tv4MX9+l7mqETicNq3Aj07HKlLdk0z5muVoDL2RD+ovgiyA==", + "requires": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "requires": { + "immediate": "~3.0.5" + }, + "dependencies": { + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + } + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lru": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lru/-/lru-3.1.0.tgz", + "integrity": "sha1-6n+4VG2DczOWoTCR12z+tMBoN9U=", + "requires": { + "inherits": "^2.0.1" + } + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + }, + "ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "requires": { + "wrappy": "1" + } + } + } + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "mapeo-default-settings": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mapeo-default-settings/-/mapeo-default-settings-2.1.0.tgz", + "integrity": "sha512-jn1iN+shpoceD+Sgs3xnaGpWmT4bFomhRftdWrX0HaVslfYpzk/6A5GDZiH83xuZhsbwWktsAEjrkjNq8A3ogg==" + }, + "mapeo-server": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/mapeo-server/-/mapeo-server-17.0.1.tgz", + "integrity": "sha512-wToPn++uIVIhYWxflKq1e5437W/Jm2CFsfGLVF/ByRz4jSD3HXof6mjb/AHGS4G7HbZQO3HCHh11sLJgqHK9yw==", + "requires": { + "@mapeo/core": "^8.1.2", + "asar": "^2.0.1", + "body": "^5.1.0", + "debounce": "^1.2.0", + "debug": "^4.1.0", + "ecstatic": "^4.1.2", + "inherits": "^2.0.3", + "mime": "^2.4.2", + "randombytes": "^2.0.6", + "routes": "^2.1.0", + "statuses": "^1.5.0", + "xtend": "^4.0.1" + } + }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" + }, + "merkle-tree-stream": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merkle-tree-stream/-/merkle-tree-stream-3.0.3.tgz", + "integrity": "sha1-+KBkdg0355eK1fn208EZpJT1cIE=", + "requires": { + "flat-tree": "^1.3.0", + "readable-stream": "^2.0.5" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "module-deps": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.1.0.tgz", + "integrity": "sha512-NPs5N511VD1rrVJihSso/LiBShRbJALYBKzDW91uZYy7BpjnO4bGnZL3HjZ9yKcFdZUWwaYjDz9zxbuP7vKMuQ==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.0", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.0.2", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.0.tgz", + "integrity": "sha512-Tu2QORGOFANB124NWQ/JTRhMf/ODouVLEuvu5Dz8YWEU55zQgRgFGnBHfIh5PbfNDAuaRl7yLB+pgWhSqVxi2Q==", + "requires": { + "dns-packet": "^4.0.0", + "thunky": "^1.0.2" + } + }, + "multifeed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/multifeed/-/multifeed-4.2.2.tgz", + "integrity": "sha512-1ABuEirPtY/yqUifF8OXts6+DV6+yYB0jj0a/9wJLsk3YKpNBAzllMlTVw4w8dR+ZK1c7WZpAxtL6L990j0xXg==", + "requires": { + "debug": "^4.1.0", + "hypercore-protocol": "^6.8.0", + "inherits": "^2.0.3", + "mutexify": "^1.2.0", + "random-access-file": "^2.0.1", + "random-access-memory": "^3.1.1", + "through2": "^3.0.0" + } + }, + "multifeed-index": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/multifeed-index/-/multifeed-index-3.3.3.tgz", + "integrity": "sha512-vWL+8EpwVtDpCGAZWo0Sg17GtGEWFT9cUhxUHCbCPM0RZVrzuUHfmwQ7kzSx6W9gd0kl9xWYEJSifYu2xHpoxg==", + "requires": { + "inherits": "^2.0.3" + } + }, + "multiplex": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/multiplex/-/multiplex-6.7.0.tgz", + "integrity": "sha1-/3Pk5AB5FwxEQtFgllZY+N75YMI=", + "requires": { + "duplexify": "^3.4.2", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2", + "varint": "^4.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, + "multistream": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/multistream/-/multistream-2.1.1.tgz", + "integrity": "sha512-xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.5" + } + }, + "mutexify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.2.0.tgz", + "integrity": "sha512-oprzxd2zhfrJqEuB98qc1dRMMonClBQ57UPDjnbcrah4orEMTq1jq3+AcdFe5ePzdbJXI7zmdhfftIdMnhYFoQ==" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true + }, + "nanoassert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz", + "integrity": "sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40=" + }, + "nanoguard": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/nanoguard/-/nanoguard-1.2.2.tgz", + "integrity": "sha512-IMVIZkHP7Ep01foXurcJR59Hj/0yyApNK3JWpVHq2QVdLgo8wGU/ZsodlpL7jJ/m24+lxT0eyavrLCEuYQK2fg==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "napi-macros": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-1.8.2.tgz", + "integrity": "sha512-Tr0DNY4RzTaBG2W2m3l7ZtFuJChTH6VZhXVhkGGjF/4cZTt+i8GcM9ozD+30Lmr4mDoZ5Xx34t2o4GJqYWDGcg==", + "optional": true + }, + "network-address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/network-address/-/network-address-1.1.2.tgz", + "integrity": "sha1-Sqe/1D8D8LgclwKxPWqFjdsybz4=" + }, + "node-gyp-build": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.0.tgz", + "integrity": "sha512-4oiumOLhCDU9Rronz8PZ5S4IvT39H5+JEv/hps9V8s7RSLhsac0TCP78ulnHXOo8X1wdpPiTayGlM1jr4IbnaQ==" + }, + "noderify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/noderify/-/noderify-4.3.0.tgz", + "integrity": "sha512-382A9HWr6s5FcvnRILE8aG3PAtkZIIiugfgWvc4eQNVUmcWu5wQ5ollKgT0leHndjedZeWrN2G1X4lfBCeFtyA==", + "dev": true, + "requires": { + "minimist": "^1.1.2", + "module-deps": "~6.1.0", + "rc": "^1.1.6", + "resolve": "~1.7.1", + "sort-stream": "^1.0.1", + "through2": "~2.0.3" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osm-p2p": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/osm-p2p/-/osm-p2p-5.1.0.tgz", + "integrity": "sha512-Xhzp5CkM/K/aG6gheTmchca9doJ3JjqK1FyUBKAiQ6W2aWgJnJ6qNHr3CF7n/oZH+RONoJSg5Ne9VHdbZLTrow==", + "requires": { + "kappa-core": "^4.0.0", + "kappa-osm": "^3.0.0", + "level": "^5.0.0", + "mkdirp": "^0.5.1", + "once": "^1.3.3", + "random-access-file": "^2.1.0" + } + }, + "osm-p2p-geojson": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/osm-p2p-geojson/-/osm-p2p-geojson-4.0.7.tgz", + "integrity": "sha512-T1tuIYAwSIvHJJ975B/RZz86rP8hYh3EJC78XHFGSsYL/iEmZCAYSHIwJP+AsWl32ziCtIbHe3RV2o6wna6+JQ==", + "requires": { + "JSONStream": "^1.1.4", + "clone": "^2.1.1", + "collect-stream": "^1.1.1", + "from2": "^2.3.0", + "geojson-dissolve": "^3.1.0", + "geojson-polygons-equal": "0.0.1", + "geojson-rewind": "^0.2.0", + "geojson-validation": "^0.2.1", + "inherits": "^2.0.3", + "map-limit": "0.0.1", + "once": "^1.3.3", + "osm-polygon-features": "^0.9.1", + "pump": "^1.0.1", + "pumpify": "^1.3.5", + "randombytes": "^2.0.6", + "read-only-stream": "^2.0.0", + "through2": "^2.0.1", + "xtend": "^4.0.1" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "osm-p2p-syncfile": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/osm-p2p-syncfile/-/osm-p2p-syncfile-4.1.1.tgz", + "integrity": "sha512-Bvx1dkXNFzsEe8snjHSqSynoItm30bAWmJs/OoicGdbq2VU3hD4VWv/dLbNyuiGTpC9qOKs6dQRpLiXhU082+w==", + "requires": { + "blob-store-replication-stream": "^1.3.3", + "debug": "^3.1.0", + "hypercore": "^6.25.2", + "indexed-tarball": "^3.1.3", + "indexed-tarball-blob-store": "^1.1.0", + "mkdirp": "^0.5.1", + "multifeed": "4.1.10", + "once": "^1.4.0", + "osm-p2p": "^5.0.0", + "readdirp": "^2.1.0", + "rimraf": "^2.6.2", + "safe-fs-blob-store": "^1.0.3", + "tar-stream": "^1.6.1", + "through2": "^2.0.3" + }, + "dependencies": { + "codecs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/codecs/-/codecs-1.2.1.tgz", + "integrity": "sha512-SPnx+ZHXVJ0qTInRXmnxuyu8PDvSzvop5MXp1BOr/urFQI3yL2n5ewE755skTklF/hKVlWj8cinGxdR2gvLvTA==" + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "hypercore": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-6.26.0.tgz", + "integrity": "sha512-su/bucp958SyFWWF5uzeLT05N0k7gTbktvLCo0TaloXWSSs2OiFyj3Ka7v93yaD9u0vBT3i0foPoZnj1yC/dog==", + "requires": { + "array-lru": "^1.1.0", + "atomic-batcher": "^1.0.2", + "bitfield-rle": "^2.2.1", + "buffer-alloc": "^1.2.0", + "buffer-alloc-unsafe": "^1.0.0", + "buffer-from": "^1.0.0", + "bulk-write-stream": "^1.1.3", + "codecs": "^1.2.0", + "fast-bitfield": "^1.2.2", + "fd-lock": "^1.0.2", + "flat-tree": "^1.6.0", + "from2": "^2.3.0", + "hypercore-crypto": "^1.0.0", + "hypercore-protocol": "^6.4.1", + "inherits": "^2.0.3", + "inspect-custom-symbol": "^1.1.0", + "last-one-wins": "^1.0.4", + "memory-pager": "^1.0.2", + "merkle-tree-stream": "^3.0.3", + "pretty-hash": "^1.0.1", + "process-nextick-args": "^1.0.7", + "random-access-file": "^2.1.0", + "sodium-universal": "^2.0.0", + "sparse-bitfield": "^3.0.0", + "thunky": "^1.0.1", + "uint64be": "^2.0.1", + "unordered-array-remove": "^1.0.2", + "unordered-set": "^2.0.0" + } + }, + "multifeed": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/multifeed/-/multifeed-4.1.10.tgz", + "integrity": "sha512-CW3IkzCRte6MLYBe48rcieVTW/4H4IpkYKmJZ88596WMkso0lauY5yPUAwR4GF7YUMeskoD0OpffierT8S1Vdg==", + "requires": { + "debug": "^4.1.0", + "hypercore-protocol": "^6.8.0", + "inherits": "^2.0.3", + "mutexify": "^1.2.0", + "random-access-file": "^2.0.1", + "through2": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "osm-polygon-features": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/osm-polygon-features/-/osm-polygon-features-0.9.2.tgz", + "integrity": "sha1-IK5BEwxIbkmjsqPCtYoUGcSYZ3g=" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "dev": true, + "requires": { + "path-platform": "~0.11.15" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "dev": true + }, + "path-source": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/path-source/-/path-source-0.1.3.tgz", + "integrity": "sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==", + "requires": { + "array-source": "0.0", + "file-source": "0.6" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "pretty-hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pretty-hash/-/pretty-hash-1.0.1.tgz", + "integrity": "sha1-FuBXkYje9WvbVliSvNBaXWUySAc=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "protocol-buffers-encodings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.1.0.tgz", + "integrity": "sha512-SmjEuAf3hc3h3rWZ6V1YaaQw2MNJWK848gLJgzx/sefOJdNLujKinJVXIS0q2cBQpQn2Q32TinawZyDZPzm4kQ==", + "requires": { + "signed-varint": "^2.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pull-stream": { + "version": "3.6.14", + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", + "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" + }, + "pull-stream-to-stream": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz", + "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", + "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", + "requires": { + "duplexify": "^4.1.1", + "inherits": "^2.0.3", + "pump": "^3.0.0" + } + }, + "random-access-file": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/random-access-file/-/random-access-file-2.1.3.tgz", + "integrity": "sha512-AE0Z1ywR5gIkzACMC1lCsR6LP8g4ynNm7oYWYdKPSSU6Y3H+mGDJxBqfcV9B9KstfHNemhfX3nYmx99ZC9f/yg==", + "requires": { + "mkdirp": "^0.5.1", + "random-access-storage": "^1.1.1" + } + }, + "random-access-memory": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/random-access-memory/-/random-access-memory-3.1.1.tgz", + "integrity": "sha512-Qy1MliJDozZ1A6Hx3UbEnm8PPCfkiG/8CArbnhrxXMx1YRJPWipgPTB9qyhn4Z7WlLvCEqPb6Bd98OayyVuwrA==", + "requires": { + "inherits": "^2.0.3", + "is-options": "^1.0.1", + "random-access-storage": "^1.1.1" + } + }, + "random-access-storage": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.4.0.tgz", + "integrity": "sha512-7oszloM/+PdqWp/oFGyL6SeI14liqo8AAisHAZQGkWdHISyAnngKjNPL0JYIazeLxbHPY6oed2yUffowdq/o6A==", + "requires": { + "inherits": "^2.0.3" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "requires": { + "bytes": "1", + "string_decoder": "0.10" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "reachdown": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/reachdown/-/reachdown-1.0.0.tgz", + "integrity": "sha512-Ty7X/t52GwgRam3SMpZC2grmutuUarkiD4sVhjM8g8/5NlX8PAEsYO/pyx6nTTqS9udee1j1BxaAS/f6Rm8SMw==" + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "requires": { + "readable-stream": "^2.0.2" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "routes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/routes/-/routes-2.1.0.tgz", + "integrity": "sha1-R1VxGSpI+ZtsBl3ZJrt16K6D6KI=" + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, + "run-series": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.8.tgz", + "integrity": "sha512-+GztYEPRpIsQoCSraWHDBs9WVy4eVME16zhOtDB4H9J4xN0XRhknnmLOl+4gRgZtu8dpp9N/utSPjKH/xmDzXg==" + }, + "rusha": { + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.13.tgz", + "integrity": "sha1-mghOe4YLF7/zAVuSxnpqM2GRUTo=" + }, + "rwlock": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/rwlock/-/rwlock-5.0.0.tgz", + "integrity": "sha1-iI1qd6M1HMGiCSBO8u4XIgk4Ns8=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-fs-blob-store": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/safe-fs-blob-store/-/safe-fs-blob-store-1.0.6.tgz", + "integrity": "sha512-QA7EtvVCMKX2r0dsQnR2dKK+lS6IKWfp2MiLxXRcujwEwIcl4Ms8jZ9PDWJHQ/cKdKMpnN8SlD1+xyKY3tAWcg==", + "requires": { + "@digidem/atomic-fs-blob-store": "^5.3.0", + "folder-walker": "^3.2.0", + "imurmurhash": "^0.1.4" + } + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "semver": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.2.tgz", + "integrity": "sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shapefile": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/shapefile/-/shapefile-0.6.6.tgz", + "integrity": "sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==", + "requires": { + "array-source": "0.0", + "commander": "2", + "path-source": "0.1", + "slice-source": "0.4", + "stream-source": "0.3", + "text-encoding": "^0.6.4" + } + }, + "signed-varint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", + "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", + "requires": { + "varint": "~5.0.0" + }, + "dependencies": { + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + } + } + }, + "simple-sha1": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/simple-sha1/-/simple-sha1-2.1.2.tgz", + "integrity": "sha512-TQl9rm4rdKAVmhO++sXAb8TNN0D6JAD5iyI1mqEPNpxUzTRrtm4aOG1pDf/5W/qCFihiaoK6uuL9rvQz1x1VKw==", + "requires": { + "rusha": "^0.8.1" + } + }, + "siphash24": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/siphash24/-/siphash24-1.1.1.tgz", + "integrity": "sha512-dKKwjIoTOa587TARYLlBRXq2lkbu5Iz35XrEVWpelhBP1m8r2BGOy1QlaZe84GTFHG/BTucEUd2btnNc8QzIVA==", + "requires": { + "nanoassert": "^1.0.0" + } + }, + "slice-source": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/slice-source/-/slice-source-0.4.1.tgz", + "integrity": "sha1-QKV6wDxmaLXaIA4FN44AC/KmHXk=" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sodium-javascript": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.5.5.tgz", + "integrity": "sha512-UMmCHovws/sxIBZsIRhIl8uRPou/RFDD0vVop81T1hG106NLLgqajKKuHAOtAP6hflnZ0UrVA2VFwddTd/NQyA==", + "requires": { + "blake2b": "^2.1.1", + "nanoassert": "^1.0.0", + "siphash24": "^1.0.1", + "xsalsa20": "^1.0.0" + } + }, + "sodium-native": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-2.4.9.tgz", + "integrity": "sha512-mbkiyA2clyfwAyOFIzMvsV6ny2KrKEIhFVASJxWfsmgfUEymgLIS2MLHHcGIQMkrcKhPErRaMR5Dzv0EEn+BWg==", + "optional": true, + "requires": { + "ini": "^1.3.5", + "nan": "^2.14.0", + "node-gyp-build": "^4.1.0" + } + }, + "sodium-universal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sodium-universal/-/sodium-universal-2.0.0.tgz", + "integrity": "sha512-csdVyakzHJRyCevY4aZC2Eacda8paf+4nmRGF2N7KxCLKY2Ajn72JsExaQlJQ2BiXJncp44p3T+b80cU+2TTsg==", + "requires": { + "sodium-javascript": "~0.5.0", + "sodium-native": "^2.0.0" + } + }, + "sort-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-stream/-/sort-stream-1.0.1.tgz", + "integrity": "sha1-owaEycKcozMGnBjWoKsPdor2HfI=", + "dev": true, + "requires": { + "through": "~2.3.1" + } + }, + "sorted-indexof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sorted-indexof/-/sorted-indexof-1.0.0.tgz", + "integrity": "sha1-F8dC/3zxh+L1mhXfm4HxemLOCJk=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "requires": { + "memory-pager": "^1.0.2" + } + }, + "speedometer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-1.1.0.tgz", + "integrity": "sha512-z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "stack-generator": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.5.tgz", + "integrity": "sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "stackframe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz", + "integrity": "sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "stream-source": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/stream-source/-/stream-source-0.3.5.tgz", + "integrity": "sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==" + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "requires": { + "minimist": "^1.1.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "subleveldown": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/subleveldown/-/subleveldown-4.1.4.tgz", + "integrity": "sha512-njpSBP/Bxh7EahraG6IhR6goOH2ffMTMVt7Ud+k/OhNFHrrmuvK+XYfauI8KnjCm0w381cUF43pejlWeJMZChA==", + "requires": { + "abstract-leveldown": "^6.1.1", + "encoding-down": "^6.2.0", + "inherits": "^2.0.3", + "level-option-wrap": "^1.1.0", + "levelup": "^4.3.1", + "reachdown": "^1.0.0" + } + }, + "tar-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", + "requires": { + "chownr": "^1.1.1", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + }, + "dependencies": { + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "tar-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz", + "integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==", + "requires": { + "bl": "^3.0.0", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + } + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "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" + } + }, + "text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "timeout-refresh": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-1.0.1.tgz", + "integrity": "sha512-bW5oSShdwFCN9K7RpB5dkq5bqNlGt8Lwbfxr8vprysk8hDiK5yy7Mgf2Qlz2ssE0gfQfoYhk4VLY9Hhsnr9Ulw==", + "optional": true + }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "requires": { + "rimraf": "^2.6.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "tmp-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz", + "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==", + "requires": { + "bluebird": "^3.5.0", + "tmp": "0.1.0" + } + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-utf8": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz", + "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=" + }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "requires": { + "commander": "2" + } + }, + "topojson-server": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/topojson-server/-/topojson-server-3.0.1.tgz", + "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==", + "requires": { + "commander": "2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uint64be": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uint64be/-/uint64be-2.0.2.tgz", + "integrity": "sha512-9QqdvpGQTXgxthP+lY4e/gIBy+RuqcBaC6JVwT5I3bDLgT/btL6twZMR0pI3/Fgah9G/pdwzIprE5gL6v9UvyQ==", + "requires": { + "buffer-alloc": "^1.1.0" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "unordered-array-remove": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz", + "integrity": "sha1-xUbo+I4xegzyZEyX7LV9umbSUO8=" + }, + "unordered-materialized-backrefs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unordered-materialized-backrefs/-/unordered-materialized-backrefs-1.0.1.tgz", + "integrity": "sha512-Tt96DpZy2Hog4XTgytvIRjBZneiEZp1qhu1BxZ5hizKk+iz3wS1LNr0RG3lOHvv0Fe3BmomNyj5Kgdg5VigybQ==" + }, + "unordered-materialized-bkd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unordered-materialized-bkd/-/unordered-materialized-bkd-1.1.1.tgz", + "integrity": "sha512-l1IQktvv0nnaYvVWHN3iR0Y80+Gjv1I2F9bQ8HeOjHr3M0qAambQu7c+MTJgCyv1CRXVqz4EO4ywQpBF3GDg1g==", + "requires": { + "bkd-tree": "^1.0.1", + "once": "^1.4.0" + } + }, + "unordered-materialized-kv": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/unordered-materialized-kv/-/unordered-materialized-kv-1.3.0.tgz", + "integrity": "sha512-7L4XGdSRoBByKczlh09+7tN4ku9s8wOhQIkmRY8Ko6/lXd5spd/kBhGqdCGIcnltD+IVJrN1zX3Ic8WLHhS4hA==", + "requires": { + "once": "^1.4.0" + } + }, + "unordered-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-2.0.1.tgz", + "integrity": "sha512-eUmNTPzdx+q/WvOHW0bgGYLWvWHNT3PTKEQLg0MAQhc0AHASHVHoP/9YytYd4RBVariqno/mEUhVZN98CmD7bg==" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utp-native": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/utp-native/-/utp-native-2.1.7.tgz", + "integrity": "sha512-PQmXCdZOkmADtIqmhoiFEIdNlvkPouO8ktXqThFDBAt850B752bjQMF5KAJeMBJ5gzuI70ZiP9Qsr9mwCwzSyg==", + "optional": true, + "requires": { + "napi-macros": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.0.2", + "timeout-refresh": "^1.0.0", + "unordered-set": "^2.0.1" + }, + "dependencies": { + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", + "optional": true + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "varint": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/varint/-/varint-4.0.1.tgz", + "integrity": "sha1-SQgpuULSSEY7KzUJeZXDv3NxmOk=" + }, + "wgs84": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/wgs84/-/wgs84-0.0.0.tgz", + "integrity": "sha1-NP3FVZF7blfPKigu0ENxDASc3HY=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xsalsa20": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz", + "integrity": "sha512-zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } +} From 7df584dc6e7972b96d45f6e11d612621dfe7366b Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Tue, 17 Mar 2020 18:55:17 +0100 Subject: [PATCH 030/116] feat: New translations including Vietnamese (#303) Squashed commits: [d950853] New translations en.json (Vietnamese) [9496dac] New translations en.json (Vietnamese) [f1ce80e] New translations en.json (Vietnamese) [aa182a3] New translations en.json (Vietnamese) [415ed78] New translations en.json (Vietnamese) [6b2261a] New translations en.json (Vietnamese) [7743cae] New translations en.json (Thai) [07db0e2] New translations en.json (Spanish) [c7dee5c] New translations en.json (Portuguese, Brazilian) [0adf598] New translations en.json (Nepali) [d3d753c] New translations en.json (Malay) [ab64667] New translations en.json (Lao) [05abda9] New translations en.json (Khmer) [35bf81b] New translations en.json (Indonesian) [35998db] New translations en.json (Hindi) [4095b4f] New translations en.json (French) [4faf387] New translations en.json (Burmese) --- messages/es.json | 12 ++-- messages/fr.json | 12 ++-- messages/hi.json | 24 +++++++ messages/id.json | 24 +++++++ messages/km.json | 24 +++++++ messages/lo.json | 24 +++++++ messages/ms.json | 24 +++++++ messages/my.json | 24 +++++++ messages/ne.json | 24 +++++++ messages/pt.json | 12 ++-- messages/th.json | 24 +++++++ messages/vi.json | 178 +++++++++++++++++++++++++++-------------------- 12 files changed, 311 insertions(+), 95 deletions(-) diff --git a/messages/es.json b/messages/es.json index bf41cd58d..f626ffab0 100644 --- a/messages/es.json +++ b/messages/es.json @@ -52,7 +52,7 @@ }, "screens.LanguageSettings.title": { "description": "Title language settings screen", - "message": "" + "message": "Language" }, "screens.ManualGpsScreen.easting": { "message": "Este" @@ -214,7 +214,7 @@ }, "screens.ProjectConfig.title": { "description": "Title of project configuration screen", - "message": "" + "message": "Project Configuration" }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", @@ -238,19 +238,19 @@ }, "screens.Settings.language": { "description": "Primary text for language settings", - "message": "" + "message": "Language" }, "screens.Settings.languageDesc": { "description": "Secondary text for language settings", - "message": "" + "message": "Display language for App" }, "screens.Settings.projectConfig": { "description": "Primary text for project config settings", - "message": "" + "message": "Configuración Actual" }, "screens.Settings.projectConfigDesc": { "description": "Secondary text for project config settings", - "message": "" + "message": "Categories, icons and questions" }, "screens.Settings.projectKey": { "description": "Label for project key", diff --git a/messages/fr.json b/messages/fr.json index dfdb3e8e7..fd1238865 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -52,7 +52,7 @@ }, "screens.LanguageSettings.title": { "description": "Title language settings screen", - "message": "" + "message": "Language" }, "screens.ManualGpsScreen.easting": { "message": "East" @@ -214,7 +214,7 @@ }, "screens.ProjectConfig.title": { "description": "Title of project configuration screen", - "message": "" + "message": "Project Configuration" }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", @@ -238,19 +238,19 @@ }, "screens.Settings.language": { "description": "Primary text for language settings", - "message": "" + "message": "Language" }, "screens.Settings.languageDesc": { "description": "Secondary text for language settings", - "message": "" + "message": "Display language for App" }, "screens.Settings.projectConfig": { "description": "Primary text for project config settings", - "message": "" + "message": "Project Configuration" }, "screens.Settings.projectConfigDesc": { "description": "Secondary text for project config settings", - "message": "" + "message": "Categories, icons and questions" }, "screens.Settings.projectKey": { "description": "Label for project key", diff --git a/messages/hi.json b/messages/hi.json index 8a24546be..fd1238865 100644 --- a/messages/hi.json +++ b/messages/hi.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Yes" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "East" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/id.json b/messages/id.json index 07fbeed3c..24b8e527f 100644 --- a/messages/id.json +++ b/messages/id.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Ya" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "Timur" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/km.json b/messages/km.json index 8a24546be..fd1238865 100644 --- a/messages/km.json +++ b/messages/km.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Yes" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "East" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/lo.json b/messages/lo.json index 8a24546be..fd1238865 100644 --- a/messages/lo.json +++ b/messages/lo.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Yes" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "East" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/ms.json b/messages/ms.json index 8a24546be..fd1238865 100644 --- a/messages/ms.json +++ b/messages/ms.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Yes" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "East" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/my.json b/messages/my.json index 8a24546be..fd1238865 100644 --- a/messages/my.json +++ b/messages/my.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "Yes" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "East" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "Loading… this can take a while after synchronizing with a new device" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/ne.json b/messages/ne.json index 7f850923e..ce9d619b8 100644 --- a/messages/ne.json +++ b/messages/ne.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "हाे" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "पुर्व" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "लाेड हुँदै... नयाँ उपकरणसँग सिंक्राेनाइज हुन केहि समय लाग्न सक्छ" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "याे एपलाइ बलपूवर्क शुरू गर्न काेशिस सक्नुहुन्छ, तर त्यहाँ केहि मिलाउनु पर्ने हुन सक्दछ । यसकाे लागि माफ गर्नुहाेस, एप बनाउन गाह्राे छ" @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/pt.json b/messages/pt.json index dfdb3e8e7..fd1238865 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -52,7 +52,7 @@ }, "screens.LanguageSettings.title": { "description": "Title language settings screen", - "message": "" + "message": "Language" }, "screens.ManualGpsScreen.easting": { "message": "East" @@ -214,7 +214,7 @@ }, "screens.ProjectConfig.title": { "description": "Title of project configuration screen", - "message": "" + "message": "Project Configuration" }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", @@ -238,19 +238,19 @@ }, "screens.Settings.language": { "description": "Primary text for language settings", - "message": "" + "message": "Language" }, "screens.Settings.languageDesc": { "description": "Secondary text for language settings", - "message": "" + "message": "Display language for App" }, "screens.Settings.projectConfig": { "description": "Primary text for project config settings", - "message": "" + "message": "Project Configuration" }, "screens.Settings.projectConfigDesc": { "description": "Secondary text for project config settings", - "message": "" + "message": "Categories, icons and questions" }, "screens.Settings.projectKey": { "description": "Label for project key", diff --git a/messages/th.json b/messages/th.json index ec02c6809..2671c0600 100644 --- a/messages/th.json +++ b/messages/th.json @@ -50,6 +50,10 @@ "description": "if a location sensor is active yes/no", "message": "ใช่" }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Language" + }, "screens.ManualGpsScreen.easting": { "message": "ตะวันออก" }, @@ -208,6 +212,10 @@ "description": "message shown whilst observations are loading", "message": "กำลังโหลดข้อมูล... การเชื่อมต่อกับอุปกรณ์ใหม่จะใช้เวลาสักครู่" }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Project Configuration" + }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", "message": "ลองปิด-เปิดแอพฯ อีกครั้ง ขออภัยในความไม่สะดวก ทางเรากำลังปรับปรุงการทำงานของแอพฯ ให้ดียิ่งขึ้น" @@ -228,6 +236,22 @@ "description": "Label for name & version of current configuration", "message": "Current Configuration" }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Language" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Display language for App" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Project Configuration" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Categories, icons and questions" + }, "screens.Settings.projectKey": { "description": "Label for project key", "message": "Project Key" diff --git a/messages/vi.json b/messages/vi.json index 8a24546be..c6bcb08e0 100644 --- a/messages/vi.json +++ b/messages/vi.json @@ -1,70 +1,74 @@ { "AppContainer.EditHeader.discardCancel": { "description": "Button on dialog to keep editing (cancelling close action)", - "message": "Continue editing" + "message": "Tiếp tục chỉnh sửa" }, "AppContainer.EditHeader.discardContent": { "description": "Button on dialog to close without saving", - "message": "Discard without saving" + "message": "Hủy bỏ, không lưu lại" }, "AppContainer.EditHeader.discardTitle": { "description": "Title of dialog that shows when closing an observation without saving", - "message": "Discard observation?" + "message": "Hủy bỏ quan sát?" }, "screens.AddPhoto.cancel": { - "message": "Cancel" + "message": "Hủy" }, "screens.CameraScreen.noCameraAccess": { "description": "Error message shown when app does not have permissions to camera", - "message": "No access to camera" + "message": "Không có quyền truy cập tới máy ảnh" }, "screens.CategoryChooser.categoryTitle": { "description": "Title for category chooser screen", - "message": "Choose what is happening" + "message": "Chọn những gì đang diễn ra" }, "screens.GpsModal.details": { "description": "Section title for details about current position", - "message": "Details" + "message": "Chi tiết" }, "screens.GpsModal.gpsHeader": { "description": "Header for GPS screen", - "message": "Current GPS Location" + "message": "Vị trí GPS hiện tại" }, "screens.GpsModal.lastUpdate": { "description": "Section title for time of last GPS update", - "message": "Last update" + "message": "Lần cập nhật gần nhất" }, "screens.GpsModal.locationSensors": { "description": "Heading for section about location sensor status", - "message": "Sensor Status" + "message": "Trạng thái cảm biến" }, "screens.GpsModal.locationUTM": { "description": "Section title for UTM coordinates", - "message": "Coordinates UTM" + "message": "Tọa độ UTM" }, "screens.GpsModal.no": { "description": "if a location sensor is active yes/no", - "message": "No" + "message": "Không" }, "screens.GpsModal.yes": { "description": "if a location sensor is active yes/no", - "message": "Yes" + "message": "Có" + }, + "screens.LanguageSettings.title": { + "description": "Title language settings screen", + "message": "Ngôn ngữ" }, "screens.ManualGpsScreen.easting": { - "message": "East" + "message": "Hướng Đông" }, "screens.ManualGpsScreen.eastingSuffix": { "message": "mE" }, "screens.ManualGpsScreen.northing": { - "message": "North" + "message": "Hướng Bắc" }, "screens.ManualGpsScreen.northingSuffix": { "message": "mN" }, "screens.ManualGpsScreen.title": { "description": "title of manual GPS screen", - "message": "Enter coordinates" + "message": "Nhập tọa độ" }, "screens.ManualGpsScreen.zoneLetter": { "message": "Zone Letter" @@ -74,159 +78,179 @@ }, "screens.Observation.ObservationView.alertFooter": { "description": "Footer for shared observations message", - "message": "Sent from Mapeo" + "message": "Được gửi từ Mapeo" }, "screens.Observation.ObservationView.alertSubject": { "description": "Subject-line for shared observations", - "message": "Mapeo Alert" + "message": "Cảnh báo từ Mapeo" }, "screens.Observation.ObservationView.delete": { "description": "Button to delete an observation", - "message": "Delete" + "message": "Xóa" }, "screens.Observation.ObservationView.noAnswer": { "description": "Placeholder text for fields on an observation which are not answered", - "message": "No answer" + "message": "Không trả lời" }, "screens.Observation.ObservationView.observation": { "description": "Default name of observation with no matching preset", - "message": "Observation" + "message": "Quan sát" }, "screens.Observation.ObservationView.share": { "description": "Button to share an observation", - "message": "Share" + "message": "Chia sẻ" }, "screens.Observation.cancel": { "description": "Button to cancel delete of observation", - "message": "Cancel" + "message": "Hủy" }, "screens.Observation.confirm": { "description": "Button to confirm delete of observation", - "message": "Yes, delete" + "message": "Có, xóa" }, "screens.Observation.deleteTitle": { "description": "Title of dialog asking confirmation to delete an observation", - "message": "Delete observation?" + "message": "Xóa quan sát?" }, "screens.Observation.notFound": { "description": "Message shown when an observation is not found", - "message": "Observation not found" + "message": "Không tìm thấy quan sát" }, "screens.ObservationDetails.QuestionNavBar.questionPage": { "description": "Indicates which question we are on and total questions", - "message": "{current} of {total}" + "message": "{current} của {total}" }, "screens.ObservationDetails.done": { "description": "Button text when all questions are complete", - "message": "Done" + "message": "Hoàn thành" }, "screens.ObservationDetails.nextQuestion": { "description": "Button text to navigate to next question", - "message": "Next" + "message": "Tiếp theo" }, "screens.ObservationDetails.title": { "description": "Title of observation details screen showing question number and total", - "message": "Question {current} of {total}" + "message": "Câu hỏi {current} của {total}" }, "screens.ObservationEdit.BottomSheet.addLabel": { "description": "Label above keyboard that expands into bottom sheet of options to add (photo, details etc)", - "message": "Add…" + "message": "Thêm vào…" }, "screens.ObservationEdit.ObservationEditView.changePreset": { "description": "Button to change a category / preset", - "message": "Change" + "message": "Thay đổi" }, "screens.ObservationEdit.ObservationEditView.descriptionPlaceholder": { "description": "Placeholder for description/notes field", - "message": "What is happening here?" + "message": "Có điều gì đang diễn ra ở đây?" }, "screens.ObservationEdit.ObservationEditView.detailsButton": { "description": "Button label to add details", - "message": "Add Details" + "message": "Thêm chi tiết" }, "screens.ObservationEdit.ObservationEditView.observation": { "description": "Name of observation when no preset matches", - "message": "Observation" + "message": "Quan sát" }, "screens.ObservationEdit.ObservationEditView.photoButton": { "description": "Button label for adding photo", - "message": "Add Photo" + "message": "Thêm ảnh" }, "screens.ObservationEdit.ObservationEditView.searching": { "description": "Shown in new observation screen whilst looking for GPS", - "message": "Searching…" + "message": "Tìm kiếm…" }, "screens.ObservationEdit.SaveButton.keepWaiting": { "description": "Button to cancel save and continue waiting for GPS", - "message": "Continue waiting" + "message": "Tiếp tục chờ" }, "screens.ObservationEdit.SaveButton.manualEntry": { "description": "Button to manually enter GPS coordinates", - "message": "Manual Coords" + "message": "Tọa độ thủ công" }, "screens.ObservationEdit.SaveButton.noGpsDesc": { "description": "Description in dialog when trying to save with no GPS coords", - "message": "This observation does not have a location. You can continue waiting for a GPS signal, save the observation without a location, or enter coordinates manually" + "message": "Quan sát này không có vị trí. Bạn có thể tiếp tục chờ tín hiệu GPS, lưu quan sát mà không có vị trí, hoặc nhập tọa độ thủ công" }, "screens.ObservationEdit.SaveButton.noGpsTitle": { "description": "Title of dialog when trying to save with no GPS coords", - "message": "No GPS signal" + "message": "Không có tín hiệu GPS" }, "screens.ObservationEdit.SaveButton.saveAnyway": { "description": "Button to save regardless of GPS state", - "message": "Save" + "message": "Lưu" }, "screens.ObservationEdit.SaveButton.weakGpsDesc": { "description": "Description in dialog when trying to save with low GPS accuracy.", - "message": "GPS accuracy is low. You can continue waiting for better accuracy, save the observation with low accuracy, or enter coordinates manually" + "message": "Độ chính xác của GPS thấp. Bạn có thể tiếp tục đợi để có độ chính xác cao hơn, lưu quan sát với độ chính xác thấp, hoặc nhập tọa độ thủ công" }, "screens.ObservationEdit.SaveButton.weakGpsTitle": { "description": "Title of dialog when trying to save with low GPS accuracy.", - "message": "Weak GPS signal" + "message": "Tín hiệu GPS yếu" }, "screens.ObservationEdit.editTitle": { "description": "screen title for edit observation screen", - "message": "Edit Observation" + "message": "Chỉnh sửa quan sát" }, "screens.ObservationEdit.newTitle": { "description": "screen title for new observation screen", - "message": "New Observation" + "message": "Quan sát mới" }, "screens.ObservationList.observationListTitle": { "description": "Title of screen with list of observations", - "message": "Observations" + "message": "Các quan sát" }, "screens.ObservationsList.ObservationListItem.defaultObservationName": { "description": "Default name for an observation that does not match a preset", - "message": "Observation" + "message": "Quan sát" }, "screens.ObservationsList.error": { "description": "message shown when there is an unexpected error when loading observations", - "message": "Error loading observations. Try quitting and restarting Mapeo." + "message": "Lỗi tải các quan sát. Hãy thử rời bỏ và khởi động lại Mapeo." }, "screens.ObservationsList.loading": { "description": "message shown whilst observations are loading", - "message": "Loading… this can take a while after synchronizing with a new device" + "message": "Đang tải... việc này có thể càn một chút thời gian sau khi đồng bộ hóa với thiết bị mới" + }, + "screens.ProjectConfig.title": { + "description": "Title of project configuration screen", + "message": "Cấu hình Dự án" }, "screens.ServerStatus.errorDesc": { "description": "Description when there the Mapeo Core server crashes", - "message": "You can try force-restarting the app, but there may be something that needs fixing. Really sorry about this, making apps is hard." + "message": "Bạn có thể thử buộc khởi động lại ứng dụng, nhưng có một số lỗi cần phải được khắc phục. Rất xin lỗi về điều này, việc tạo nên ứng dụng thật là khó." }, "screens.ServerStatus.errorTitle": { "description": "Title of message when there the Mapeo Core server crashes", - "message": "Oh dear, something is broken in the Mapeo database." + "message": "Ôi không, có gì đó bị hỏng trong dữ liệu Mapeo." }, "screens.ServerStatus.timeoutDesc": { "description": "Description when the server has not responded for 10 seconds", - "message": "If you continue to see this message you may need to force-restart Mapeo" + "message": "Nếu bạn tiếp tục nhìn thấy thông báo này bạn sẽ cần phải buộc khởi động lại Mapeo" }, "screens.ServerStatus.timeoutTitle": { "description": "Title of message when the server has not responded for 10 seconds", - "message": "Something is up with the Mapeo database" + "message": "Có gì đó không ổn với dữ liệu Mapeo" }, "screens.Settings.currentConfig": { "description": "Label for name & version of current configuration", - "message": "Current Configuration" + "message": "Cấu hình hiện tại" + }, + "screens.Settings.language": { + "description": "Primary text for language settings", + "message": "Ngôn ngữ" + }, + "screens.Settings.languageDesc": { + "description": "Secondary text for language settings", + "message": "Ngôn ngữ hiển thị cho ứng dụng" + }, + "screens.Settings.projectConfig": { + "description": "Primary text for project config settings", + "message": "Cấu hình dự án" + }, + "screens.Settings.projectConfigDesc": { + "description": "Secondary text for project config settings", + "message": "Các thể loại, biểu tượng và câu hỏi" }, "screens.Settings.projectKey": { "description": "Label for project key", @@ -234,43 +258,43 @@ }, "screens.Settings.title": { "description": "Title of settings screen", - "message": "Settings" + "message": "Cài đặt" }, "screens.Settings.unnamedConfig": { "description": "Config name when do name is defined", - "message": "Un-named" + "message": "Chưa có tên" }, "screens.SyncModal.PeerList.completeButton": { "description": "Button label when complete", - "message": "Complete" + "message": "Hoàn thành" }, "screens.SyncModal.PeerList.errorButton": { "description": "Button label when there is an error", - "message": "Error" + "message": "Lỗi" }, "screens.SyncModal.PeerList.errorClientMismatch": { "description": "Short message shown under device in sync screen when it is running an incompatible (non-Mapeo) client", - "message": "Not a Mapeo client" + "message": "Không phải khách hàng Mapeo" }, "screens.SyncModal.PeerList.errorTheyNeedUgrade": { "description": "Short message shown under device in sync screen when it is running an incompatible version of Mapeo", - "message": "Incompatible Mapeo" + "message": "Không tương thích với Mapeo" }, "screens.SyncModal.PeerList.syncButton": { "description": "Button label for sync button", - "message": "Sync" + "message": "Đồng bộ" }, "screens.SyncModal.PeerList.syncLabel": { "description": "Label for last sync datetime", - "message": "Synced:" + "message": "Đã đồng bộ xong:" }, "screens.SyncModal.SyncView.noWifiDesc": { "description": "Description shown when no wifi network", - "message": "Open your phone settins and connect to a WiFi network to synchronize" + "message": "Mở cài đặt điện thoại của bạn và kết nối với Wifi để đồng bộ" }, "screens.SyncModal.SyncView.noWifiTitle": { "description": "Title of message shown when no wifi network", - "message": "No WiFi" + "message": "Không có Wifi" }, "screens.SyncModal.SyncView.projectKey": { "description": "First 5 characters of project key displayed on sync screen", @@ -278,19 +302,19 @@ }, "screens.SyncModal.SyncView.searchingDesc": { "description": "Description shown whilst searcing for sync peers", - "message": "Ensure that other devices are turned on and connected to the same WiFi network" + "message": "Đảm bảo rằng các thiết bị khác được bật lên và kết nối với cùng mạng Wifi" }, "screens.SyncModal.SyncView.searchingTitle": { "description": "Title of message shown while looking for sync peers", - "message": "Searching" + "message": "Đang tìm kiếm" }, "screens.SyncModal.SyncView.settingsButton": { "description": "Button to open WiFi settings", - "message": "Open Settings" + "message": "Mở cài đặt" }, "screens.SyncModal.SyncView.syncHeader": { "description": "Header of sync screen", - "message": "Synchronize" + "message": "Đồng bộ" }, "screens.SyncModal.SyncView.wifi": { "description": "Label for wifi network name", @@ -302,32 +326,32 @@ }, "screens.SyncModal.errorVersionThemBadDesc": { "description": "Content of error alert when trying to sync with an incompatible older version of Mapeo", - "message": "The device you are trying to sync with needs to upgrade Mapeo to the latest version in order to sync with you." + "message": "Thiết bị mà bạn đang muốn đồng bộ cần được nâng cấp lên phiên bản Mapeo mới nhất để có thể đồng bộ với bạn." }, "screens.SyncModal.errorVersionThemBadTitle": { "description": "Title of error alert when trying to sync with an incompatible older version of Mapeo", - "message": "{deviceName} needs to upgrade Mapeo" + "message": "{deviceName} cần nâng cấp Mapeo" }, "screens.SyncModal.errorVersionUsBadDesc": { "description": "Content of error alert when trying to sync with an incompatible newer version of Mapeo", - "message": "The device you are trying to sync has a newer version of Mapeo. You need to upgrade Mapeo in order to sync with this device." + "message": "Thiết bị mà bạn đang muốn đồng bộ với đang có phiên bản Mapeo mới hơn. Bạn cần nâng cấp phiên bản Mapeo của mình để có thể đồng bộ với thiết bị này." }, "screens.SyncModal.errorVersionUsBadTitle": { "description": "Title of error alert when trying to sync with an incompatible newer version of Mapeo", - "message": "You need to upgrade Mapeo" + "message": "Bạn cần nâng cấp phiên bản Mapeo" }, "screens.UncaughtError.errorDesc": { "description": "Description when there is an uncaught message in the app", - "message": "Really sorry about this, something unexpected went wrong, and it's our fault not yours. Try restarting the app to see if that fixes things." + "message": "Rất xin lỗi về điều này, đã có lỗi ở đâu đó, đây là lỗi thuộc về chúng tôi không phải bạn. Hãy thử khởi động lại ứng dụng để xem lỗi đã được khắc phục chưa." }, "screens.UncaughtError.errorTitle": { "description": "Title of message when there is an uncaught message in the app", - "message": "Unexpected Error" + "message": "Lỗi bất thường" }, "sharedComponents.GpsPill.noGps": { - "message": "No GPS" + "message": "Không có GPS" }, "sharedComponents.GpsPill.searching": { - "message": "Searching…" + "message": "Đang tìm kiếm…" } } From 2354a4a2b3902a02c6754b805b3fc770eafb2b86 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Thu, 19 Mar 2020 19:05:00 +0100 Subject: [PATCH 031/116] feat: New "Mapeo for ICCAs" variant for UNEP WCMC (#346) * feat: Add intro screens for ICCA / WCMC * feat: Add icca presets for icca app flavor * feat: Only show icca intro screens for icca build flavor * feat: Add ICCA splash screen and logo * chore: package-lock updates * Build ICCA for beta * fix package-lock * remove unused dep * add signing config for mapeo for iccas * fix S3 upload and ignore failed S3 uploads in the future * Include ICCA variant in S3 release & beta uploads * Update download URLs to point to latest release * Fix syntax error in APK path names * [skip ci] fix script location * Fix path for google play upload * debug source_dir * Fix - change working dir after gradle build * Another fix for scripts :/ --- android/app/build.gradle | 6 + .../icca/res/drawable-hdpi/launch_screen.png | Bin 0 -> 34916 bytes .../icca/res/drawable-mdpi/launch_screen.png | Bin 0 -> 23307 bytes .../icca/res/drawable-xhdpi/launch_screen.png | Bin 0 -> 53025 bytes .../res/drawable-xxhdpi/launch_screen.png | Bin 0 -> 80220 bytes .../src/icca/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3429 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5279 bytes .../src/icca/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1905 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2902 bytes .../src/icca/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4274 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6936 bytes .../icca/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7781 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 12623 bytes .../icca/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10722 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 17500 bytes .../com/mapeo/generated/BasePackageList.java | 1 + .../app/src/main/res/drawable-mdpi/logo.png | Bin 0 -> 38627 bytes .../app/src/main/res/drawable-nodpi/logo.png | Bin 0 -> 38627 bytes .../app/src/main/res/drawable-xhdpi/logo.png | Bin 0 -> 38627 bytes .../app/src/main/res/drawable-xxhdpi/logo.png | Bin 0 -> 38627 bytes .../src/main/res/drawable-xxxhdpi/logo.png | Bin 0 -> 38627 bytes bitrise.yml | 86 +- package-lock.json | 866 +- package.json | 18 +- patches/README.md | 10 + patches/lottie-react-native+3.3.2.patch | 83 + scripts/anonymize_test_data.js | 0 scripts/build-backend.sh | 4 +- scripts/build-translations.js | 0 scripts/gh-pages-redirect.js | 58 + src/backend/index.js | 19 +- src/backend/package-lock.json | 7 +- src/backend/package.json | 1 + src/backend/server.js | 33 +- src/frontend/App.js | 3 +- src/frontend/AppContainer.js | 21 +- src/frontend/animations/connect.json | 9293 +++++++++++++++++ src/frontend/animations/location.json | 2418 +++++ src/frontend/animations/task-done.json | 3994 +++++++ src/frontend/animations/world-locations.json | 5190 +++++++++ src/frontend/api.js | 10 +- src/frontend/images/logo.png | Bin 0 -> 38627 bytes src/frontend/images/undraw_adventure_4hum.svg | 1 + src/frontend/screens/Intro/index.js | 93 + 44 files changed, 22083 insertions(+), 132 deletions(-) create mode 100644 android/app/src/icca/res/drawable-hdpi/launch_screen.png create mode 100644 android/app/src/icca/res/drawable-mdpi/launch_screen.png create mode 100644 android/app/src/icca/res/drawable-xhdpi/launch_screen.png create mode 100644 android/app/src/icca/res/drawable-xxhdpi/launch_screen.png create mode 100644 android/app/src/icca/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/icca/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/icca/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/icca/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/icca/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/icca/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/icca/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/icca/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/icca/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/icca/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/drawable-mdpi/logo.png create mode 100644 android/app/src/main/res/drawable-nodpi/logo.png create mode 100644 android/app/src/main/res/drawable-xhdpi/logo.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/logo.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/logo.png create mode 100644 patches/README.md create mode 100644 patches/lottie-react-native+3.3.2.patch mode change 100644 => 100755 scripts/anonymize_test_data.js mode change 100644 => 100755 scripts/build-translations.js create mode 100755 scripts/gh-pages-redirect.js create mode 100644 src/frontend/animations/connect.json create mode 100644 src/frontend/animations/location.json create mode 100644 src/frontend/animations/task-done.json create mode 100644 src/frontend/animations/world-locations.json create mode 100644 src/frontend/images/logo.png create mode 100644 src/frontend/images/undraw_adventure_4hum.svg create mode 100644 src/frontend/screens/Intro/index.js diff --git a/android/app/build.gradle b/android/app/build.gradle index bdd2e158b..7b78c6ff3 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -229,6 +229,12 @@ android { dimension "version" signingConfig signingConfigs.release } + icca { + dimension "version" + applicationIdSuffix ".icca" + versionNameSuffix "-icca" + signingConfig signingConfigs.release + } } buildTypes { release { diff --git a/android/app/src/icca/res/drawable-hdpi/launch_screen.png b/android/app/src/icca/res/drawable-hdpi/launch_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..ea528177ac60c586fda6e34164d228df1fdd3123 GIT binary patch literal 34916 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

K#LizcJbGjl4- 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 NfuZ@miaRc^{|EEw{e1uc literal 0 HcmV?d00001 diff --git a/android/app/src/icca/res/drawable-mdpi/launch_screen.png b/android/app/src/icca/res/drawable-mdpi/launch_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..1478de4924c707571ac9dd3d3845a1dd2b33666f GIT binary patch literal 23307 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 H`%nH0`<#Yv literal 0 HcmV?d00001 diff --git a/android/app/src/icca/res/drawable-xxhdpi/launch_screen.png b/android/app/src/icca/res/drawable-xxhdpi/launch_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..8e8500017de770331264eafda5df58a8842cf057 GIT binary patch literal 80220 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 K=)=SQzy22j9a13x literal 0 HcmV?d00001 diff --git a/android/app/src/icca/res/mipmap-hdpi/ic_launcher.png b/android/app/src/icca/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..73793dd8a9fad92ab7fa31f8f740c0078d518165 GIT binary patch literal 3429 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 literal 0 HcmV?d00001 diff --git a/android/app/src/icca/res/mipmap-mdpi/ic_launcher.png b/android/app/src/icca/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ea2a8d6d8daf5db3a22e5661b1ca3bded767eebf GIT binary patch literal 1905 zcmV-%2afoOP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91FrWhf1ONa40RR91FaQ7m0NXcg3;+NI+et)0RA>e5SzBxrWfVTWZQG>< zTPU+ZO0$aksOx{^!4*nK`p9rG0|G%>3s+m+yS%%zXj4H|}-d?(RU*IOUIL zA18du%=tJZmf*TA>ndxS>Nk6N@3}nW8!%WRHlPBP}EmoR5=;S%_=_w6iWyNp>CTes!V>o?pBcR?dGM5+#XX7QM>m#^A{LR@i;& z8yL(ErwDAbg`mgU6gDTtQY0u-nM zz`ex_bv{{EDLVfOB+HTvbYT_7v^=&k5F1CC>cglp1<(?(0$T>@S02_bdIshsXNNH- zysk^mfpyK#YJW{Lj%|#dEx`IBang0G7iE-}mcy#XCu7O>-nan!PyY=2|M>|}jvH&5 zR!b~ur;j~-{HZx0^B1uujh>FQTcK`o-6E(gt3YLB{BrgneEQce$oamo<)OH!7+zey z9-ew|b;K7>!zFW@p{=hyVnanRf7B)R2wB^z-r;wvcBoQPr6p-)d914-}UXPB!bZQm%fRm>h!6tB|YXPlY zutxx~%qBhMLTQYC;MR2uLWO1ZOU1QONmQzsD)FRV(Xf>0oj9nm5Zese0xBE3nb`uQ z(U6uGw1S`sI#XQ+BQRH&SHZ@IH$ZiHwa}}$`zmHZ%cHLX7Qv0qYh9sZrZdrmT%geL zrx3YyM&lIfd2wsR7c(Rm9?M0iw?F+M^jtp=Pz3UcTT#m2u@Ix@#<>6llQ*Bc?@gq{T)1VJz2sck(C*Iqhbp%Mt3DB zC|i`S;$Y8V@Wm~1vIAoebRQz&I)hC_Ofh0i0g9pK>5hg`$lm1P;?O1ejvs?PuDbnl z2VA&$(fU!|6X`w%vISV4=wTN2Vh%#@?fia1hZ>>i!0vx7z6;E-sI&@WEHJYL#F36- z=b@|rZ}{WVp9NCzrdDzN;8z-sFnPP?Ljzj200dBf>Hq{HN2k6$P1Omqmd{;Wq{i`r*^4c-Dii?iw*#cCb)#(!M+dm6v z>0*blT}!7Fd5wK1OX3?QoqJ`l%p~@N5A(FPUhkNoqqHXGuxf zGPw-Ad-Q$zvNxI?g?Em=2k9~K8?*GAI`Wv6e;d`AbUyS84q_nX1bnWJUWK2P+?r0vpGV-ke zu;~m~i4n-`4|b(a%xtWwFD@;q7hfz%-}3>toR-2+b>^-I}wXS#=fH+JBEn1-N>#`x{=00000NkvXXu0mjfN*!yL literal 0 HcmV?d00001 diff --git a/android/app/src/icca/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/icca/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c8dabb188245a95d7708a06beb7092e4045cc3 GIT binary patch literal 2902 zcmV-c3#s&pP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91FrWhf1ONa40RR91FaQ7m0NXcg3;+NMz)3_wRA>d&S$S*}*BSq25AS+? z#JCuY5g{Rz)KHE_G!P&NC>4=tOA0rfEY#gES3qNI?mtMgZxi zTXL19yVHt7;5oT%!G_L$IdTvlZ~%)IEpq3+I`X-o8eA%?@^cX-;^*l#-L*J;<~Uww z-5R90ePOTUKAP$cY;E0r?`T0mf#QI#Pu4&JkX9UCwK$@7ukDU?=c|-q1WF|Cyd*~A z0E7$y@Oe@z(`=?KV_eXq*{6LZJI_i`sfUdAxU^kuNv zIwGCW(0K2T}tRTcJO*T zo_&|(g1MvSzzg|5g6!1nI5_9xL3b-0to#%{zwvK~X)!K@c#Qyzpr|w5ow{+);+?Cp zYUGb=v3sHbq@V3u@$-l~{8wDhO`6<>ZVCG`eVOp))Ri!9NWRHz-_zf!+|*L2nUHYt2*_!%Ehx}q(diMuYkyz%N>r1d<<@k_dWOWN z^uUr*99#O&4t@^bk7X5g}Nyf~dGW`1{HET5-3&Z+T??Xj%+y~mAAWqht zf;BT&L#oGbRfxByjhM=oS89sM%exHE#8&Bh4l^b%n{{)vr>nWWFBU0iRMHJ0mjoepg~m6HfSj>$@mz$Z#3A{zQ+=B68iO>m|@zG(?-11Jk?PD5i? zlkvEazdlHbDs@6c1Q3gbW&ZlC14a=WXuIwGcrpL3Yi|P~Bu70!*RUU!HAbxQqif4x`_eIeMAsTvX z0N0ORFH}@Dl33jwT-*h+_LlF*6{-K9IPZ2f!hy<9INZ3?WWZ~R8oB<@n?;C#X^9cg z8qd`>%k7cVM)Vvo$?>0_Bwk_a8nlJmVf&?BhFTIeS_U_r-vZsHqeC*_$#k?cdb;Ui zJq?>B0O||3+-%+>;2Q9$3(3L|QoO6Mwuo(Ryw&%eRO~L!H{qk;Mu3zBgP_+8| zmg0Y*Y5g>54nTt-v_Gh7{y?lgJU2$RSsWH%JW7&i!A~Q9D%p&xJ*9*SzHh*XC7U1^ z2{KlHGEWMv*P1^>jBQxeo!DPemD|O&)gyl}dX6X6lgGR`-W*(`$p-w++@@GE3#@joD-W|iXVw0 zadtc(yl;2eUMR<}Zg#rXaszf>-pkk|*&k97OZBnqZ==owye!K05g@y2OI34A))U#` z^kM0996!LDOxVHDV^WF}bmqwE?Ddlj(wo@2!u8OO2SB?#_4h{fNZv1PTz6$h=^>O0 z*=3yqAQ`!#xUOo*gkd?U*?~!RB|aKGxq=glh2ScFBAGdI24ig~`Xf}eToc{Nmzb#5 z8xMA#`@`uCsAPHeg^@%7P>v&Yg|{x`K9%>FKg*v_BVkIs&^MLV+%^YWfWCdwyTh6K z|Cr>GtfI5_+SY@`Yfrv~8cldPo*WYeKwjuSq)_dN>a&B#56$*xr%rT!nYRKrM_Jci z4>fJIWUF62YM8DILOYfq&6P7;p@{mcx zmiw~&Bl~4RH)T`^IIi)vjivXtlyCj&W9*@<(@tkgkD+6(^(O$KNAJ;@kOD*V7fqO# zGhxV!se{v|czm9eq=P|du}Cc1-5e~rU)FT6vY_l3em^JR9eDMbbpeFRfdnA*D3CO~ zvNDEe3>z`~@#&e5Wli!u;v3@$q~y81u0fK^6-@ zb8NsQ91PfiO;H3y^TmElA)s_oF#XOn>NwJW0VL%S#)}_ppa1{>07*qoM6N<$g7imf A{Qv*} literal 0 HcmV?d00001 diff --git a/android/app/src/icca/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/icca/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..acf3e07563345b4405d5bb6d9cface802da5bd5d GIT binary patch literal 4274 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 literal 0 HcmV?d00001 diff --git a/android/app/src/icca/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/icca/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7ff20577e1469926cbf85b96d078dbe5cac052a1 GIT binary patch literal 10722 zcmch7Wm6nqu=g%39-QDVi@W>c?gV!W9tciw2n2V61$Vb41cC*E6I_EVzPP*O@_+L@ zU*OiQsh;kcBXv&q%;{fub+o3s0wy{sIsgE`R8o}He&s#?5i0WQU3%B; zU#{}1ZPhaluB&~n^y)4B@`bvfr6PoEgz$!+CL)5~=JU~q;foun$I0`bZ&{*`&$~hE zw-}ND?(Y+|Y9tn@(Bd&dJ}s znO6arE=NQQyU)HGtA*pL*r7art140YaAQVWVT~Ee@gQT%Diu=*~k>{@|{^5`B{h= zyN3QLARu7j4t_V{&U3Q}pM+a~TScM#vC%|zf=h5V;)@Sl&MW}xDzT)Ll+W(onqGJ9 zO_&Ltt`8b#uL%o@Eb{R2$l9xYr{NJ1phdd?5y~f^qoFUqRYg+5tf@#ngV-1SQ+mUo zR4GT3y~!g#uL!rQFXE||ty`=P0nr{d=#{BXDQX$j^fXu?9jhimg&?07r&pwxjhBaK z=b3GkokUv{at3qi_Lt^vmstPpUQp;-#kq#)Rc-JQI%aSKH5q5wsXDIBUy7ie*MCKpz*Ln9vDcpTW@MzkpqIg8gteZqHr5rrdobfLcZzyc2@J88uB ztH*|&wmL;Ba6E14DcU^nU@LsQ&-~!%khXXW7Tl$%H3X1Ph^z!ZYF7H44kK}l3fQ1y zQxZWy~a)7oP}F+Z}=%pudDH=s&}KzEEzSMnM+c{o!%3{a;2u9)s^vASvJ2^S zY#o6N{4^}Wr0lTjxUbA&s@pN*lY>NAtU63))J<4U=OXvsF_W7h-U{Gm7ih3XavJqRA2O|uAo0(X6nsnKiWM0t4Li}p+eF7%xHTk zoZF_N;~|7vWM2IDH@nZ9%QWcGG{5^eJaX;tpRPZ<^MTLA zNIAs(aC)aaxU2ZPHHQmpOi%-A22S=2UjJb+je|6G$vNID@pw9?9kt5}-AjY;W6F!08O@jILSqd@0qYK}=6 z4G&RT1-Qy=SaIhKTUp!mMX&NNEYMEgaGYJdZ0e#8^LIL3ZCAds9Ow%DaYX}Z>gd*P znJpuE$KAm7ZT)G{O*qLALuH^nDd@;&(I~;N9cJ1o)A=LX_Ld08UsotWSZZf#pMBJz zfayG1i$S5bKguY@h>FN_F{$qQ%}vXgc;Jg@CHqjVrXQIq?$PEpCm>72o4aGK5+h!5 z0R>&ia|Xa?qb0mhZNJ5o4)&#jT`B096w)WKl;`R7=l2%%8oe0tph-nf4pUo_y0+7l zN0ud+sJdK~OT9zk?^pe`9hJ2t072GJLJUXjYlpN!bm{77^g**GE-kZeAEMG7d93E$ zW?46X=M|%)7>r-*S-LeixG_^`%RD3XUn8Uy z-^!0`>GY~((dhu9vkW8Y(RL_0{Gc_hX}|;kIKYOBlHIv#dCBKWj8JaA)C` zl;pwjb$HhMeY&ba#GdD&`tk%;2q7$PAVw)UXjd38JfyuXQikD}Rpq>kmZdqZOg9y` zIZ|Fk!@I{CfX~#|tY`M#R{O+;b}!>^i#GlYkR#pOrmnRtuuhM2wWjc$rHDU1gP`6HzRr zwPAJ(A?RM{AaH;}-%6M)$f570Mm48NFaYF(968|D@kyYe-cHF|l`%N!@ z;#K`(&OAf(IUdSJ4B{#EFvmzE-Fde1-Kt6?+GHm5vf2d4RBD9Mlz%{CuH_80M6$noONNmj^Fz03B}OKjyM3!<_8uvJ2$c@6dMW8z1AC z4b})mVr_fdlBR23m3BP`{2rl}2nSjClUErTG;wA%A91_=k9S&+Y*vj{*>>qMs#cMZ z8FMAQav`3n+p$tRL)g32?ud7`7Y0iS7Z4%g%KPmkLF;)$lV|QRj#1-}4%Pfsm2VeX zRKJOT07@mBX44p`Xj*n+jTU;C*3OgH*?%X0rr`{ukSF|zgXFofpAlXz@MYfrm&HnJ zhCtKV&}W-rEyk34-rdyV^6}FA$8j+4-$eQuqjCnj2Ze{>-d>rKj$q0Cqf`1%{x>P{ zra40iGNQwi@CLYYnTXSu02gd5;>tHpJ3V2_g{g=K9TM6S2A#hTg!r=oo)uh1F564g zV^UHKZ}LAl?BGW(18Y@_R>pRYzkgSynJ6Ca^4+CvvN;*v?iXfE+OlH@A75FY(%OFE zAZ+yBU#MnOt@(arp^N)dJBuqiF)(f=qI7qUzF~{`f;N5(=dgxUJ@cA3Jc;J%^j4t5Zf~8X?9$minS&ESMYhDn>RU&<3NTp8JxFjKR^2*G*q+r9V2fX+JPWX+%R z$NR@X8;@H;9v(Y?l-S>iP}Q~e!pum5Q@Wk-Yi0V~G@a@QG)NS3aX5x)R0@Q`P2|f| z%uen)Q*~zNm#F@Km$o02)IF$aESVFHi0)V~+e_;UgS|Kk7BF&#ubqPA1-x9)4v-TB zE2fck2!jwTW*Y?F5Yre`7uwYsMQUTj>|aTxOt|JNnYsTO9nMkjOjC7I;k59&Gnz^) zA)4Vd@g?-@{i!p|xv;Jr)V-guZMA$@T+-8sH^8xPGszv{1xEqkO4L!pSUkfqcvH^n%SX5M zm(};3;ki(lYH6iB*vx;#X}GbOD79M8ELBVcM`6IP&ekonNKNUxEK`+mrpZ2jPvDSu z358`stZ5zv7SYV(ZNC5h;E>4!%#k)juN{7bL6oPKFGH@<?DE@S{l*#H z?G6dBzkeJKqucd(ieAl?+#LQg0*W?}_0Y_M;rFa| zX!cfs^orGGc2{h^=p>jaulcOm+W3dBY;Nb)wEM~a^}KkwTvJgOZEtdnm#2%3L{3Ux zP0mt86gc1lQoFhKHq){@vN`uAroumo=C{GH9yD-+qQluog(_8l<|n9TR!}KGh;oep{)M33zdZxWxfS zG7bCI6~VopJspoc$Y}e8k{$hF;Xm>D;A3^q?DbbEqDv|P;@`bABX@g#9Xb5 zn1oIRLqcsW^an<9&SE3}xxIWEuBqhZCQPl%p<238=@D=axVKZ1O+)4exdQb;KC}X>l=FFhQoQLP+ z^MH8c$OGg8X3 zG24n3u$Toq-~*n=7k;`|9s}hoN@QqeFtFu8zx>?3-!qQn9Gs#} zY6vV1IOmYapXbvO~!Se2%pI(eqoY$n}%`HEP@843oLXMjL5iqy`(O zVNnNN#()mhyE)VV&LGV1*3WOMbEl@mGyt^>d7+3Og(eiZ33|J_=IP33ZY?u7o1QBd zoFrC+ImK@fwmxYt6QoOHfuilv%w0Hxrn08HQ6Mr7m{OHu172~7bTwA;iO5(hmu5nA zou{U_6^3%bXIV9?w|st)b+87Pe>cv!Y;G1OEyZv-IQd8N=S9jjB_sLn)6(uFGv4*d zN$Ce5ju@F=WROig%LBY>GSr@dj6E2k2aqCz;?k3yo1lQ)?cP!NbzC%FHDCL0;*#Z$ z6l3_{LHC+3nXr&2lW7;oI;BlqJ&$Znil}p0DsQDZvSo4s-)=hb)VyPR?n>#nbovlI zbXvI*Im0_N@$fgAMRaXsEe-22!W2>cyX|2n9|U@$7QX#v4CC*X?S*b7-h8xw%suP2 zo?T~6O)(FzO`iKThO#>kZRDbL;3U?45&H+H;Dx#uW<%(s(#1*hdU99iFm)*uc0Y6> z$4M(#{|{;-bE6xki+Z9stC^pgKkI+z1o&BSt?KWFBE3f>Ax`Q=W99wG=I`%rC2~Oe zgk8-O;P5-RGF7rU|H)y@AI^$5e`KoC)wapHf{s1JTyN%om146xJu7{nwN^jY9$859 z-s(P*7%Abf`U}37OJqJE+SX?R7@bo+BY>8E-AtIP)jShjE-H}3s&A&&j`CK82>nkZ zmQ%DAylj-ptnos@#&pm>SxXyx4M)7=j26(Ym6=<+cit_p5%#VxO7lLdI+I{A3S-nL zt+VrSC|J^0*mUQIu>j*61Ne|Z!t~t2H~7lm=EUNR1u^k^&*{zlSA{-`lBp&yc`5}1 zujDOFUaXr{3e4W(&7X^fu9-4-^f>;}uY2NNT3DdT!6U~PQ9oZ?_$w6z`BxPZ-!wXW zrHf0MV5vIVtiN6?8CMO)2lxoiy8`7ryS!6(wHo{{TUsl{D${Nr65_X+=aA|xFb7ld ze&+$kyatA|1D()v&C*R_IrewT>c(m6U-QRo4VYXIAaQQt5EkpQcrGs3^bp(UhjAw9 zgc1$ma=ypz3nx#F-k+%)hFFr`G;edlQ$n)2Ao_kC9;2&{b`Tb}QHkR5_s~OHM7|Oa zTrZ?SssMzL)4BUZ(kr7YaybGf;-F|Gi9ojIS3HxV;4J~p!O49qLg{Yx5nG4MqIwLW zG3*_E+UFm%4g5C1K9L~%BwkgbvQ`M|9f%1gBL@oGq$FmvK_F#3b~!HjoHvtUsCOC| zbG4KB5|%1mex~>cHwQMnvvVk2P}Ol58)1#Sjp*k}-;G6=Y>s=pzgmok zDjzNixqnMHJ0eFlN1RoaKFwo8QOLxf3wSB^$N*5=C~DhOmZfL}_Z&?c?A(-Cn8AJN zgGKP3%x9%tc7lcRLV-@qc7BX3#mPf@R8I^wEY*NCF`z}mQ{(8k&K}Nr&(R#l(!k;! z@v5nq!GNxcgUd)%6X_?rrTN{TwT_)cJ2ZMY%{(#QHl*_VkF{}9F~M+tIvrwfh278N zDRjkjHqLP;lX&&MDGOgQU5O2T^m5TVMJE-PQ?TP9+)}@etx-%U0Y&Gc!AW26MAQo5 z4CKlyDEkRxn1c9Yq{5J8xf2+inuJ2|Ii^T^CDvE_Vn)eA>m@cS$d_5yQJFti>{izN zo!On1|5a2bgWSH@%5N>6H{NgXNZ%o&g;PlCMGwkC>4fxZ=9n^H^|bY8u>Uw|nW^d(yL_FGygVFKDk;@1 zM~HFxuH^40BPC23{_`Wf7&=E$pxdM-qss%;w1JFh_M0j>I0>1E;I!mnpg#oihfJe0 z?dQ=Q1}5q6460V|OjM zBESlo8Cyw0+e2Nvg#0+x^@{yiie~(wo;F*J8_Ny-u=TDp@on+<|7@Gq5-Ugot#q?e zE(j+~WP|Ij`?kGQI4of)#%@Zx1RO_xKl|Vv}gf;Zj-AZyl_`7Encn-3zPPZ=mz4Ex{%k9W6>e|mBGEQ1o}@11#ml7( zK(M&5q?otv&{L~H5_HvKdtm{9Eg4O578v}iV0_Xn)lW?`uh^_Z$s7dk^xLBzk$Y?p zJly|nc7KZe<8B(2*!LDC|0TQFq{le^mwXlvrWo*uIUZFlZm07dF8tt>maJX1T4<;! ziWf<*1%7nO=DY8tXuC(D(+wAx1ohazYtqHX-=;M}#2;qTE&Mgeee2p`-mkj3);S@e zc_#Bo=7Ma~P<7;02YTVE0M++3)x@|lMJzSRWqz~AHw?WUp7xnoU%@B z{JJJCKy^P_h*A`E$yj#BshMDh6e%PcP=;11-q*Q(PEk#4odTs?x)%y1z9SSa%0{K6g!jRmByzk6RmBRBW1U|5rT` z0P?WrZumG9xu3xWyt3Y!N%?Tdz(-DyfspXVP<=48{MW5ZuqL6<7<2b}0LpXc=6i7k z!y_Rx)sY!!*qJsXAV0so_3L^&+aHb!TNk5bbb^EseMxuIeW#Pryt%|_@rHbp%l>OV z$0xJKduu5tUBeP*d6m6a5KoNKHQ>E56@pNT$KJ=qV8eMc6X9DCXB^s8*{(xPqwn1D zRoyp#LWbR;W<}78swx$+ml0rqiHAMrB1NJ>K)hsun~Y0NIt=Y;eS{ylulQ$TeZ2yo2NXMR$@v5?~eLcHl4`P6IJZOAP`->y?2>YS($~Qq;f+PSML=! z`tJK`Jtv1d!_4;D-i~sw-~_~$Lt)#y&GU29#^(ZCgw+a)Gp9Nl-}yT2J}g*6~IK-NwlrFIEmdJYXt& zCTKz8ekSa6=1jZAq5TD+c2kC3~Fh5p&P{ul@=t)|*r z?#WND8Jzv&U$s2eVOl}o_pxoNXJ`Q#d>kJX=J<>FvjCZ%246+3I^X68qGA|4+wVZH zO#N0hkkUnCaF+ASMsxqIFPjUk+%xAr5f0<@F}+hbLkrm-TqsST)=41bm7a#M%&H?H zG2QJaU~ZRr35rJZlcI9?Zsc`83w~y2c1F#WYnqZSx?;QoX&N!de_5(pQ*o>sAkj^? z{%3h#{%JHGWe4A@0Z_xf*0fgDfsBs?BX2*{nyMAb+;qD8$sMN@ZaJ5iXtqkZti!=lVf3=(KpYsvO-d?JV2(M!Du58 zD=pxgHpPp=Tm=M23QRXbFc7X!57Vu{#mIdK*y*arH@H?eC7;$ODb~#iZ&`K@*Kra9 za&jv(_( ze)pp!>dHf!ifWKBn6|XP8&E_8x12tQ#$A+z@Gu#acaHqCkH)n{-}=!?T?@OmdXhrZ z|1l|~_+l*hlp%4pT%$>mYK}_~t-JhcjxDF*c2-~-WFwu1eaG$JCAGXfOR?@kSd{8Q zT~}z2sLVCXD&p$Z?A}-OOYZx(Qd%it8X=R>8Gf~DzOohU)s;*-C3d6>USeu>Obqn?_3^MrC;haRD<$6Ndpk>h!?E5mkjG13Q!@T1Z8E8x$i1lo#6N5DNh$TAivm_5OEWc>l{D>Zv!l$mlQ5W<*pP@O%g&5 zH1krJAJLH?R2Wus`T(AoKV#;8%Dn!N|0AA^q@<1^aL3L40>>2t0-=)lwyX+}Xw4M& zU5MOs*ou+nF_@TQxwPQ=1QzZ1bUS(bp-VsY1B!ptmKu=>lNraY+$W19Jl1)J#9W%2c1f#O;D73~qaBpDy`O~u#YEv91QXPMg zY`6Yec4yvkQaj-u1>aq}aN*eoBLLZCj3%m}05D&Ks$IxYUywc9a#-A2BMHYl0go&vWTW>4Ht3N{`=Q%&Ch^CIsw?b> zZR7i(1#taT%pWPVLsI?yQ3kMoTjSOh6AZ|=Skx;g{Me{hEUh)CH>(@3hD3~aRgE1G z+as-8h#s(Zca6fyxO%lk{#j}1O~@Mtuq1{$+G~h_J3nU7^%=G1^6BG45kFiCw~|@y zu^Z`0br1Z&e$L)|QuCS(sD{@Y71bMchgbrCZxa>k{{rD)T3~xb)+g)dkh1eSWwILZ zCX_K$4*_wx)PtJO1um-NyK5gxf4u9^Pd&_QPws--o#UzPiT&cB4^j<^L#__j0IXo& zXJ^&e#@>c4$*~k080i6#dkDp-?#`aKlxdlYMT|pzU_Og!AOH_#onB*W@L^E zBCEqJ2?+x#XD$?LinrR-VZZaHViMI!;eIXKrM72t*;=rIiX1$ELxk$4In-+~<%x9qFq!cyD&Pbd0hUOl9$|B=s5bTzr zwXyD(IoL>%1mB9ijK`T33UeL=65~rAQ6jkXGKTa8u}PqR*eMEGWIc&AbMbhGysF&T(5X6!)Wg% zw7IUmQG_Di$M_5FS7u!@3&hG&KY`8`m%O96_i+s;u9)oqa#JEftu3rfxezuOAyNt# z<-DqDojP>m7K38Dt9C9j)oaDPZ34^&y^K9~i$V^Lkvea6HfAcd)SWI~GIH)L*ulXP zySozGdT_i4(}MGIz}DbXOEi!8ESBshi-aLvP@r2S{%!l!dFM$ zYw)kG3&jEno8H3ob0R}b+1lHSDH$ekP>8AGmUvsasZ6{W#EhP)%27G9)q+z$M~_o)Y9avzpUN zu{eEwcs^AS6c*2dewX69c%iq;Oq}?zhC7cA;h4HZ^mWSQ{8mwMpHjs;vED>}$o}MWi=~mzYrS`6UDn;?Wt4NAXJ1zFfIO-@&r$#l zaTA+k#(9sD{8HC-zKVVFwBQoF_%r60r8~nS%mTxBj-ej}VB{K3MT0!DKjtkrJMC^7 z7P~04bbe7sn4XPDstWwWtk?{N{E6{LXZaG%8Og1SeR6;6bCvuD`q=e2J68=`=}vTQ z5D-%b+_7qUp@{=wY3Mu@SFJ}u&U-pDiP>G>OFOTB?q-y=W-wp%v1M_3hZ}{U zY&ETq`yq#El}biDyu?RCBY3cC)!fWut}0&(S21Xj`W|IJvRoSJhBAFuxdJVOg{HHY zxgynNJ@r%T)zSWsz=K=|UWKSZby5m)2U0T1Ql~9VK%mvp)^kXu!tgyL} z4q4KE_j3|^pfolnpZ`hjDvXzjLKd7PV>qZZ=8y=WY1g-h)YpsK&cF%wFDglI6?0GYk2!Ug`72F!I6D+XUe3B?+ z@4Ur0kl7j`L_g^a#ztTtektRL_^DyT9Pq@7^T3JAk2?zb0s!;nO+)fvy?7cvXK5(h znfg+Z`g)s%W{Pf$T>IywG%rY~O^@Ifyw?g95Ll4D+fl}OavP;Dvtp8?I3#G%jTRCg zxGjZ=bl5`lPcoM-BzkONGBP?OHME|F@XKfK2JP4q88XdFvNvISNMyRYd^EH@jC`%` zcrZXgqF4!1EjKWnWsYgf#gfb^UXflS1@%m+&gm;&j6c{y+~q6YSVhYL>e;Y4w5j5M hqa4xVLKgN9c;{kdFSX;%{9k>glAOA1owP;R{{YzqK-&NS literal 0 HcmV?d00001 diff --git a/android/app/src/icca/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/icca/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..bd46741cc7bb8bf52cebcea81634757c908bf48a GIT binary patch literal 17500 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 getPackageList() { new expo.modules.constants.ConstantsPackage(), new expo.modules.documentpicker.DocumentPickerPackage(), new expo.modules.filesystem.FileSystemPackage(), + new expo.modules.lineargradient.LinearGradientPackage(), new expo.modules.localization.LocalizationPackage(), new expo.modules.location.LocationPackage(), new expo.modules.permissions.PermissionsPackage(), diff --git a/android/app/src/main/res/drawable-mdpi/logo.png b/android/app/src/main/res/drawable-mdpi/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..770b220572432ca97c690ecfad37d66bcf3f99af GIT binary patch literal 38627 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

`Olj@;Aa&+hxCQw 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-nodpi/logo.png b/android/app/src/main/res/drawable-nodpi/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..770b220572432ca97c690ecfad37d66bcf3f99af GIT binary patch literal 38627 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

`Olj@;Aa&+hxCQw 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/logo.png b/android/app/src/main/res/drawable-xhdpi/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..770b220572432ca97c690ecfad37d66bcf3f99af GIT binary patch literal 38627 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

`Olj@;Aa&+hxCQw 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/logo.png b/android/app/src/main/res/drawable-xxhdpi/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..770b220572432ca97c690ecfad37d66bcf3f99af GIT binary patch literal 38627 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

`Olj@;Aa&+hxCQw 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/logo.png b/android/app/src/main/res/drawable-xxxhdpi/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..770b220572432ca97c690ecfad37d66bcf3f99af GIT binary patch literal 38627 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

`Olj@;Aa&+hxCQw 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 literal 0 HcmV?d00001 diff --git a/bitrise.yml b/bitrise.yml index 5e28f6e17..b84fe3151 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -25,27 +25,55 @@ workflows: before_run: - primary envs: - - GRADLE_TASKS: assembleQaUniversal assembleAppUniversal + - GRADLE_TASKS: assembleQaUniversal assembleAppUniversal assembleIccaUniversal opts: is_expand: false steps: + - script@1.1.6: + title: Set APK path variables + inputs: + - content: |- + #!/usr/bin/env bash + # fail if any commands fails + set -e + # debug log + set -x + + UNIVERSAL_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-universal) + QA_UNIVERSAL_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-QA-universal) + ICCA_UNIVERSAL_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-ICCA-universal) + + envman add --key UNIVERSAL_APK_PATH --value "$UNIVERSAL_APK_PATH" + envman add --key QA_UNIVERSAL_APK_PATH --value "$QA_UNIVERSAL_APK_PATH" + envman add --key ICCA_UNIVERSAL_APK_PATH --value "$ICCA_UNIVERSAL_APK_PATH" - deploy-to-bitrise-io@1.9.5: {} - amazon-s3-uploader@1.0.1: title: Upload QA variant + is_skippable: true inputs: - aws_access_key: $AWS_ACCESS_KEY_ID - aws_secret_key: $AWS_SECRET_ACCESS_KEY - bucket_name: mapeo-apks - - path_in_bucket: beta-testing/qa - - file_path: ${BITRISE_DEPLOY_DIR}/mapeo-qa-universal-${ANDROID_VERSION_NAME}-qa.apk + - path_in_bucket: beta-testing/v${VERSION_NAME} + - file_path: $QA_UNIVERSAL_APK_PATH - amazon-s3-uploader@1.0.1: title: Upload Release variant + is_skippable: true inputs: - aws_access_key: $AWS_ACCESS_KEY_ID - aws_secret_key: $AWS_SECRET_ACCESS_KEY - bucket_name: mapeo-apks - - path_in_bucket: beta-testing/default - - file_path: ${BITRISE_DEPLOY_DIR}/mapeo-universal-${ANDROID_VERSION_NAME}.apk + - path_in_bucket: beta-testing/v${VERSION_NAME} + - file_path: $UNIVERSAL_APK_PATH + - amazon-s3-uploader@1.0.1: + title: Upload ICCA variant + is_skippable: true + inputs: + - aws_access_key: $AWS_ACCESS_KEY_ID + - aws_secret_key: $AWS_SECRET_ACCESS_KEY + - bucket_name: mapeo-apks + - path_in_bucket: beta-testing/v${VERSION_NAME} + - file_path: $ICCA_UNIVERSAL_APK_PATH meta: bitrise.io: null stack: linux-docker-android @@ -84,11 +112,11 @@ workflows: bitrise.io: null stack: linux-docker-android deploy-release: - description: Deploy for QA testing + description: Deploy release builds before_run: - primary envs: - - GRADLE_TASKS: assembleApp bundleAppUniversal -x assembleAppDebug + - GRADLE_TASKS: assembleApp assembleIccaRelease bundleAppUniversal -x assembleAppDebug opts: is_expand: false steps: @@ -103,28 +131,42 @@ workflows: # debug log set -x + echo "SOURCE_DIR = ${BITRISE_SOURCE_DIR}" + RELEASE_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-v) INTEL_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-intel) UNIVERSAL_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-universal) + ICCA_RELEASE_APK_PATH=$(echo -n "${BITRISE_APK_PATH_LIST//|/$'\n'}" | grep mapeo-ICCA) - envman --key RELEASE_APK_PATH --value "$RELEASE_APK_PATH" - envman --key INTEL_APK_PATH --value "$INTEL_APK_PATH" - envman --key UNIVERSAL_APK_PATH --value "$UNIVERSAL_APK_PATH" + envman add --key RELEASE_APK_PATH --value "$RELEASE_APK_PATH" + envman add --key INTEL_APK_PATH --value "$INTEL_APK_PATH" + envman add --key UNIVERSAL_APK_PATH --value "$UNIVERSAL_APK_PATH" + envman add --key ICCA_RELEASE_APK_PATH --value "$ICCA_RELEASE_APK_PATH" - amazon-s3-uploader@1.0.1: title: Upload APK for Arm inputs: - aws_access_key: $AWS_ACCESS_KEY_ID - aws_secret_key: $AWS_SECRET_ACCESS_KEY - bucket_name: mapeo-apks - - path_in_bucket: beta-testing/qa + - path_in_bucket: release/${VERSION_NAME} - file_path: $RELEASE_APK_PATH + - script@1.1.6: + inputs: + - content: |- + #!/usr/bin/env bash + # fail if any commands fails + set -e + # debug log + set -x + + node ./scripts/gh-pages-redirect.js /icca/latest https://mapeo-apks.s3.amazonaws.com/release/${VERSION_NAME}/${RELEASE_APK_PATH##*/} - amazon-s3-uploader@1.0.1: title: Upload APK for x86 inputs: - aws_access_key: $AWS_ACCESS_KEY_ID - aws_secret_key: $AWS_SECRET_ACCESS_KEY - bucket_name: mapeo-apks - - path_in_bucket: beta-testing/default + - path_in_bucket: release/${VERSION_NAME} - file_path: $INTEL_APK_PATH - amazon-s3-uploader@1.0.1: title: Upload universal (all ABIs) APK @@ -132,8 +174,20 @@ workflows: - aws_access_key: $AWS_ACCESS_KEY_ID - aws_secret_key: $AWS_SECRET_ACCESS_KEY - bucket_name: mapeo-apks - - path_in_bucket: beta-testing/default + - path_in_bucket: release/${VERSION_NAME} - file_path: $UNIVERSAL_APK_PATH + - amazon-s3-uploader@1.0.1: + title: Upload APK for ICCA (Arm) + inputs: + - aws_access_key: $AWS_ACCESS_KEY_ID + - aws_secret_key: $AWS_SECRET_ACCESS_KEY + - bucket_name: mapeo-apks + - path_in_bucket: release-ICCA/${VERSION_NAME} + - file_path: $ICCA_RELEASE_APK_PATH + - script-runner@0.9.3: + title: Update download URL for ICCA release + inputs: + - file_path: scripts/gh-pages-redirect.js /icca/latest https://mapeo-apks.s3.amazonaws.com/release/${VERSION_NAME}/${ICCA_RELEASE_APK_PATH##*/} - script@1.1.6: title: Generate release description inputs: @@ -161,7 +215,7 @@ workflows: - service_account_json_key_path: $BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL - track: beta - apk_path: $RELEASE_APK_PATH - - app_path: ${BITRISE_SOURCE_DIR}/app.aab + - app_path: ${BITRISE_DEPLOY_DIR}/app.aab - package_name: com.mapeo meta: bitrise.io: null @@ -286,6 +340,10 @@ workflows: *Test*.apk mapeo-debug*.apk - gradle_task: $GRADLE_TASKS + - change-workdir@1.0.2: + inputs: + - is_create_path: "false" + - path: .. meta: bitrise.io: null stack: linux-docker-android diff --git a/package-lock.json b/package-lock.json index 4df4fac4e..941490240 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1297,6 +1297,21 @@ "sort-keys": "^3.0.0" } }, + "@digidem/wcmc-mapeo-mobile-intro": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@digidem/wcmc-mapeo-mobile-intro/-/wcmc-mapeo-mobile-intro-1.0.1.tgz", + "integrity": "sha512-+JhMicYXC+1+0X24geG2/mw2MfxQODl0sPCg8DKkwnmbAzL3/pCsbKmqyDJnKqRRkWK+xiVLOF+G0QVnt7Xbkw==", + "requires": { + "get-contrast-ratio": "^0.2.1", + "mdast-normalize-react-native": "^3.2.0", + "path": "^0.12.7", + "react-markdown": "^4.3.1", + "react-native-redash": "^9.6.0", + "react-native-tab-view": "^2.13.0", + "react-navigation-hooks": "^1.1.0", + "remark": "^11.0.2" + } + }, "@emotion/cache": { "version": "10.0.27", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.27.tgz", @@ -3573,6 +3588,11 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + }, "@types/webpack-env": { "version": "1.15.1", "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.15.1.tgz", @@ -3884,6 +3904,11 @@ "event-target-shim": "^5.0.0" } }, + "abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" + }, "absolute-path": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", @@ -5109,6 +5134,11 @@ } } }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -5959,6 +5989,11 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, + "ccount": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz", + "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==" + }, "chainsaw": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", @@ -5981,20 +6016,22 @@ "character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "dev": true + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", + "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" }, "character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "dev": true + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" }, "character-reference-invalid": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "dev": true + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" }, "chardet": { "version": "0.4.2", @@ -6270,6 +6307,11 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -7558,6 +7600,11 @@ "mimic-response": "^1.0.0" } }, + "dedent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz", + "integrity": "sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s=" + }, "deep-assign": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", @@ -7816,7 +7863,6 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, "requires": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -7825,14 +7871,12 @@ "domelementtype": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" }, "entities": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", - "dev": true + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" } } }, @@ -8228,6 +8272,12 @@ "integrity": "sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw==", "dev": true }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "dev": true + }, "es6-shim": { "version": "0.35.5", "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.5.tgz", @@ -9094,6 +9144,11 @@ "uuid-js": "^0.7.5" } }, + "expo-linear-gradient": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-8.0.0.tgz", + "integrity": "sha512-5G3ePGAHUoyBWbGITw5RtdJpssH8TXhCgt55cV+5LTTFjr51OZcuOmGua1vRoVFKBC/9ibLW465GEx9H/HS07Q==" + }, "expo-localization": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-8.0.0.tgz", @@ -10096,22 +10151,26 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": "", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "optional": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": "", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": "", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "optional": true, "requires": { "delegates": "^1.0.0", @@ -10120,12 +10179,14 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "optional": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "optional": true, "requires": { "balanced-match": "^1.0.0", @@ -10134,32 +10195,38 @@ }, "chownr": { "version": "1.1.3", - "bundled": true, + "resolved": "", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "optional": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "optional": true }, "debug": { "version": "3.2.6", - "bundled": true, + "resolved": "", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "optional": true, "requires": { "ms": "^2.1.1" @@ -10167,22 +10234,26 @@ }, "deep-extend": { "version": "0.6.0", - "bundled": true, + "resolved": "", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": "", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "optional": true }, "fs-minipass": { "version": "1.2.7", - "bundled": true, + "resolved": "", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "optional": true, "requires": { "minipass": "^2.6.0" @@ -10190,12 +10261,14 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "optional": true, "requires": { "aproba": "^1.0.3", @@ -10210,7 +10283,8 @@ }, "glob": { "version": "7.1.6", - "bundled": true, + "resolved": "", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -10223,12 +10297,14 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "optional": true }, "iconv-lite": { "version": "0.4.24", - "bundled": true, + "resolved": "", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -10236,7 +10312,8 @@ }, "ignore-walk": { "version": "3.0.3", - "bundled": true, + "resolved": "", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "optional": true, "requires": { "minimatch": "^3.0.4" @@ -10244,7 +10321,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { "once": "^1.3.0", @@ -10253,17 +10331,20 @@ }, "inherits": { "version": "2.0.4", - "bundled": true, + "resolved": "", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "optional": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": "", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "optional": true, "requires": { "number-is-nan": "^1.0.0" @@ -10271,12 +10352,14 @@ }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "optional": true, "requires": { "brace-expansion": "^1.1.7" @@ -10284,12 +10367,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "optional": true }, "minipass": { "version": "2.9.0", - "bundled": true, + "resolved": "", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "optional": true, "requires": { "safe-buffer": "^5.1.2", @@ -10298,7 +10383,8 @@ }, "minizlib": { "version": "1.3.3", - "bundled": true, + "resolved": "", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "optional": true, "requires": { "minipass": "^2.9.0" @@ -10306,7 +10392,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "optional": true, "requires": { "minimist": "0.0.8" @@ -10314,12 +10401,14 @@ }, "ms": { "version": "2.1.2", - "bundled": true, + "resolved": "", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "optional": true }, "needle": { "version": "2.4.0", - "bundled": true, + "resolved": "", + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", "optional": true, "requires": { "debug": "^3.2.6", @@ -10329,7 +10418,8 @@ }, "node-pre-gyp": { "version": "0.14.0", - "bundled": true, + "resolved": "", + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -10346,7 +10436,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { "abbrev": "1", @@ -10355,7 +10446,8 @@ }, "npm-bundled": { "version": "1.1.1", - "bundled": true, + "resolved": "", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "optional": true, "requires": { "npm-normalize-package-bin": "^1.0.1" @@ -10363,12 +10455,14 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "optional": true }, "npm-packlist": { "version": "1.4.7", - "bundled": true, + "resolved": "", + "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -10377,7 +10471,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -10388,17 +10483,20 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "optional": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "optional": true, "requires": { "wrappy": "1" @@ -10406,17 +10504,20 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -10425,17 +10526,20 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "optional": true }, "process-nextick-args": { "version": "2.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "optional": true }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": "", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "optional": true, "requires": { "deep-extend": "^0.6.0", @@ -10446,14 +10550,16 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "optional": true } } }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": "", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -10467,7 +10573,8 @@ }, "rimraf": { "version": "2.7.1", - "bundled": true, + "resolved": "", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "optional": true, "requires": { "glob": "^7.1.3" @@ -10475,37 +10582,44 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": "", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "optional": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": "", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": "", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "optional": true }, "semver": { "version": "5.7.1", - "bundled": true, + "resolved": "", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "optional": true, "requires": { "code-point-at": "^1.0.0", @@ -10515,7 +10629,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": "", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { "safe-buffer": "~5.1.0" @@ -10523,7 +10638,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "optional": true, "requires": { "ansi-regex": "^2.0.0" @@ -10531,12 +10647,14 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "optional": true }, "tar": { "version": "4.4.13", - "bundled": true, + "resolved": "", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "optional": true, "requires": { "chownr": "^1.1.1", @@ -10550,12 +10668,14 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "optional": true }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": "", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "optional": true, "requires": { "string-width": "^1.0.2 || 2" @@ -10563,12 +10683,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "optional": true }, "yallist": { "version": "3.1.1", - "bundled": true, + "resolved": "", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "optional": true } } @@ -10655,6 +10777,14 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, + "get-contrast-ratio": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/get-contrast-ratio/-/get-contrast-ratio-0.2.1.tgz", + "integrity": "sha512-lNIpmDIoxlVJsEQ5G/XCxH2YiiXH0ukOZ0ASvPp9ku2f+2AOYG5OXQ9cLgc9p3lNom5gy8JLkfSzi8fZN9LdKg==", + "requires": { + "get-relative-luminance": "0.3.1" + } + }, "get-pkg-repo": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", @@ -10838,6 +10968,14 @@ } } }, + "get-relative-luminance": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/get-relative-luminance/-/get-relative-luminance-0.3.1.tgz", + "integrity": "sha512-nLEJhDAPC4anQlFhBxt8lHRwxs5OvOxmN0mHCxOCFDtzy0x5cXTMKNKUycpulsAw1zNOtz6GIRcIaVMcUUcU7Q==", + "requires": { + "parse-color": "1.0.0" + } + }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", @@ -11536,6 +11674,63 @@ } } }, + "html-to-react": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/html-to-react/-/html-to-react-1.4.2.tgz", + "integrity": "sha512-TdTfxd95sRCo6QL8admCkE7mvNNrXtGoVr1dyS+7uvc8XCqAymnf/6ckclvnVbQNUo2Nh21VPwtfEHd0khiV7g==", + "requires": { + "domhandler": "^3.0", + "htmlparser2": "^4.0", + "lodash.camelcase": "^4.3.0", + "ramda": "^0.26" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" + }, + "domhandler": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.0.0.tgz", + "integrity": "sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==", + "requires": { + "domelementtype": "^2.0.1" + } + }, + "domutils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.0.0.tgz", + "integrity": "sha512-n5SelJ1axbO636c2yUtOGia/IcJtVtlhQbFiVDBZHKV5ReJO1ViX7sFEemtuyoAnBxk5meNSYgA8V4s0271efg==", + "requires": { + "dom-serializer": "^0.2.1", + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0" + } + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + } + } + }, "html-webpack-plugin": { "version": "4.0.0-beta.11", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz", @@ -11617,6 +11812,25 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "hubfs.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hubfs.js/-/hubfs.js-1.0.0.tgz", + "integrity": "sha1-i3UIaIQ0tQ2H1uoc0anJODwLJio=", + "dev": true, + "requires": { + "async": "^0.9.0", + "octokat": "^0.4.9", + "xtend": "^4.0.0" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, "husky": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz", @@ -11994,14 +12208,17 @@ "is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "dev": true + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" }, "is-alphanumerical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dev": true, "requires": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" @@ -12073,8 +12290,7 @@ "is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "dev": true + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" }, "is-descriptor": { "version": "0.1.6", @@ -12163,8 +12379,7 @@ "is-hexadecimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "dev": true + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" }, "is-installed-globally": { "version": "0.1.0", @@ -12236,8 +12451,7 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, "is-plain-object": { "version": "2.0.4", @@ -12325,6 +12539,11 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + }, "is-window": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz", @@ -12336,6 +12555,11 @@ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" + }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", @@ -13613,6 +13837,11 @@ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", "dev": true }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -13849,6 +14078,11 @@ } } }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==" + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -13857,6 +14091,21 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lottie-ios": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/lottie-ios/-/lottie-ios-3.1.6.tgz", + "integrity": "sha512-pnwkPpM3e6CiHY/Mc1eXlDEfvv/CW9jx/TNsX/JWABVF0RiyEidQd8uXBiu5GUxY813pZJN53+k+/cOiAufE5A==" + }, + "lottie-react-native": { + "version": "github:NTag/lottie-react-native#2d639f79a924696b481b4199ff1bcb2915a8b33e", + "from": "github:NTag/lottie-react-native#reanimated-support", + "requires": { + "invariant": "^2.2.2", + "lottie-ios": "^3.1.3", + "prop-types": "^15.5.10", + "react-native-safe-modules": "^1.0.0" + } + }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -13991,6 +14240,16 @@ "ajv": "^6.10.0" } }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" + }, "markdown-to-jsx": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.0.tgz", @@ -14046,6 +14305,66 @@ "safe-buffer": "^5.1.2" } }, + "mdast-add-list-metadata": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdast-add-list-metadata/-/mdast-add-list-metadata-1.0.1.tgz", + "integrity": "sha512-fB/VP4MJ0LaRsog7hGPxgOrSL3gE/2uEdZyDuSEnKCv/8IkYHiDkIQSbChiJoHyxZZXZ9bzckyRk+vNxFzh8rA==", + "requires": { + "unist-util-visit-parents": "1.1.2" + } + }, + "mdast-flatten-image-paragraphs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mdast-flatten-image-paragraphs/-/mdast-flatten-image-paragraphs-1.0.0.tgz", + "integrity": "sha512-xalAJqig/e8ODwgdQUpunHGL9KnHz3DVNtmQQL5m1VFKHMAQg7DSShNMkv7qT2Bn3iGoGoBj6ySjlyjceMu6FA==", + "requires": { + "unist-util-flatmap": "1.0.x" + } + }, + "mdast-flatten-listitem-paragraphs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mdast-flatten-listitem-paragraphs/-/mdast-flatten-listitem-paragraphs-1.0.0.tgz", + "integrity": "sha512-F4/nTdHHi3n+ayQ8EDgALsBXctfkgjg3x5ssCC0Kr+4vYWkh+L7wq53QItzkZ51cTTM2VOa0sJHb9OIGZU0/7A==", + "requires": { + "unist-util-visit": "1.3.x" + } + }, + "mdast-flatten-nested-lists": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mdast-flatten-nested-lists/-/mdast-flatten-nested-lists-1.2.0.tgz", + "integrity": "sha512-hJ1PdmkTsHPERfWNA45SYF6xVwePq2MH/363TykSQKqxNPit6a6/0iJdAP9OrA1OPEZgNbrAIW+Oy2la6tFp1Q==", + "requires": { + "unist-util-flatmap": "1.0.x" + } + }, + "mdast-move-images-to-root": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mdast-move-images-to-root/-/mdast-move-images-to-root-1.0.0.tgz", + "integrity": "sha512-oRwleFtUVWCB0ejkVzEV0ans8TaswxoXY3ORR38B3/nPbkkWnNq/F3KPnAa/K4C04K50Z7xQ5Bj4zw1+Of7Y1Q==", + "requires": { + "unist-util-flatmap": "1.0.x" + } + }, + "mdast-normalize-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-normalize-react-native/-/mdast-normalize-react-native-3.2.0.tgz", + "integrity": "sha512-hqj8L4djOW7SbMrWosKWg90OIFWS+GZgeOnA88D5rMsWM1XeK1u8jVEGC9KM0IIB/sPff3Yb3gX9z1/+s3l5GQ==", + "requires": { + "mdast-add-list-metadata": "1.0.x", + "mdast-flatten-image-paragraphs": "1.0.x", + "mdast-flatten-listitem-paragraphs": "1.0.x", + "mdast-flatten-nested-lists": "1.2.x", + "mdast-move-images-to-root": "1.0.x" + } + }, + "mdast-util-compact": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", + "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -15349,6 +15668,14 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, + "normalize-svg-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.0.1.tgz", + "integrity": "sha1-b3Ka1rcLtMpO/y/ksQdInv4dVv4=", + "requires": { + "svg-arc-to-cubic-bezier": "^3.0.0" + } + }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -15577,6 +15904,16 @@ "has": "^1.0.3" } }, + "octokat": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/octokat/-/octokat-0.4.18.tgz", + "integrity": "sha1-r6flJlS1Rkkj+AGRezoxz/emhI0=", + "dev": true, + "requires": { + "es6-promise": "3.0.2", + "xmlhttprequest": "~1.8.0" + } + }, "octokit-pagination-methods": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", @@ -15974,11 +16311,25 @@ "safe-buffer": "^5.1.1" } }, + "parse-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", + "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", + "requires": { + "color-convert": "~0.5.0" + }, + "dependencies": { + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" + } + } + }, "parse-entities": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", - "dev": true, "requires": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", @@ -16008,6 +16359,11 @@ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" }, + "parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" + }, "parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", @@ -16068,6 +16424,30 @@ } } }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + } + } + }, "path-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.0.tgz", @@ -16729,8 +17109,7 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "2.0.1", @@ -17662,6 +18041,21 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", "dev": true }, + "react-markdown": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-4.3.1.tgz", + "integrity": "sha512-HQlWFTbDxTtNY6bjgp3C3uv1h2xcjCSi1zAEzfBW9OwJJvENSYiLXWNXN5hHLsoqai7RnZiiHzcnWdXk2Splzw==", + "requires": { + "html-to-react": "^1.3.4", + "mdast-add-list-metadata": "1.0.1", + "prop-types": "^15.7.2", + "react-is": "^16.8.6", + "remark-parse": "^5.0.0", + "unified": "^6.1.5", + "unist-util-visit": "^1.3.0", + "xtend": "^4.0.1" + } + }, "react-native": { "version": "0.61.5", "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.61.5.tgz", @@ -17773,6 +18167,11 @@ "resolved": "https://registry.npmjs.org/react-native-android-open-settings/-/react-native-android-open-settings-1.3.0.tgz", "integrity": "sha512-h4FTWRtTLRVNS7RK4Bg2gAXe8G5bFZL8Jtmfk2rG2a/N/wJR+v1rAY2BxRkC48lQTqwQCIAQRbWgLVkJ8XmaLQ==" }, + "react-native-build-config": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/react-native-build-config/-/react-native-build-config-0.3.2.tgz", + "integrity": "sha512-yGWzeJNR1m0Cml6grVEnE/5/5dcKvDLmnubJkA/6Tt5P/40JAgrtjwEnC8NifhLIKZ1rEzbL/inIh/m7qkvEtg==" + }, "react-native-fs": { "version": "2.16.4", "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.16.4.tgz", @@ -17863,6 +18262,17 @@ "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.7.0.tgz", "integrity": "sha512-FQWSqP605eQVJumuK2HpR+7heF0ZI+qfy4jNguv3Xv8nPFHeIgZaRTXHCEQL2AcuSIj50zy8jGJf5l134QMQWQ==" }, + "react-native-redash": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/react-native-redash/-/react-native-redash-9.6.0.tgz", + "integrity": "sha512-0Q0YppSQQ7LJlYcSzb2GGYtKvZFVOfzYeJc/cE1smXNisXyanFmFLrWZ1L4OuZyCas+cl3nELYeQi55ys3h6bg==", + "requires": { + "abs-svg-path": "^0.1.1", + "normalize-svg-path": "^1.0.1", + "parse-svg-path": "^0.1.2", + "use-memo-one": "^1.1.1" + } + }, "react-native-safe-area-view": { "version": "0.14.8", "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz", @@ -17878,6 +18288,14 @@ } } }, + "react-native-safe-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-native-safe-modules/-/react-native-safe-modules-1.0.0.tgz", + "integrity": "sha512-ShT8duWBT30W4OFcltZl+UvpPDikZFURvLDQqAsrvbyy6HzWPGJDCpdqM+6GqzPPs4DPEW31YfMNmdJcZ6zI2w==", + "requires": { + "dedent": "^0.6.0" + } + }, "react-native-screens": { "version": "2.0.0-beta.2", "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.0.0-beta.2.tgz", @@ -18574,6 +18992,134 @@ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", "dev": true }, + "remark": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/remark/-/remark-11.0.2.tgz", + "integrity": "sha512-bh+eJgn8wgmbHmIBOuwJFdTVRVpl3fcVP6HxmpPWO0ULGP9Qkh6INJh0N5Uy7GqlV7DQYGoqaKiEIpM5LLvJ8w==", + "requires": { + "remark-parse": "^7.0.0", + "remark-stringify": "^7.0.0", + "unified": "^8.2.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "remark-parse": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-7.0.2.tgz", + "integrity": "sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz", + "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "vfile": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.2.tgz", + "integrity": "sha512-yhoTU5cDMSsaeaMfJ5g0bUKYkYmZhAh9fn9TZicxqn+Cw4Z439il2v3oT9S0yjlpqlI74aFOQCt3nOV+pxzlkw==", + "requires": { + "@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" + } + }, + "vfile-message": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.2.tgz", + "integrity": "sha512-gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + } + } + }, + "remark-parse": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz", + "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-stringify": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-7.0.4.tgz", + "integrity": "sha512-qck+8NeA1D0utk1ttKcWAoHRrJxERYQzkHDyn+pF5Z4whX1ug98uCNPPSeFgLSaNERRxnD6oxIug6DzZQth6Pg==", + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^2.0.0", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -18611,6 +19157,11 @@ "is-finite": "^1.0.0" } }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -20000,6 +20551,11 @@ } } }, + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -20250,6 +20806,18 @@ "safe-buffer": "~5.1.0" } }, + "stringify-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-2.0.0.tgz", + "integrity": "sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A==", + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.2", + "is-hexadecimal": "^1.0.0" + } + }, "stringify-package": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.0.tgz", @@ -20333,6 +20901,11 @@ "has-flag": "^3.0.0" } }, + "svg-arc-to-cubic-bezier": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" + }, "svg-parser": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.3.tgz", @@ -21038,6 +21611,11 @@ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, "trim-newlines": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", @@ -21050,6 +21628,16 @@ "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", "dev": true }, + "trim-trailing-lines": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz", + "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==" + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + }, "ts-dedent": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-1.1.1.tgz", @@ -21191,6 +21779,15 @@ "integrity": "sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg==", "dev": true }, + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -21215,6 +21812,19 @@ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" }, + "unified": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", + "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^2.0.0", + "x-is-string": "^0.1.0" + } + }, "unimodules-barcode-scanner-interface": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.0.0.tgz", @@ -21309,6 +21919,42 @@ "crypto-random-string": "^1.0.0" } }, + "unist-util-flatmap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unist-util-flatmap/-/unist-util-flatmap-1.0.0.tgz", + "integrity": "sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==" + }, + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + }, + "unist-util-remove-position": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", + "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", + "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==" + }, + "unist-util-visit": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.1.tgz", + "integrity": "sha512-0fdB9EQJU0tho5tK0VzOJzAQpPv2LyLZ030b10GxuzAWEfvd54mpY7BMjQ1L69k2YNvL+SvxRzH0yUIehOO8aA==", + "requires": { + "unist-util-is": "^2.1.1" + } + }, + "unist-util-visit-parents": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-1.1.2.tgz", + "integrity": "sha512-yvo+MMLjEwdc3RhhPYSximset7rwjMrdt9E41Smmvg25UQIenzrN83cRnF1JMzoMi9zZOQeYXHSDf7p+IQkW3Q==" + }, "universal-user-agent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", @@ -21668,6 +22314,11 @@ "integrity": "sha512-C3nvxh0ZpaOxs9RCnWwAJ+7bJPwQI8LHF71LzbQ3BvzH5XkdtlkMadqElGevg5bYBDFip4sAnD4m06zAKebg1w==", "dev": true }, + "use-memo-one": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/use-memo-one/-/use-memo-one-1.1.1.tgz", + "integrity": "sha512-oFfsyun+bP7RX8X2AskHNTxu+R3QdE/RC5IefMbqptmACAA/gfol1KDD5KRzPsGMa62sWxGZw+Ui43u6x4ddoQ==" + }, "use-sidecar": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.0.2.tgz", @@ -21776,6 +22427,30 @@ "extsprintf": "^1.2.0" } }, + "vfile": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", + "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", + "requires": { + "is-buffer": "^1.1.4", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + }, + "vfile-location": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", + "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==" + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", + "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + }, "vlq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", @@ -22187,6 +22862,11 @@ "ultron": "1.0.x" } }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" + }, "xcode": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", @@ -22226,6 +22906,12 @@ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==" }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", + "dev": true + }, "xpipe": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/xpipe/-/xpipe-1.0.5.tgz", diff --git a/package.json b/package.json index ce6d77f5f..2b9f41d3a 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ } }, "dependencies": { + "@digidem/wcmc-mapeo-mobile-intro": "^1.0.1", "@react-native-community/art": "1.0.2", "@react-native-community/async-storage": "^1.5.0", "@react-native-community/netinfo": "^4.1.3", @@ -48,23 +49,30 @@ "eslint-plugin-jest": "^22.6.4", "expo-camera": "^8.0.0", "expo-document-picker": "^8.0.0", + "expo-linear-gradient": "^8.0.0", "expo-localization": "^8.0.0", "expo-location": "^8.0.0", "expo-sensors": "^8.0.0", + "get-contrast-ratio": "^0.2.1", "hoist-non-react-statics": "^3.3.0", "ky": "^0.16.1", "lodash": "^4.17.11", + "lottie-react-native": "github:NTag/lottie-react-native#reanimated-support", "mapeo-schema": "^1.8.0", + "mdast-normalize-react-native": "^3.2.0", "memoize-one": "^5.0.0", "nodejs-mobile-react-native": "^0.5.0", + "path": "^0.12.7", "prop-types": "^15.7.2", "querystring": "^0.2.0", "react": "16.9.0", "react-intl": "^3.3.2", + "react-markdown": "^4.3.1", "react-native": "0.61.5", "react-native-android-open-settings": "^1.3.0", + "react-native-build-config": "^0.3.2", "react-native-fs": "^2.16.1", - "react-native-gesture-handler": "^1.1.0", + "react-native-gesture-handler": "^1.5.6", "react-native-hooks": "^0.9.0", "react-native-image-resizer": "^1.1.0", "react-native-indicators": "^0.17.0", @@ -73,19 +81,22 @@ "react-native-network-info": "^5", "react-native-progress": "4.0.1", "react-native-reanimated": "^1.3.0", - "react-native-screens": "^2.0.0-alpha.32", + "react-native-redash": "^9.6.0", + "react-native-screens": "^2.0.0-alpha.34", "react-native-share": "^2.0.0", "react-native-splash-screen": "^3.2.0", - "react-native-tab-view": "^2.10.0", + "react-native-tab-view": "^2.12.0", "react-native-unimodules": "^0.7.0", "react-native-v8": "0.61.5-patch.0", "react-native-vector-icons": "^6.3.0", "react-navigation": "^3.9.0", "react-navigation-hooks": "^1.0.1", "react-navigation-transitions": "^1.0.10", + "remark": "^11.0.2", "semver": "^7.1.1", "shallowequal": "^1.1.0", "stacktrace-parser": "^0.1.4", + "use-memo-one": "^1.1.1", "utm": "^1.1.1" }, "devDependencies": { @@ -124,6 +135,7 @@ "flow-bin": "^0.105.0", "flow-typed": "^2.5.1", "glob": "^7.1.5", + "hubfs.js": "^1.0.0", "husky": "^3.0.9", "jest": "^24.1.0", "jetifier": "^1.6.3", diff --git a/patches/README.md b/patches/README.md new file mode 100644 index 000000000..b684cd747 --- /dev/null +++ b/patches/README.md @@ -0,0 +1,10 @@ +# Patches to `node_modules` + +These patches use [`patch-package`](https://www.npmjs.com/package/patch-package) +to update dependencies which have unpublished fixes. + +## [`lottie-react-native`](https://github.com/react-native-community/lottie-react-native) + +Lottie does not work with [`react-native-reanimated`](https://github.com/software-mansion/react-native-reanimated) Nodes, but we are using that for animating the intro screens. + +This patch applies the changes from [PR #607](https://github.com/react-native-community/lottie-react-native/pull/607) which was not yet merged as of 2020-02-04. diff --git a/patches/lottie-react-native+3.3.2.patch b/patches/lottie-react-native+3.3.2.patch new file mode 100644 index 000000000..44d7c6a27 --- /dev/null +++ b/patches/lottie-react-native+3.3.2.patch @@ -0,0 +1,83 @@ +diff --git a/node_modules/lottie-react-native/src/js/LottieView.js b/node_modules/lottie-react-native/src/js/LottieView.js +index 371d5d6..8360805 100644 +--- a/node_modules/lottie-react-native/src/js/LottieView.js ++++ b/node_modules/lottie-react-native/src/js/LottieView.js +@@ -8,6 +8,12 @@ import { + StyleSheet, + ViewPropTypes, + } from 'react-native'; ++let Reanimated; ++try { ++ Reanimated = require('react-native-reanimated').default; ++} catch (e) { ++ // react-native-reanimated isn't installed, we'll fallback on React.Animated ++} + import SafeModule from 'react-native-safe-modules'; + import PropTypes from 'prop-types'; + +@@ -16,6 +22,9 @@ const NativeLottieView = SafeModule.component({ + mockComponent: View, + }); + const AnimatedNativeLottieView = Animated.createAnimatedComponent(NativeLottieView); ++const ReanimatedNativeLottieView = Reanimated ++ ? Reanimated.createAnimatedComponent(NativeLottieView) ++ : undefined; + + const LottieViewManager = SafeModule.module({ + moduleName: 'LottieAnimationView', +@@ -167,20 +176,32 @@ class LottieView extends React.Component { + + const speed = + this.props.duration && sourceJson && this.props.source.fr +- ? Math.round(this.props.source.op / this.props.source.fr * 1000 / this.props.duration) ++ ? Math.round(((this.props.source.op / this.props.source.fr) * 1000) / this.props.duration) + : this.props.speed; + + return ( + +- ++ {Reanimated && this.props.progress instanceof Reanimated.Node ? ( ++ ++ ) : ( ++ ++ )} + + ); + } +diff --git a/node_modules/lottie-react-native/src/js/index.d.ts b/node_modules/lottie-react-native/src/js/index.d.ts +index 1d1a175..2f571a3 100644 +--- a/node_modules/lottie-react-native/src/js/index.d.ts ++++ b/node_modules/lottie-react-native/src/js/index.d.ts +@@ -39,7 +39,7 @@ declare module "lottie-react-native" { + * animation will correspondingly update to the frame at that progress value. This + * prop is not required if you are using the imperative API. + */ +- progress?: number | Animated.Value; ++ progress?: number | Animated.Value | any; + + /** + * The speed the animation will progress. This only affects the imperative API. The diff --git a/scripts/anonymize_test_data.js b/scripts/anonymize_test_data.js old mode 100644 new mode 100755 diff --git a/scripts/build-backend.sh b/scripts/build-backend.sh index 1ab216a25..b7956a0ef 100755 --- a/scripts/build-backend.sh +++ b/scripts/build-backend.sh @@ -41,10 +41,12 @@ mv _index.js index.js cd ../.. echo -en " done.\n" -echo -en "Create presets fallback folder..." +echo -en "Create presets fallback folders..." cd ./nodejs-assets/nodejs-project mkdir -p presets +mkdir -p presets-icca mv ./node_modules/mapeo-default-settings/build ./presets/default +mv ./node_modules/mapeo-config-icca/dist ./presets-icca/default cd ../.. echo -en " done.\n" diff --git a/scripts/build-translations.js b/scripts/build-translations.js old mode 100644 new mode 100755 diff --git a/scripts/gh-pages-redirect.js b/scripts/gh-pages-redirect.js new file mode 100755 index 000000000..6b406c4ef --- /dev/null +++ b/scripts/gh-pages-redirect.js @@ -0,0 +1,58 @@ +#!/usr/bin/env node + +var Hubfs = require("hubfs.js"); + +var [path, destUrl] = process.argv.slice(2); + +if (typeof path !== "string" || typeof destUrl !== "string") { + console.error( + `Create an HTML redirect for Github Pages to the latest release + +Usage: + +gh-pages-redirect.js + +Example: + +gh-pages-redirect.js /latest https://example.com/releases/mapeo-vX.XX.apk +` + ); + process.exit(1); +} + +var UPDATE_MESSAGE = "Update redirect for " + path; +var BRANCH = "gh-pages"; + +var hubfsOptions = { + owner: "digidem", + repo: "mapeo-apks-bucket-listing", + auth: { + token: process.env.GITHUB_TOKEN + } +}; + +var gh = Hubfs(hubfsOptions); + +var filename = path.replace(/^\//, "").replace(/\/$/, "") + "/index.html"; + +var data = ` + +Redirecting to latest release + + +`; + +var opts = { + message: UPDATE_MESSAGE, + branch: BRANCH +}; + +gh.writeFile(filename, data, opts, function(err) { + if (err) onError(err); + process.exit(0); +}); + +function onError(err) { + console.trace(err); + process.exit(1); +} diff --git a/src/backend/index.js b/src/backend/index.js index f0944f36d..f724cd375 100644 --- a/src/backend/index.js +++ b/src/backend/index.js @@ -38,6 +38,7 @@ const PORT = 9081; const status = new ServerStatus(); let paused = false; let storagePath; +let flavor; let server; // This is nastily circular: we need an instance of status for the constructor @@ -73,19 +74,25 @@ status.startHeartbeat(); * This code supports re-starting the server with a different folder if * necessary (we probably shouldn't do that) */ -rnBridge.channel.on("storagePath", path => { - log("storagePath", path); - if (path === storagePath) return; +rnBridge.channel.on("config", config => { + log("storagePath", config.storagePath); + log("flavor", config.flavor); + if (config.storagePath === storagePath && config.flavor === flavor) return; const prevStoragePath = storagePath; + const prevFlavor = flavor; if (server) server.close(() => { - log("closed server with storagePath", prevStoragePath); + log(`closed server with: + storagePath: ${prevStoragePath} + flavor: ${prevFlavor}`); }); - storagePath = path; + storagePath = config.storagePath; + flavor = config.flavor; try { server = createServer({ privateStorage: rnBridge.app.datadir(), - sharedStorage: storagePath + sharedStorage: storagePath, + flavor: flavor }); } catch (e) { log("createServer error", e); diff --git a/src/backend/package-lock.json b/src/backend/package-lock.json index 929e3e743..137454afa 100644 --- a/src/backend/package-lock.json +++ b/src/backend/package-lock.json @@ -88,7 +88,7 @@ "pumpify": "^2.0.1", "randombytes": "^2.0.6", "run-parallel": "^1.1.9", - "shp-write": "github:digidem/shp-write#02b37559e61f8951dc238ed22de80e4e2aa6cf0f", + "shp-write": "github:digidem/shp-write", "statuses": "^1.5.0", "through2": "^3.0.0" }, @@ -2236,6 +2236,11 @@ "object-visit": "^1.0.0" } }, + "mapeo-config-icca": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/mapeo-config-icca/-/mapeo-config-icca-1.2.1.tgz", + "integrity": "sha512-YmoqrLObmSDvUCFqu77jwJcHfY6EEHQupya4A5ObyZWtRnpG7/Z57y9Q4gqXv3L+RrCf/QOaU+CZ9+Svx4TSJw==" + }, "mapeo-default-settings": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mapeo-default-settings/-/mapeo-default-settings-2.1.0.tgz", diff --git a/src/backend/package.json b/src/backend/package.json index 0b2d569e4..e6bf7115b 100644 --- a/src/backend/package.json +++ b/src/backend/package.json @@ -17,6 +17,7 @@ "kappa-osm": "^3.1.0", "level": "^5.0.1", "lodash": "^4.17.11", + "mapeo-config-icca": "^1.2.1", "mapeo-default-settings": "^2.1.0", "mapeo-server": "^17.0.0", "mkdirp": "^0.5.1", diff --git a/src/backend/server.js b/src/backend/server.js index b62f49659..12cbc8479 100644 --- a/src/backend/server.js +++ b/src/backend/server.js @@ -25,22 +25,39 @@ const log = debug("mapeo-core:server"); module.exports = createServer; -function createServer({ privateStorage, sharedStorage }) { +function createServer({ privateStorage, sharedStorage, flavor }) { let projectKey; const defaultConfigPath = path.join(sharedStorage, "presets/default"); + // Folder with default (built-in) presets to server when the user has not + // added any presets + const fallbackPresetsDir = path.join( + process.cwd(), + flavor === "icca" ? "presets-icca" : "presets" + ); + try { const metadata = JSON.parse( fs.readFileSync(path.join(defaultConfigPath, "metadata.json"), "utf8") ); projectKey = metadata.projectKey; - if (projectKey) - log("Found projectKey starting with ", projectKey.slice(0, 4)); - else log("No projectKey found, using default 'mapeo' key"); } catch (err) { - // An undefined projectKey is fine, the fallback is to sync with any other mapeo - log("No projectKey found, using default 'mapeo' key"); + // if there was an error reading the user presets, try reading a projectKey + // from the fallback presets + try { + const metadata = JSON.parse( + fs.readFileSync( + path.join(fallbackPresetsDir, "default", "metadata.json"), + "utf8" + ) + ); + projectKey = metadata.projectKey; + } catch (e) {} } + if (projectKey) + log("Found projectKey starting with ", projectKey.slice(0, 4)); + else log("No projectKey found, using default 'mapeo' key"); + const indexDb = level(path.join(privateStorage, "index")); const coreDb = kappa(path.join(privateStorage, "db"), { valueEncoding: "json", @@ -57,10 +74,6 @@ function createServer({ privateStorage, sharedStorage }) { mkdirp.sync(defaultConfigPath); mkdirp.sync(path.join(sharedStorage, "styles/default")); - // Folder with default (built-in) presets to server when the user has not - // added any presets - const fallbackPresetsDir = path.join(process.cwd(), "presets"); - // The main osm db for observations and map data const osm = createOsmDb({ core: coreDb, diff --git a/src/frontend/App.js b/src/frontend/App.js index d296bb075..b7e6eb9b5 100644 --- a/src/frontend/App.js +++ b/src/frontend/App.js @@ -21,7 +21,7 @@ YellowBox.ignoreWarnings(["Require cycle:"]); if (__DEV__) debug.enable("*"); const log = debug("mapeo:App"); // WARNING: This needs to change if we change the navigation structure -const NAV_STORE_KEY = "@MapeoNavigation@7"; +const NAV_STORE_KEY = "@MapeoNavigation@8"; const ERROR_STORE_KEY = "@MapeoError"; const persistNavigationState = async navState => { @@ -32,6 +32,7 @@ const persistNavigationState = async navState => { } }; const loadNavigationState = async () => { + return; try { const navState = JSON.parse(await AsyncStorage.getItem(NAV_STORE_KEY)); const didCrashLastOpen = JSON.parse( diff --git a/src/frontend/AppContainer.js b/src/frontend/AppContainer.js index fd1d991b0..ecd2487be 100644 --- a/src/frontend/AppContainer.js +++ b/src/frontend/AppContainer.js @@ -3,9 +3,11 @@ import React from "react"; import { createStackNavigator, createAppContainer, - createBottomTabNavigator + createBottomTabNavigator, + createSwitchNavigator } from "react-navigation"; import MaterialIcons from "react-native-vector-icons/MaterialIcons"; +import BuildConfig from "react-native-build-config"; import MapScreen from "./screens/MapScreen"; import CameraScreen from "./screens/CameraScreen"; @@ -23,6 +25,7 @@ import ManualGpsScreen from "./screens/ManualGpsScreen"; import CustomHeaderLeft from "./sharedComponents/CustomHeaderLeft"; import ProjectConfig from "./screens/Settings/ProjectConfig"; import LanguageSettings from "./screens/Settings/LanguageSettings"; +import IntroStack from "./screens/Intro"; const HomeTabs = createBottomTabNavigator( { @@ -51,7 +54,7 @@ const HomeTabs = createBottomTabNavigator( } ); -const RootStack = createStackNavigator( +const AppStack = createStackNavigator( // $FlowFixMe - flow definitions don't recognize static props on function components { Home: HomeTabs, @@ -88,5 +91,17 @@ const RootStack = createStackNavigator( } ); +const RootStack = createSwitchNavigator( + { + Intro: IntroStack, + App: AppStack + }, + { + initialRouteName: "Intro" + } +); + // $FlowFixMe -export default createAppContainer(RootStack); +export default createAppContainer( + BuildConfig.FLAVOR === "icca" ? RootStack : AppStack +); diff --git a/src/frontend/animations/connect.json b/src/frontend/animations/connect.json new file mode 100644 index 000000000..126608994 --- /dev/null +++ b/src/frontend/animations/connect.json @@ -0,0 +1,9293 @@ +{ + "v": "4.12.3", + "fr": 23.9759979248047, + "ip": 0, + "op": 60, + "w": 270, + "h": 118, + "nm": "CONNECTIONS", + "ddd": 0, + "assets": [ + { + "id": "comp_0", + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 4, + "nm": "Capa 3 copia 17 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [130.063, 864.638, 0], "ix": 2 }, + "a": { "a": 0, "k": [130.063, 864.638, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 14, + "s": [110, 110, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.784, 0.784, 0.784], "y": [1, 1, 1] }, + "o": { "x": [0.32, 0.32, 0.32], "y": [0, 0, 0] }, + "n": ["0p784_1_0p32_0", "0p784_1_0p32_0", "0p784_1_0p32_0"], + "t": 17, + "s": [88, 88, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.717, 0.717, 0.717], "y": [1, 1, 1] }, + "o": { "x": [0.382, 0.382, 0.382], "y": [0, 0, 0] }, + "n": [ + "0p717_1_0p382_0", + "0p717_1_0p382_0", + "0p717_1_0p382_0" + ], + "t": 66, + "s": [88, 88, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p167_0", + "0p833_1_0p167_0", + "0p833_1_0p167_0" + ], + "t": 70.889, + "s": [88, 88, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.709, 0], + [0, 19.709], + [19.709, 0] + ], + "o": [ + [0, 19.709], + [19.709, 0], + [0, -19.709], + [-19.709, 0] + ], + "v": [ + [-35.687, 0], + [0, 35.688], + [35.687, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 849.02], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.709, 0], + [0, 19.709], + [19.709, 0] + ], + "o": [ + [0, 19.709], + [19.709, 0], + [0, -19.709], + [-19.709, 0] + ], + "v": [ + [-35.687, 0], + [0, 35.688], + [35.687, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 849.02], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [19.709, 0], + [0, 19.709], + [-19.708, 0] + ], + "o": [ + [0, 19.709], + [-19.708, 0], + [0, -19.708], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 849.02], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.142, -21.807], + [-31.927, 0], + [-19.143, 21.807], + [31.928, 0] + ], + "o": [ + [19.142, 21.807], + [31.928, 0], + [-19.143, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 933.936], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.142, -21.807], + [-31.927, 0], + [-19.143, 21.807], + [31.928, 0] + ], + "o": [ + [19.142, 21.807], + [31.928, 0], + [-19.143, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 933.936], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.142, -21.807], + [-31.928, 0], + [-19.142, 21.807] + ], + "o": [ + [-31.928, 0], + [19.142, 21.807], + [31.928, 0], + [-19.142, -21.807] + ], + "v": [ + [0.005, -35.688], + [-79.611, 0], + [0.005, 35.688], + [79.611, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 933.936], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.125, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.125, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.448], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.448] + ], + "v": [ + [0, -95.117], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 864.638], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 7.9999993075758, + "op": 90.9999921236748, + "st": 7.9999993075758, + "bm": 0 + }, + { + "ddd": 0, + "ind": 2, + "ty": 4, + "nm": "Capa 3 copia 12 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [2253.853, 763.564, 0], "ix": 2 }, + "a": { "a": 0, "k": [2253.853, 763.564, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 14, + "s": [110, 110, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.784, 0.784, 0.784], "y": [1, 1, 1] }, + "o": { "x": [0.32, 0.32, 0.32], "y": [0, 0, 0] }, + "n": ["0p784_1_0p32_0", "0p784_1_0p32_0", "0p784_1_0p32_0"], + "t": 17, + "s": [88, 88, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.717, 0.717, 0.717], "y": [1, 1, 1] }, + "o": { "x": [0.382, 0.382, 0.382], "y": [0, 0, 0] }, + "n": [ + "0p717_1_0p382_0", + "0p717_1_0p382_0", + "0p717_1_0p382_0" + ], + "t": 66, + "s": [88, 88, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p167_0", + "0p833_1_0p167_0", + "0p833_1_0p167_0" + ], + "t": 70.889, + "s": [88, 88, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.708, 0], + [0, 19.708], + [19.707, 0] + ], + "o": [ + [0, 19.708], + [19.707, 0], + [0, -19.709], + [-19.708, 0] + ], + "v": [ + [-35.688, 0.001], + [0, 35.689], + [35.688, 0.001], + [0, -35.689] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2253.853, 747.945], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.708, 0], + [0, 19.708], + [19.707, 0] + ], + "o": [ + [0, 19.708], + [19.707, 0], + [0, -19.709], + [-19.708, 0] + ], + "v": [ + [-35.688, 0.001], + [0, 35.689], + [35.688, 0.001], + [0, -35.689] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2253.853, 747.945], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [19.709, 0], + [0, 19.708], + [-19.708, 0] + ], + "o": [ + [0, 19.708], + [-19.708, 0], + [0, -19.709], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2253.853, 747.946], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.144, -21.807], + [-31.927, 0], + [-19.142, 21.807], + [31.928, 0] + ], + "o": [ + [19.144, 21.807], + [31.928, 0], + [-19.142, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.61, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2253.852, 832.862], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.144, -21.807], + [-31.927, 0], + [-19.142, 21.807], + [31.928, 0] + ], + "o": [ + [19.144, 21.807], + [31.928, 0], + [-19.142, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.61, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2253.852, 832.862], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.143, -21.808], + [-31.928, 0], + [-19.142, 21.806] + ], + "o": [ + [-31.928, 0], + [19.143, 21.806], + [31.928, 0], + [-19.142, -21.808] + ], + "v": [ + [0.005, -35.688], + [-79.611, 0], + [0.005, 35.688], + [79.611, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2253.852, 832.862], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.125, 0], + [0, -59.125], + [-59.126, 0], + [0, 59.125] + ], + "o": [ + [-59.126, 0], + [0, 59.125], + [59.125, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.448], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.448] + ], + "v": [ + [0, -95.117], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2253.853, 763.564], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 7.9999993075758, + "op": 90.9999921236748, + "st": 7.9999993075758, + "bm": 0 + }, + { + "ddd": 0, + "ind": 3, + "ty": 4, + "nm": "Capa 3 copia 16 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [130.063, 275.45, 0], "ix": 2 }, + "a": { "a": 0, "k": [130.063, 275.45, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 14, + "s": [110, 110, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.784, 0.784, 0.784], "y": [1, 1, 1] }, + "o": { "x": [0.32, 0.32, 0.32], "y": [0, 0, 0] }, + "n": ["0p784_1_0p32_0", "0p784_1_0p32_0", "0p784_1_0p32_0"], + "t": 17, + "s": [88, 88, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.717, 0.717, 0.717], "y": [1, 1, 1] }, + "o": { "x": [0.382, 0.382, 0.382], "y": [0, 0, 0] }, + "n": [ + "0p717_1_0p382_0", + "0p717_1_0p382_0", + "0p717_1_0p382_0" + ], + "t": 66, + "s": [88, 88, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p167_0", + "0p833_1_0p167_0", + "0p833_1_0p167_0" + ], + "t": 70.889, + "s": [88, 88, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.709, 0], + [0, 19.708], + [19.709, 0] + ], + "o": [ + [0, 19.708], + [19.709, 0], + [0, -19.709], + [-19.709, 0] + ], + "v": [ + [-35.687, 0], + [0, 35.688], + [35.687, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 259.832], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.709, 0], + [0, 19.708], + [19.709, 0] + ], + "o": [ + [0, 19.708], + [19.709, 0], + [0, -19.709], + [-19.709, 0] + ], + "v": [ + [-35.687, 0], + [0, 35.688], + [35.687, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 259.832], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [19.709, 0], + [0, 19.708], + [-19.708, 0] + ], + "o": [ + [0, 19.708], + [-19.708, 0], + [0, -19.708], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 259.832], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.142, -21.807], + [-31.927, 0], + [-19.143, 21.807], + [31.928, 0] + ], + "o": [ + [19.142, 21.807], + [31.928, 0], + [-19.143, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 344.747], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.142, -21.807], + [-31.927, 0], + [-19.143, 21.807], + [31.928, 0] + ], + "o": [ + [19.142, 21.807], + [31.928, 0], + [-19.143, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 344.747], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.142, -21.808], + [-31.928, 0], + [-19.142, 21.807] + ], + "o": [ + [-31.928, 0], + [19.142, 21.807], + [31.928, 0], + [-19.142, -21.808] + ], + "v": [ + [0.005, -35.688], + [-79.611, 0.001], + [0.005, 35.688], + [79.611, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 344.748], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.125, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.125, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [130.063, 275.45], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 7.9999993075758, + "op": 90.9999921236748, + "st": 7.9999993075758, + "bm": 0 + }, + { + "ddd": 0, + "ind": 4, + "ty": 4, + "nm": "Capa 3 copia 11 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [2375.881, 313.661, 0], "ix": 2 }, + "a": { "a": 0, "k": [2375.881, 313.661, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 14, + "s": [110, 110, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.784, 0.784, 0.784], "y": [1, 1, 1] }, + "o": { "x": [0.32, 0.32, 0.32], "y": [0, 0, 0] }, + "n": ["0p784_1_0p32_0", "0p784_1_0p32_0", "0p784_1_0p32_0"], + "t": 17, + "s": [88, 88, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.717, 0.717, 0.717], "y": [1, 1, 1] }, + "o": { "x": [0.382, 0.382, 0.382], "y": [0, 0, 0] }, + "n": [ + "0p717_1_0p382_0", + "0p717_1_0p382_0", + "0p717_1_0p382_0" + ], + "t": 66, + "s": [88, 88, 100], + "e": [88, 88, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p167_0", + "0p833_1_0p167_0", + "0p833_1_0p167_0" + ], + "t": 70.889, + "s": [88, 88, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.708, 0], + [0, 19.709], + [19.707, 0] + ], + "o": [ + [0, 19.709], + [19.707, 0], + [0, -19.708], + [-19.708, 0] + ], + "v": [ + [-35.688, -0.001], + [0, 35.688], + [35.688, -0.001], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2375.881, 298.043], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.708, 0], + [0, 19.709], + [19.707, 0] + ], + "o": [ + [0, 19.709], + [19.707, 0], + [0, -19.708], + [-19.708, 0] + ], + "v": [ + [-35.688, -0.001], + [0, 35.688], + [35.688, -0.001], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2375.881, 298.043], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [19.709, 0], + [0, 19.708], + [-19.708, 0] + ], + "o": [ + [0, 19.708], + [-19.708, 0], + [0, -19.708], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2375.881, 298.043], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.808], + [-31.929, 0], + [-19.143, 21.807], + [31.927, 0] + ], + "o": [ + [19.143, 21.807], + [31.927, 0], + [-19.143, -21.808], + [-31.929, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.611, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2375.881, 382.959], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.808], + [-31.929, 0], + [-19.143, 21.807], + [31.927, 0] + ], + "o": [ + [19.143, 21.807], + [31.927, 0], + [-19.143, -21.808], + [-31.929, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.611, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2375.881, 382.959], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.143, -21.808], + [-31.929, 0], + [-19.143, 21.807] + ], + "o": [ + [-31.929, 0], + [19.143, 21.807], + [31.928, 0], + [-19.143, -21.808] + ], + "v": [ + [0.005, -35.688], + [-79.611, 0.001], + [0.005, 35.688], + [79.611, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2375.881, 382.958], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.126, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.552999997606, 0.838999968884, 0.936999990426, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2375.881, 313.661], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 7.9999993075758, + "op": 90.9999921236748, + "st": 7.9999993075758, + "bm": 0 + }, + { + "ddd": 0, + "ind": 5, + "ty": 4, + "nm": "Capa 3 copia 15 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [379.05, 615.65, 0], "ix": 2 }, + "a": { "a": 0, "k": [379.05, 615.65, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 5, + "s": [0, 0, 100], + "e": [107, 107, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p333_0", + "0p833_1_0p333_0", + "0p833_1_0p333_0" + ], + "t": 12, + "s": [107, 107, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.762, 0.762, 0.762], "y": [1, 1, 1] }, + "o": { "x": [0.161, 0.161, 0.161], "y": [0, 0, 0] }, + "n": [ + "0p762_1_0p161_0", + "0p762_1_0p161_0", + "0p762_1_0p161_0" + ], + "t": 16, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.733, 0.733, 0.733], "y": [1, 1, 1] }, + "o": { "x": [0.395, 0.395, 0.395], "y": [0, 0, 0] }, + "n": [ + "0p733_1_0p395_0", + "0p733_1_0p395_0", + "0p733_1_0p395_0" + ], + "t": 66, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p167_0", + "0p833_1_0p167_0", + "0p833_1_0p167_0" + ], + "t": 70.889, + "s": [100, 100, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.708, 0], + [0, 19.709], + [19.708, 0] + ], + "o": [ + [0, 19.709], + [19.708, 0], + [0, -19.708], + [-19.708, 0] + ], + "v": [ + [-35.688, 0], + [-0.001, 35.688], + [35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [379.051, 600.032], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.708, 0], + [0, 19.709], + [19.708, 0] + ], + "o": [ + [0, 19.709], + [19.708, 0], + [0, -19.708], + [-19.708, 0] + ], + "v": [ + [-35.688, 0], + [-0.001, 35.688], + [35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [379.051, 600.032], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [19.709, 0], + [0, 19.709], + [-19.708, 0] + ], + "o": [ + [0, 19.709], + [-19.708, 0], + [0, -19.708], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [379.051, 600.032], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.144, -21.807], + [-31.928, 0], + [-19.143, 21.807], + [31.927, 0] + ], + "o": [ + [19.144, 21.807], + [31.927, 0], + [-19.143, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.612, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [379.05, 684.948], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.144, -21.807], + [-31.928, 0], + [-19.143, 21.807], + [31.927, 0] + ], + "o": [ + [19.144, 21.807], + [31.927, 0], + [-19.143, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.612, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [379.05, 684.948], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.143, -21.807], + [-31.928, 0], + [-19.143, 21.807] + ], + "o": [ + [-31.928, 0], + [19.143, 21.807], + [31.928, 0], + [-19.143, -21.807] + ], + "v": [ + [0.004, -35.688], + [-79.611, 0], + [0.004, 35.688], + [79.611, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [379.051, 684.949], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.126] + ], + "o": [ + [-59.125, 0], + [0, 59.126], + [59.126, 0], + [0, -59.125] + ], + "v": [ + [0, -107.062], + [-107.063, 0.001], + [0, 107.062], + [107.063, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.115], + [95.116, 0.001], + [0, 95.117], + [-95.116, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [379.05, 615.65], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 4.99999956723488, + "op": 87.9999923833338, + "st": 4.99999956723488, + "bm": 0 + }, + { + "ddd": 0, + "ind": 6, + "ty": 4, + "nm": "Capa 3 copia 14 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [503.544, 306.265, 0], "ix": 2 }, + "a": { "a": 0, "k": [503.544, 306.265, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 5, + "s": [0, 0, 100], + "e": [107, 107, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p333_0", + "0p833_1_0p333_0", + "0p833_1_0p333_0" + ], + "t": 12, + "s": [107, 107, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.733, 0.733, 0.733], "y": [1, 1, 1] }, + "o": { "x": [0.161, 0.161, 0.161], "y": [0, 0, 0] }, + "n": [ + "0p733_1_0p161_0", + "0p733_1_0p161_0", + "0p733_1_0p161_0" + ], + "t": 16, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.605, 0.605, 0.605], "y": [1, 1, 1] }, + "o": { "x": [0.267, 0.267, 0.267], "y": [0, 0, 0] }, + "n": [ + "0p605_1_0p267_0", + "0p605_1_0p267_0", + "0p605_1_0p267_0" + ], + "t": 66, + "s": [100, 100, 100], + "e": [109, 109, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.395, 0.395, 0.395], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p395_0", + "0p833_1_0p395_0", + "0p833_1_0p395_0" + ], + "t": 70.889, + "s": [109, 109, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.709, 0], + [0, 19.708], + [19.708, 0] + ], + "o": [ + [0, 19.708], + [19.708, 0], + [0, -19.708], + [-19.709, 0] + ], + "v": [ + [-35.688, 0], + [0.001, 35.688], + [35.688, 0], + [0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [503.544, 290.647], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.709, 0], + [0, 19.708], + [19.708, 0] + ], + "o": [ + [0, 19.708], + [19.708, 0], + [0, -19.708], + [-19.709, 0] + ], + "v": [ + [-35.688, 0], + [0.001, 35.688], + [35.688, 0], + [0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [503.544, 290.647], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [19.709, 0], + [0, 19.708], + [-19.708, 0] + ], + "o": [ + [0, 19.708], + [-19.708, 0], + [0, -19.708], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [503.544, 290.647], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.927, 0], + [-19.143, 21.808], + [31.929, 0] + ], + "o": [ + [19.143, 21.808], + [31.929, 0], + [-19.143, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [503.544, 375.563], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.927, 0], + [-19.143, 21.808], + [31.929, 0] + ], + "o": [ + [19.143, 21.808], + [31.929, 0], + [-19.143, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [503.544, 375.563], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.143, -21.808], + [-31.928, 0], + [-19.143, 21.807] + ], + "o": [ + [-31.928, 0], + [19.143, 21.807], + [31.928, 0], + [-19.143, -21.808] + ], + "v": [ + [0.004, -35.688], + [-79.611, 0.001], + [0.004, 35.688], + [79.611, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [503.544, 375.563], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.125, 0], + [0, -59.125], + [-59.126, 0], + [0, 59.126] + ], + "o": [ + [-59.126, 0], + [0, 59.126], + [59.125, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [503.544, 306.265], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 4.99999956723488, + "op": 87.9999923833338, + "st": 4.99999956723488, + "bm": 0 + }, + { + "ddd": 0, + "ind": 7, + "ty": 4, + "nm": "Capa 3 copia 13 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [534.359, 971.875, 0], "ix": 2 }, + "a": { "a": 0, "k": [534.359, 971.875, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 5, + "s": [0, 0, 100], + "e": [107, 107, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p333_0", + "0p833_1_0p333_0", + "0p833_1_0p333_0" + ], + "t": 12, + "s": [107, 107, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.733, 0.733, 0.733], "y": [1, 1, 1] }, + "o": { "x": [0.161, 0.161, 0.161], "y": [0, 0, 0] }, + "n": [ + "0p733_1_0p161_0", + "0p733_1_0p161_0", + "0p733_1_0p161_0" + ], + "t": 16, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.605, 0.605, 0.605], "y": [1, 1, 1] }, + "o": { "x": [0.267, 0.267, 0.267], "y": [0, 0, 0] }, + "n": [ + "0p605_1_0p267_0", + "0p605_1_0p267_0", + "0p605_1_0p267_0" + ], + "t": 66, + "s": [100, 100, 100], + "e": [109, 109, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.395, 0.395, 0.395], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p395_0", + "0p833_1_0p395_0", + "0p833_1_0p395_0" + ], + "t": 70.889, + "s": [109, 109, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.707], + [-19.709, 0], + [0, 19.709], + [19.708, 0] + ], + "o": [ + [0, 19.709], + [19.708, 0], + [0, -19.707], + [-19.709, 0] + ], + "v": [ + [-35.688, -0.001], + [0, 35.687], + [35.688, -0.001], + [0, -35.687] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [534.359, 956.257], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.707], + [-19.709, 0], + [0, 19.709], + [19.708, 0] + ], + "o": [ + [0, 19.709], + [19.708, 0], + [0, -19.707], + [-19.709, 0] + ], + "v": [ + [-35.688, -0.001], + [0, 35.687], + [35.688, -0.001], + [0, -35.687] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [534.359, 956.257], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [19.709, 0], + [0, 19.709], + [-19.708, 0] + ], + "o": [ + [0, 19.709], + [-19.708, 0], + [0, -19.708], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [534.36, 956.257], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.928, 0], + [-19.142, 21.807], + [31.928, 0] + ], + "o": [ + [19.143, 21.807], + [31.928, 0], + [-19.142, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.611, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [534.359, 1041.173], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.928, 0], + [-19.142, 21.807], + [31.928, 0] + ], + "o": [ + [19.143, 21.807], + [31.928, 0], + [-19.142, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.611, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [534.359, 1041.173], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.143, -21.807], + [-31.928, 0], + [-19.142, 21.807] + ], + "o": [ + [-31.928, 0], + [19.143, 21.807], + [31.928, 0], + [-19.142, -21.807] + ], + "v": [ + [0.005, -35.688], + [-79.611, 0], + [0.005, 35.688], + [79.61, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [534.359, 1041.173], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.125, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.125, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.448], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.448] + ], + "v": [ + [0, -95.117], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [534.359, 971.875], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 4.99999956723488, + "op": 87.9999923833338, + "st": 4.99999956723488, + "bm": 0 + }, + { + "ddd": 0, + "ind": 8, + "ty": 4, + "nm": "Capa 3 copia 10 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1996.236, 218.75, 0], "ix": 2 }, + "a": { "a": 0, "k": [1996.236, 218.75, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 5, + "s": [0, 0, 100], + "e": [107, 107, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p333_0", + "0p833_1_0p333_0", + "0p833_1_0p333_0" + ], + "t": 12, + "s": [107, 107, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.733, 0.733, 0.733], "y": [1, 1, 1] }, + "o": { "x": [0.161, 0.161, 0.161], "y": [0, 0, 0] }, + "n": [ + "0p733_1_0p161_0", + "0p733_1_0p161_0", + "0p733_1_0p161_0" + ], + "t": 16, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.605, 0.605, 0.605], "y": [1, 1, 1] }, + "o": { "x": [0.267, 0.267, 0.267], "y": [0, 0, 0] }, + "n": [ + "0p605_1_0p267_0", + "0p605_1_0p267_0", + "0p605_1_0p267_0" + ], + "t": 66, + "s": [100, 100, 100], + "e": [109, 109, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.395, 0.395, 0.395], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p395_0", + "0p833_1_0p395_0", + "0p833_1_0p395_0" + ], + "t": 70.889, + "s": [109, 109, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.707, 0], + [0, 19.709], + [19.709, 0] + ], + "o": [ + [0, 19.709], + [19.709, 0], + [0, -19.708], + [-19.707, 0] + ], + "v": [ + [-35.688, -0.001], + [0, 35.688], + [35.688, -0.001], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1996.236, 203.132], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.707, 0], + [0, 19.709], + [19.709, 0] + ], + "o": [ + [0, 19.709], + [19.709, 0], + [0, -19.708], + [-19.707, 0] + ], + "v": [ + [-35.688, -0.001], + [0, 35.688], + [35.688, -0.001], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1996.236, 203.132], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [19.709, 0], + [0, 19.708], + [-19.708, 0] + ], + "o": [ + [0, 19.708], + [-19.708, 0], + [0, -19.708], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1996.236, 203.131], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.928, 0], + [-19.142, 21.807], + [31.928, 0] + ], + "o": [ + [19.143, 21.807], + [31.928, 0], + [-19.142, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.61, 0], + [0.005, 35.688], + [79.61, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1996.236, 288.048], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.928, 0], + [-19.142, 21.807], + [31.928, 0] + ], + "o": [ + [19.143, 21.807], + [31.928, 0], + [-19.142, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.61, 0], + [0.005, 35.688], + [79.61, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1996.236, 288.048], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.142, -21.807], + [-31.928, 0], + [-19.142, 21.807] + ], + "o": [ + [-31.928, 0], + [19.142, 21.807], + [31.928, 0], + [-19.142, -21.807] + ], + "v": [ + [0.005, -35.688], + [-79.61, 0.001], + [0.005, 35.688], + [79.611, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1996.237, 288.047], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.126, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1996.236, 218.75], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 4.99999956723488, + "op": 87.9999923833338, + "st": 4.99999956723488, + "bm": 0 + }, + { + "ddd": 0, + "ind": 9, + "ty": 4, + "nm": "Capa 3 copia 9 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1955.561, 949.688, 0], "ix": 2 }, + "a": { "a": 0, "k": [1955.561, 949.688, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 5, + "s": [0, 0, 100], + "e": [107, 107, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p333_0", + "0p833_1_0p333_0", + "0p833_1_0p333_0" + ], + "t": 12, + "s": [107, 107, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.733, 0.733, 0.733], "y": [1, 1, 1] }, + "o": { "x": [0.161, 0.161, 0.161], "y": [0, 0, 0] }, + "n": [ + "0p733_1_0p161_0", + "0p733_1_0p161_0", + "0p733_1_0p161_0" + ], + "t": 16, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.605, 0.605, 0.605], "y": [1, 1, 1] }, + "o": { "x": [0.267, 0.267, 0.267], "y": [0, 0, 0] }, + "n": [ + "0p605_1_0p267_0", + "0p605_1_0p267_0", + "0p605_1_0p267_0" + ], + "t": 66, + "s": [100, 100, 100], + "e": [109, 109, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.395, 0.395, 0.395], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p395_0", + "0p833_1_0p395_0", + "0p833_1_0p395_0" + ], + "t": 70.889, + "s": [109, 109, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.709, 0], + [0, 19.709], + [19.708, 0] + ], + "o": [ + [0, 19.709], + [19.708, 0], + [0, -19.709], + [-19.709, 0] + ], + "v": [ + [-35.688, 0], + [0, 35.688], + [35.688, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1955.561, 934.07], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.709, 0], + [0, 19.709], + [19.708, 0] + ], + "o": [ + [0, 19.709], + [19.708, 0], + [0, -19.709], + [-19.709, 0] + ], + "v": [ + [-35.688, 0], + [0, 35.688], + [35.688, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1955.561, 934.07], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [19.709, 0], + [0, 19.708], + [-19.708, 0] + ], + "o": [ + [0, 19.708], + [-19.708, 0], + [0, -19.709], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1955.561, 934.07], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.144, -21.808], + [-31.927, 0], + [-19.143, 21.808], + [31.928, 0] + ], + "o": [ + [19.144, 21.808], + [31.928, 0], + [-19.143, -21.808], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.687] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1955.56, 1018.986], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.144, -21.808], + [-31.927, 0], + [-19.143, 21.808], + [31.928, 0] + ], + "o": [ + [19.144, 21.808], + [31.928, 0], + [-19.143, -21.808], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.687] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1955.56, 1018.986], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.143, -21.808], + [-31.928, 0], + [-19.142, 21.807] + ], + "o": [ + [-31.928, 0], + [19.143, 21.807], + [31.928, 0], + [-19.142, -21.808] + ], + "v": [ + [0.005, -35.688], + [-79.61, 0], + [0.005, 35.688], + [79.611, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1955.56, 1018.986], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.125, 0], + [0, -59.125], + [-59.126, 0], + [0, 59.125] + ], + "o": [ + [-59.126, 0], + [0, 59.125], + [59.125, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1955.561, 949.688], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 4.99999956723488, + "op": 87.9999923833338, + "st": 4.99999956723488, + "bm": 0 + }, + { + "ddd": 0, + "ind": 10, + "ty": 4, + "nm": "Capa 3 copia 4 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [2027.052, 520.739, 0], "ix": 2 }, + "a": { "a": 0, "k": [2027.052, 520.739, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 5, + "s": [0, 0, 100], + "e": [107, 107, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p333_0", + "0p833_1_0p333_0", + "0p833_1_0p333_0" + ], + "t": 12, + "s": [107, 107, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.733, 0.733, 0.733], "y": [1, 1, 1] }, + "o": { "x": [0.161, 0.161, 0.161], "y": [0, 0, 0] }, + "n": [ + "0p733_1_0p161_0", + "0p733_1_0p161_0", + "0p733_1_0p161_0" + ], + "t": 16, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.605, 0.605, 0.605], "y": [1, 1, 1] }, + "o": { "x": [0.267, 0.267, 0.267], "y": [0, 0, 0] }, + "n": [ + "0p605_1_0p267_0", + "0p605_1_0p267_0", + "0p605_1_0p267_0" + ], + "t": 66, + "s": [100, 100, 100], + "e": [109, 109, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.395, 0.395, 0.395], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p395_0", + "0p833_1_0p395_0", + "0p833_1_0p395_0" + ], + "t": 70.889, + "s": [109, 109, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.708, 0], + [0, 19.708], + [19.709, 0] + ], + "o": [ + [0, 19.708], + [19.709, 0], + [0, -19.709], + [-19.708, 0] + ], + "v": [ + [-35.688, 0], + [0, 35.688], + [35.688, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2027.052, 505.122], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.708, 0], + [0, 19.708], + [19.709, 0] + ], + "o": [ + [0, 19.708], + [19.709, 0], + [0, -19.709], + [-19.708, 0] + ], + "v": [ + [-35.688, 0], + [0, 35.688], + [35.688, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2027.052, 505.122], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [19.709, 0], + [0, 19.708], + [-19.708, 0] + ], + "o": [ + [0, 19.708], + [-19.708, 0], + [0, -19.708], + [19.709, 0] + ], + "v": [ + [35.688, 0], + [-0.001, 35.688], + [-35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2027.052, 505.122], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.142, -21.807], + [-31.928, 0], + [-19.144, 21.807], + [31.927, 0] + ], + "o": [ + [19.142, 21.807], + [31.927, 0], + [-19.144, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.61, -0.001], + [0.005, 35.688], + [79.611, -0.001], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2027.052, 590.038], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.142, -21.807], + [-31.928, 0], + [-19.144, 21.807], + [31.927, 0] + ], + "o": [ + [19.142, 21.807], + [31.927, 0], + [-19.144, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.61, -0.001], + [0.005, 35.688], + [79.611, -0.001], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2027.052, 590.038], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [31.928, 0], + [19.142, -21.808], + [-31.928, 0], + [-19.143, 21.807] + ], + "o": [ + [-31.928, 0], + [19.142, 21.807], + [31.928, 0], + [-19.143, -21.808] + ], + "v": [ + [0.005, -35.688], + [-79.61, 0.001], + [0.005, 35.688], + [79.611, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2027.052, 590.038], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.126, 0], + [0, -59.125] + ], + "v": [ + [0, -107.062], + [-107.063, 0.001], + [0, 107.062], + [107.063, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.115], + [95.116, 0.001], + [0, 95.117], + [-95.116, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.113999998803, 0.685999971278, 0.838999968884, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [2027.052, 520.739], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 4, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 4.99999956723488, + "op": 87.9999923833338, + "st": 4.99999956723488, + "bm": 0 + }, + { + "ddd": 0, + "ind": 11, + "ty": 4, + "nm": "Capa 3 copia 8 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1640.012, 371.593, 0], "ix": 2 }, + "a": { "a": 0, "k": [1640.012, 371.593, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 2, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [110, 110, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.714, 0.714, 0.714], "y": [1, 1, 1] }, + "o": { "x": [0.321, 0.321, 0.321], "y": [0, 0, 0] }, + "n": [ + "0p714_1_0p321_0", + "0p714_1_0p321_0", + "0p714_1_0p321_0" + ], + "t": 12, + "s": [95, 95, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.621, 0.621, 0.621], "y": [1, 1, 1] }, + "o": { "x": [0.286, 0.286, 0.286], "y": [0, 0, 0] }, + "n": [ + "0p621_1_0p286_0", + "0p621_1_0p286_0", + "0p621_1_0p286_0" + ], + "t": 66, + "s": [95, 95, 100], + "e": [104, 104, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.379, 0.379, 0.379], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p379_0", + "0p833_1_0p379_0", + "0p833_1_0p379_0" + ], + "t": 70.889, + "s": [104, 104, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.708, 0], + [0, 19.709], + [19.71, 0] + ], + "o": [ + [0, 19.709], + [19.71, 0], + [0, -19.708], + [-19.708, 0] + ], + "v": [ + [-35.688, -0.001], + [0, 35.688], + [35.688, -0.001], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1640.011, 355.976], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.928, 0], + [-19.142, 21.808], + [31.927, 0] + ], + "o": [ + [19.143, 21.808], + [31.927, 0], + [-19.142, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.611, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1640.012, 440.891], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.126, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1640.012, 371.593], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 4, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 1.99999982689395, + "op": 84.9999926429929, + "st": 1.99999982689395, + "bm": 0 + }, + { + "ddd": 0, + "ind": 12, + "ty": 4, + "nm": "Capa 3 copia 5 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1671.901, 710.839, 0], "ix": 2 }, + "a": { "a": 0, "k": [1771.901, 690.839, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 2, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [110, 110, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.714, 0.714, 0.714], "y": [1, 1, 1] }, + "o": { "x": [0.321, 0.321, 0.321], "y": [0, 0, 0] }, + "n": [ + "0p714_1_0p321_0", + "0p714_1_0p321_0", + "0p714_1_0p321_0" + ], + "t": 12, + "s": [95, 95, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.621, 0.621, 0.621], "y": [1, 1, 1] }, + "o": { "x": [0.286, 0.286, 0.286], "y": [0, 0, 0] }, + "n": [ + "0p621_1_0p286_0", + "0p621_1_0p286_0", + "0p621_1_0p286_0" + ], + "t": 66, + "s": [95, 95, 100], + "e": [104, 104, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.379, 0.379, 0.379], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p379_0", + "0p833_1_0p379_0", + "0p833_1_0p379_0" + ], + "t": 70.889, + "s": [104, 104, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.708, 0], + [0, 19.71], + [19.708, 0] + ], + "o": [ + [0, 19.71], + [19.708, 0], + [0, -19.708], + [-19.708, 0] + ], + "v": [ + [-35.688, 0], + [0, 35.688], + [35.688, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1771.901, 675.221], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.144, -21.806], + [-31.929, 0], + [-19.143, 21.808], + [31.928, 0] + ], + "o": [ + [19.144, 21.808], + [31.928, 0], + [-19.143, -21.806], + [-31.929, 0] + ], + "v": [ + [-79.611, -0.001], + [0.005, 35.687], + [79.611, -0.001], + [0.005, -35.687] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1771.901, 760.138], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.126], + [-59.126, 0], + [0, 59.125] + ], + "o": [ + [-59.126, 0], + [0, 59.125], + [59.126, 0], + [0, -59.126] + ], + "v": [ + [0, -107.062], + [-107.063, 0.001], + [0, 107.062], + [107.063, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.115], + [95.116, 0.001], + [0, 95.117], + [-95.116, 0.001] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1771.901, 690.839], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 4, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 1.99999982689395, + "op": 84.9999926429929, + "st": 1.99999982689395, + "bm": 0 + }, + { + "ddd": 0, + "ind": 13, + "ty": 4, + "nm": "Capa 3 copia 3 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [899.212, 184.236, 0], "ix": 2 }, + "a": { "a": 0, "k": [899.212, 184.236, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 2, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [110, 110, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.714, 0.714, 0.714], "y": [1, 1, 1] }, + "o": { "x": [0.321, 0.321, 0.321], "y": [0, 0, 0] }, + "n": [ + "0p714_1_0p321_0", + "0p714_1_0p321_0", + "0p714_1_0p321_0" + ], + "t": 12, + "s": [95, 95, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.621, 0.621, 0.621], "y": [1, 1, 1] }, + "o": { "x": [0.286, 0.286, 0.286], "y": [0, 0, 0] }, + "n": [ + "0p621_1_0p286_0", + "0p621_1_0p286_0", + "0p621_1_0p286_0" + ], + "t": 66, + "s": [95, 95, 100], + "e": [104, 104, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.379, 0.379, 0.379], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p379_0", + "0p833_1_0p379_0", + "0p833_1_0p379_0" + ], + "t": 70.889, + "s": [104, 104, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.708, 0], + [0, 19.708], + [19.709, 0] + ], + "o": [ + [0, 19.708], + [19.709, 0], + [0, -19.708], + [-19.708, 0] + ], + "v": [ + [-35.688, 0], + [-0.001, 35.688], + [35.688, 0], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [899.213, 168.619], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.928, 0], + [-19.142, 21.807], + [31.927, 0] + ], + "o": [ + [19.143, 21.807], + [31.927, 0], + [-19.142, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.611, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [899.212, 253.534], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.125, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.125, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [899.212, 184.236], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 4, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 1.99999982689395, + "op": 84.9999926429929, + "st": 1.99999982689395, + "bm": 0 + }, + { + "ddd": 0, + "ind": 14, + "ty": 4, + "nm": "Capa 3 copia 2 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1314.603, 211.354, 0], "ix": 2 }, + "a": { "a": 0, "k": [1314.603, 211.354, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 2, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [110, 110, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.714, 0.714, 0.714], "y": [1, 1, 1] }, + "o": { "x": [0.321, 0.321, 0.321], "y": [0, 0, 0] }, + "n": [ + "0p714_1_0p321_0", + "0p714_1_0p321_0", + "0p714_1_0p321_0" + ], + "t": 12, + "s": [95, 95, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.621, 0.621, 0.621], "y": [1, 1, 1] }, + "o": { "x": [0.286, 0.286, 0.286], "y": [0, 0, 0] }, + "n": [ + "0p621_1_0p286_0", + "0p621_1_0p286_0", + "0p621_1_0p286_0" + ], + "t": 66, + "s": [95, 95, 100], + "e": [104, 104, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.379, 0.379, 0.379], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p379_0", + "0p833_1_0p379_0", + "0p833_1_0p379_0" + ], + "t": 70.889, + "s": [104, 104, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.707, 0], + [0, 19.709], + [19.708, 0] + ], + "o": [ + [0, 19.709], + [19.708, 0], + [0, -19.708], + [-19.707, 0] + ], + "v": [ + [-35.688, 0.001], + [0, 35.688], + [35.688, 0.001], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1314.603, 195.735], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.928, 0], + [-19.143, 21.808], + [31.928, 0] + ], + "o": [ + [19.143, 21.808], + [31.928, 0], + [-19.143, -21.807], + [-31.928, 0] + ], + "v": [ + [-79.611, -0.001], + [0.005, 35.688], + [79.61, -0.001], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1314.603, 280.653], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.125], + [-59.126, 0], + [0, 59.125] + ], + "o": [ + [-59.126, 0], + [0, 59.125], + [59.126, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1314.603, 211.354], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 4, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 1.99999982689395, + "op": 84.9999926429929, + "st": 1.99999982689395, + "bm": 0 + }, + { + "ddd": 0, + "ind": 15, + "ty": 4, + "nm": "Capa 3 copia contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [791.975, 561.416, 0], "ix": 2 }, + "a": { "a": 0, "k": [791.975, 561.416, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 2, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [110, 110, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.714, 0.714, 0.714], "y": [1, 1, 1] }, + "o": { "x": [0.321, 0.321, 0.321], "y": [0, 0, 0] }, + "n": [ + "0p714_1_0p321_0", + "0p714_1_0p321_0", + "0p714_1_0p321_0" + ], + "t": 12, + "s": [95, 95, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.621, 0.621, 0.621], "y": [1, 1, 1] }, + "o": { "x": [0.286, 0.286, 0.286], "y": [0, 0, 0] }, + "n": [ + "0p621_1_0p286_0", + "0p621_1_0p286_0", + "0p621_1_0p286_0" + ], + "t": 66, + "s": [95, 95, 100], + "e": [104, 104, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.379, 0.379, 0.379], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p379_0", + "0p833_1_0p379_0", + "0p833_1_0p379_0" + ], + "t": 70.889, + "s": [104, 104, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.708], + [-19.707, 0], + [0, 19.709], + [19.709, 0] + ], + "o": [ + [0, 19.709], + [19.709, 0], + [0, -19.708], + [-19.707, 0] + ], + "v": [ + [-35.688, -0.001], + [-0.001, 35.688], + [35.688, -0.001], + [-0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [791.976, 545.798], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.808], + [-31.927, 0], + [-19.143, 21.807], + [31.928, 0] + ], + "o": [ + [19.143, 21.807], + [31.928, 0], + [-19.143, -21.808], + [-31.927, 0] + ], + "v": [ + [-79.611, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [791.975, 630.714], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.126, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [791.975, 561.416], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 4, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 1.99999982689395, + "op": 84.9999926429929, + "st": 1.99999982689395, + "bm": 0 + }, + { + "ddd": 0, + "ind": 16, + "ty": 4, + "nm": "Capa 3 copia 7 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1379.691, 924.878, 0], "ix": 2 }, + "a": { "a": 0, "k": [1219.691, 1024.878, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 2, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [110, 110, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.714, 0.714, 0.714], "y": [1, 1, 1] }, + "o": { "x": [0.321, 0.321, 0.321], "y": [0, 0, 0] }, + "n": [ + "0p714_1_0p321_0", + "0p714_1_0p321_0", + "0p714_1_0p321_0" + ], + "t": 12, + "s": [95, 95, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.621, 0.621, 0.621], "y": [1, 1, 1] }, + "o": { "x": [0.286, 0.286, 0.286], "y": [0, 0, 0] }, + "n": [ + "0p621_1_0p286_0", + "0p621_1_0p286_0", + "0p621_1_0p286_0" + ], + "t": 66, + "s": [95, 95, 100], + "e": [104, 104, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.379, 0.379, 0.379], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p379_0", + "0p833_1_0p379_0", + "0p833_1_0p379_0" + ], + "t": 70.889, + "s": [104, 104, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.709, 0], + [0, 19.707], + [19.708, 0] + ], + "o": [ + [0, 19.707], + [19.708, 0], + [0, -19.709], + [-19.709, 0] + ], + "v": [ + [-35.687, 0], + [0.001, 35.688], + [35.687, 0], + [0.001, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1219.691, 1009.26], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.808], + [-31.928, 0], + [-19.144, 21.806], + [31.928, 0] + ], + "o": [ + [19.143, 21.806], + [31.928, 0], + [-19.144, -21.808], + [-31.928, 0] + ], + "v": [ + [-79.611, 0], + [0.005, 35.688], + [79.612, 0], + [0.005, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1219.691, 1094.176], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.126, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.126, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.448], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.448] + ], + "v": [ + [0, -95.117], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1219.691, 1024.878], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 4, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 1.99999982689395, + "op": 84.9999926429929, + "st": 1.99999982689395, + "bm": 0 + }, + { + "ddd": 0, + "ind": 17, + "ty": 4, + "nm": "Capa 3 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [911.539, 905.314, 0], "ix": 2 }, + "a": { "a": 0, "k": [911.539, 905.314, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 2, + "s": [0, 0, 100], + "e": [110, 110, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 8, + "s": [110, 110, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.714, 0.714, 0.714], "y": [1, 1, 1] }, + "o": { "x": [0.321, 0.321, 0.321], "y": [0, 0, 0] }, + "n": [ + "0p714_1_0p321_0", + "0p714_1_0p321_0", + "0p714_1_0p321_0" + ], + "t": 12, + "s": [95, 95, 100], + "e": [95, 95, 100] + }, + { + "i": { "x": [0.621, 0.621, 0.621], "y": [1, 1, 1] }, + "o": { "x": [0.286, 0.286, 0.286], "y": [0, 0, 0] }, + "n": [ + "0p621_1_0p286_0", + "0p621_1_0p286_0", + "0p621_1_0p286_0" + ], + "t": 66, + "s": [95, 95, 100], + "e": [104, 104, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [1, 1, 1] }, + "o": { "x": [0.379, 0.379, 0.379], "y": [0, 0, 0] }, + "n": [ + "0p833_1_0p379_0", + "0p833_1_0p379_0", + "0p833_1_0p379_0" + ], + "t": 70.889, + "s": [104, 104, 100], + "e": [0, 0, 100] + }, + { "t": 76.9999933354171 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -19.709], + [-19.709, 0], + [0, 19.708], + [19.708, 0] + ], + "o": [ + [0, 19.708], + [19.708, 0], + [0, -19.709], + [-19.709, 0] + ], + "v": [ + [-35.688, 0], + [0, 35.688], + [35.688, 0], + [0, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [911.539, 889.697], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [19.143, -21.807], + [-31.927, 0], + [-19.142, 21.808], + [31.929, 0] + ], + "o": [ + [19.143, 21.808], + [31.929, 0], + [-19.142, -21.807], + [-31.927, 0] + ], + "v": [ + [-79.61, 0], + [0.004, 35.688], + [79.611, 0], + [0.004, -35.688] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [911.538, 974.612], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [59.125, 0], + [0, -59.125], + [-59.125, 0], + [0, 59.125] + ], + "o": [ + [-59.125, 0], + [0, 59.125], + [59.125, 0], + [0, -59.125] + ], + "v": [ + [0, -107.063], + [-107.063, 0], + [0, 107.063], + [107.063, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-52.447, 0], + [0, -52.447], + [52.447, 0], + [0, 52.447] + ], + "o": [ + [52.447, 0], + [0, 52.447], + [-52.447, 0], + [0, -52.447] + ], + "v": [ + [0, -95.116], + [95.116, 0], + [0, 95.116], + [-95.116, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [911.539, 905.314], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 4, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 1.99999982689395, + "op": 84.9999926429929, + "st": 1.99999982689395, + "bm": 0 + }, + { + "ddd": 0, + "ind": 18, + "ty": 4, + "nm": "Capa 2 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1250, 590, 0], "ix": 2 }, + "a": { "a": 0, "k": [1250, 590, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 0, + "s": [100, 100, 100], + "e": [80, 80, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 3, + "s": [80, 80, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.333, 0.333, 0.333], "y": [0, 0, 0] }, + "n": [ + "0p667_1_0p333_0", + "0p667_1_0p333_0", + "0p667_1_0p333_0" + ], + "t": 10, + "s": [100, 100, 100], + "e": [97, 97, 100] + }, + { "t": 15.9999986151516 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, -28.467], + [-28.468, 0], + [0, 28.468], + [28.467, 0] + ], + "o": [ + [0, 28.468], + [28.467, 0], + [0, -28.467], + [-28.468, 0] + ], + "v": [ + [-51.549, -0.001], + [0.001, 51.549], + [51.549, -0.001], + [0.001, -51.549] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1217.243, 561.933], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [27.651, -31.499], + [-46.118, 0], + [-27.652, 31.5], + [46.118, 0] + ], + "o": [ + [27.651, 31.5], + [46.118, 0], + [-27.652, -31.499], + [-46.118, 0] + ], + "v": [ + [-114.994, 0], + [0.006, 51.549], + [114.994, 0], + [0.006, -51.548] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1217.244, 684.589], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [85.404, 0], + [0, -85.403], + [-85.404, 0], + [0, 85.404] + ], + "o": [ + [-85.404, 0], + [0, 85.404], + [85.404, 0], + [0, -85.403] + ], + "v": [ + [0, -154.646], + [-154.646, 0], + [0, 154.646], + [154.646, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-75.757, 0], + [0, -75.757], + [75.757, 0], + [0, 75.757] + ], + "o": [ + [75.757, 0], + [0, 75.757], + [-75.757, 0], + [0, -75.757] + ], + "v": [ + [0, -137.39], + [137.389, 0], + [0, 137.39], + [-137.39, 0] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Trazado 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Combinar trazados 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.093999997307, 0.596000043084, 0.760999971278, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Relleno 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [1217.244, 584.492], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 4, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 82.999992816099, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 19, + "ty": 4, + "nm": "Capa de formas 8", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1250, 590, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [44.5, -124], + [0, 0], + [108, -28], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, -0.25], + [0, 0], + [6, -2], + [0, 0], + [0, 0] + ], + "v": [ + [-40, 52], + [-288.5, 232.5], + [-435.5, 301], + [-614, 362], + [-750, 286], + [-882, 66], + [-1040, 232] + ], + "c": false + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.304464871276, 0.739414828431, 0, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 4, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Trazo 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Forma 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.333], "y": [0] }, + "n": ["0p667_1_0p333_0"], + "t": 61, + "s": [0], + "e": [100] + }, + { "t": 68.9999940278413 } + ], + "ix": 1 + }, + "e": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.333], "y": [0] }, + "n": ["0p667_1_0p333_0"], + "t": 14, + "s": [0], + "e": [100] + }, + { "t": 25.9999977496214 } + ], + "ix": 2 + }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Recortar trazados 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + } + ], + "ip": 8.99999922102278, + "op": 76.9999933354171, + "st": -5.99999948068185, + "bm": 0 + }, + { + "ddd": 0, + "ind": 20, + "ty": 4, + "nm": "Capa de formas 7", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1250, 590, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [8.122, 16.868], + [0, 0], + [0, 0], + [1.808, -7.909], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [-5.105, -10.604], + [0, 0], + [0, 0], + [-1.808, 7.909], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-20.5, -150.5], + [54.5, -335.5], + [0, -308.5], + [-28.5, -354], + [-31, -391.5], + [-252, -403], + [-259.192, -379.909], + [-272, -349.5], + [-308.5, -332.5], + [-348, -330], + [-441.5, -126], + [-490.5, -122], + [-525.182, -100.672], + [-550.5, -58], + [-748, -238], + [-816, -212], + [-839, -240], + [-850, -277.5], + [-1036.5, -304] + ], + "c": false + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.304464871276, 0.739414828431, 0, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 4, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Trazo 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Forma 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.333], "y": [0] }, + "n": ["0p667_1_0p333_0"], + "t": 61, + "s": [0], + "e": [100] + }, + { "t": 68.9999940278413 } + ], + "ix": 1 + }, + "e": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.333], "y": [0] }, + "n": ["0p667_1_0p333_0"], + "t": 14, + "s": [0], + "e": [100] + }, + { "t": 25.9999977496214 } + ], + "ix": 2 + }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Recortar trazados 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + } + ], + "ip": 8.99999922102278, + "op": 76.9999933354171, + "st": -5.99999948068185, + "bm": 0 + }, + { + "ddd": 0, + "ind": 21, + "ty": 4, + "nm": "Capa de formas 6", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1250, 590, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-6, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [6, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [80, -96], + [298.5, -185.5], + [324.5, -149.5], + [459.5, -154.5], + [480, -180], + [684.5, -109.5], + [719.81, -153.713], + [777.971, -174.088], + [747.5, -331.5], + [812.003, -304.014], + [1032.5, -273.5] + ], + "c": false + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.304464871276, 0.739414828431, 0, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 4, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Trazo 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Forma 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.333], "y": [0] }, + "n": ["0p667_1_0p333_0"], + "t": 61, + "s": [0], + "e": [100] + }, + { "t": 68.9999940278413 } + ], + "ix": 1 + }, + "e": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.333], "y": [0] }, + "n": ["0p667_1_0p333_0"], + "t": 14, + "s": [0], + "e": [100] + }, + { "t": 25.9999977496214 } + ], + "ix": 2 + }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Recortar trazados 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + } + ], + "ip": 8.99999922102278, + "op": 76.9999933354171, + "st": -5.99999948068185, + "bm": 0 + }, + { + "ddd": 0, + "ind": 22, + "ty": 4, + "nm": "Capa de formas 9", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [1250, 590, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [-31, -15.5], + [3, -17], + [0, 0], + [0, 0], + [-48, -17], + [-8, -22], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [31, 15.5], + [2, 0], + [0, 0], + [0, 0], + [48, 17], + [1, 1], + [0, 0] + ], + "v": [ + [-22, 54], + [78, 252], + [162, 243.5], + [223.5, 313.5], + [420.5, 159.5], + [620, 304], + [719, 259], + [795, 316], + [1001, 210] + ], + "c": false + }, + "ix": 2 + }, + "nm": "Trazado 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.304464990952, 0.739415007947, 0, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 4, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Trazo 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Forma 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.333], "y": [0] }, + "n": ["0p667_1_0p333_0"], + "t": 61, + "s": [0], + "e": [100] + }, + { "t": 68.9999940278413 } + ], + "ix": 1 + }, + "e": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.333], "y": [0] }, + "n": ["0p667_1_0p333_0"], + "t": 14, + "s": [0], + "e": [100] + }, + { "t": 25.9999977496214 } + ], + "ix": 2 + }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Recortar trazados 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + } + ], + "ip": 8.99999922102278, + "op": 82.999992816099, + "st": 0, + "bm": 0 + } + ] + } + ], + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 0, + "nm": "CONNECTIONS 2", + "refId": "comp_0", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [135, 59, 0], "ix": 2 }, + "a": { "a": 0, "k": [1250, 590, 0], "ix": 1 }, + "s": { "a": 0, "k": [10, 10, 100], "ix": 6 } + }, + "ao": 0, + "w": 2500, + "h": 1180, + "ip": 0, + "op": 82.999992816099, + "st": 0, + "bm": 0 + } + ] +} diff --git a/src/frontend/animations/location.json b/src/frontend/animations/location.json new file mode 100644 index 000000000..7b874a8e9 --- /dev/null +++ b/src/frontend/animations/location.json @@ -0,0 +1,2418 @@ +{ + "v": "5.1.13", + "fr": 30, + "ip": 0, + "op": 90, + "w": 233, + "h": 275, + "nm": "loading", + "ddd": 0, + "assets": [], + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 4, + "nm": "line", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 78, + "s": [0], + "e": [100] + }, + { + "t": 80 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [114, 102.5, 0], + "ix": 2 + }, + "a": { + "a": 0, + "k": [15.556, -104.444, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [85.756, 85.756, 100], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [2, -108.5], + [13.5, -95.5], + [30, -115.5] + ], + "c": false + }, + "ix": 2 + }, + "nm": "패스 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.125490196078, 0.36862745098, 0.866666726505, 1], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 4, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "선 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [0, 0], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "모양 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 90, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 2, + "ty": 4, + "nm": "position 2", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 73, + "s": [0], + "e": [100] + }, + { + "t": 77 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [115, 177.5, 0], + "ix": 2 + }, + "a": { + "a": 0, + "k": [122.429, 235.482, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [59.028, 59, 100], + "ix": 6 + } + }, + "ao": 0, + "ef": [ + { + "ty": 5, + "nm": "퍼핏", + "np": 6, + "mn": "ADBE FreePin3", + "ix": 1, + "en": 1, + "ef": [ + { + "ty": 7, + "nm": "퍼펫 엔진", + "mn": "ADBE FreePin3 Puppet Engine", + "ix": 1, + "v": { + "a": 0, + "k": 2, + "ix": 1 + } + }, + { + "ty": 0, + "nm": "메쉬 회전 세부 조정", + "mn": "ADBE FreePin3 Auto Rotate Pins", + "ix": 2, + "v": { + "a": 0, + "k": 20, + "ix": 2 + } + }, + { + "ty": 7, + "nm": "투명 위에", + "mn": "ADBE FreePin3 On Transparent", + "ix": 3, + "v": { + "a": 0, + "k": 0, + "ix": 3 + } + } + ] + } + ], + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [17.673, 0], + [0, 17.673], + [-17.673, 0], + [0, -17.673] + ], + "o": [ + [-17.673, 0], + [0, -17.673], + [17.673, 0], + [0, 17.673] + ], + "v": [ + [0, 0.893], + [-32, -31.107], + [0, -63.107], + [32, -31.107] + ], + "c": true + }, + "ix": 2 + }, + "nm": "패스 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [37.555, 0], + [0, -37.555], + [-12.238, -17.435], + [-1.209, 1.722], + [0, 33.243] + ], + "o": [ + [-37.555, 0], + [0, 33.243], + [1.209, 1.722], + [12.238, -17.435], + [0, -37.555] + ], + "v": [ + [0, -99.107], + [-68, -31.107], + [-2.484, 97.385], + [2.484, 97.385], + [68, -31.107] + ], + "c": true + }, + "ix": 2 + }, + "nm": "패스 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "패스 병합 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.125, 0.369423391305, 0.866999966491, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "nm": "칠 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [122, 139.107], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "그룹 1", + "np": 4, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 92, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 3, + "ty": 4, + "nm": "position", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 0, + "s": [0], + "e": [100] + }, + { + "t": 14 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 39, + "s": [115, 177.5, 0], + "e": [115, 136.5, 0], + "to": [0, -6.83333349227905, 0], + "ti": [0, 0, 0] + }, + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 49, + "s": [115, 136.5, 0], + "e": [115, 177.5, 0], + "to": [0, 0, 0], + "ti": [0, -6.83333349227905, 0] + }, + { + "t": 59, + "s": [115, 177.5, 0], + "h": 1 + } + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [122.429, 235.482, 0], + "ix": 1 + }, + "s": { + "a": 1, + "k": [ + { + "i": { + "x": [0.667, 0.667, 0.667], + "y": [1, 1, 1] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 9.927] + }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_9p927" + ], + "t": 14, + "s": [59.028, 59.028, 100], + "e": [70, 70, 100] + }, + { + "i": { + "x": [0.667, 0.667, 0.667], + "y": [1, 1, 1] + }, + "o": { + "x": [0.333, 0.333, 0.333], + "y": [0, 0, 0] + }, + "n": ["0p667_1_0p333_0", "0p667_1_0p333_0", "0p667_1_0p333_0"], + "t": 22, + "s": [70, 70, 100], + "e": [59.872, 59.872, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [1, 1, 1.238] + }, + "o": { + "x": [0.333, 0.333, 0.333], + "y": [0, 0, 0] + }, + "n": [ + "0p833_1_0p333_0", + "0p833_1_0p333_0", + "0p833_1p238_0p333_0" + ], + "t": 30, + "s": [59.872, 59.872, 100], + "e": [59.872, 59.872, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 38, + "s": [59.872, 59.872, 100], + "e": [71.028, 42.344, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 40, + "s": [71.028, 42.344, 100], + "e": [59.028, 64.028, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 49, + "s": [59.028, 64.028, 100], + "e": [71.028, 42.344, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 58, + "s": [71.028, 42.344, 100], + "e": [59.028, 59, 100] + }, + { + "t": 60 + } + ], + "ix": 6 + } + }, + "ao": 0, + "ef": [ + { + "ty": 5, + "nm": "퍼핏", + "np": 6, + "mn": "ADBE FreePin3", + "ix": 1, + "en": 1, + "ef": [ + { + "ty": 7, + "nm": "퍼펫 엔진", + "mn": "ADBE FreePin3 Puppet Engine", + "ix": 1, + "v": { + "a": 0, + "k": 2, + "ix": 1 + } + }, + { + "ty": 0, + "nm": "메쉬 회전 세부 조정", + "mn": "ADBE FreePin3 Auto Rotate Pins", + "ix": 2, + "v": { + "a": 0, + "k": 20, + "ix": 2 + } + }, + { + "ty": 7, + "nm": "투명 위에", + "mn": "ADBE FreePin3 On Transparent", + "ix": 3, + "v": { + "a": 0, + "k": 0, + "ix": 3 + } + } + ] + } + ], + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [17.673, 0], + [0, 17.673], + [-17.673, 0], + [0, -17.673] + ], + "o": [ + [-17.673, 0], + [0, -17.673], + [17.673, 0], + [0, 17.673] + ], + "v": [ + [0, 0.893], + [-32, -31.107], + [0, -63.107], + [32, -31.107] + ], + "c": true + }, + "ix": 2 + }, + "nm": "패스 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [37.555, 0], + [0, -37.555], + [-12.238, -17.435], + [-1.209, 1.722], + [0, 33.243] + ], + "o": [ + [-37.555, 0], + [0, 33.243], + [1.209, 1.722], + [12.238, -17.435], + [0, -37.555] + ], + "v": [ + [0, -99.107], + [-68, -31.107], + [-2.484, 97.385], + [2.484, 97.385], + [68, -31.107] + ], + "c": true + }, + "ix": 2 + }, + "nm": "패스 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "패스 병합 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.866999966491, 0.125, 0.13300000359, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "nm": "칠 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [122, 139.107], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "그룹 1", + "np": 4, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 92, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 4, + "ty": 4, + "nm": "05", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 14, + "s": [0], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 15, + "s": [100], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 23, + "s": [100], + "e": [2] + }, + { + "t": 25 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { + "x": 0.64, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p64_1_0p333_0", + "t": 0, + "s": [86, 84.5, 0], + "e": [86, 84, 0], + "to": [0, -0.08333333581686, 0], + "ti": [6.16666650772095, -2.5, 0] + }, + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 14, + "s": [86, 84, 0], + "e": [49, 99.5, 0], + "to": [-6.16666650772095, 2.5, 0], + "ti": [10.1666669845581, -3.83333325386047, 0] + }, + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 23, + "s": [49, 99.5, 0], + "e": [25, 107, 0], + "to": [-10.1666669845581, 3.83333325386047, 0], + "ti": [4, -1.25, 0] + }, + { + "t": 25 + } + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [-75.5, -70, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [50, 50, 100], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [14, 14], + "ix": 2 + }, + "p": { + "a": 0, + "k": [0, 0], + "ix": 3 + }, + "nm": "타원 패스 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [1, 1, 1, 1], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 0, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "선 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.866666726505, 0.125490196078, 0.133333333333, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "nm": "칠 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [-75.5, -70], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "타원 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 90, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 5, + "ty": 4, + "nm": "04", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 14, + "s": [0], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 15, + "s": [100], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 23, + "s": [100], + "e": [2] + }, + { + "t": 25 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 14, + "s": [141.5, 84.5, 0], + "e": [177, 97, 0], + "to": [5.91666650772095, 2.08333325386047, 0], + "ti": [-9.25, -3.25, 0] + }, + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 23, + "s": [177, 97, 0], + "e": [197, 104, 0], + "to": [9.25, 3.25, 0], + "ti": [-3.33333325386047, -1.16666662693024, 0] + }, + { + "t": 25 + } + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [-75.5, -70, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [50, 50, 100], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [14, 14], + "ix": 2 + }, + "p": { + "a": 0, + "k": [0, 0], + "ix": 3 + }, + "nm": "타원 패스 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [1, 1, 1, 1], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 0, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "선 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.866666726505, 0.125490196078, 0.133333333333, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "nm": "칠 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [-75.5, -70], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "타원 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 90, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 6, + "ty": 4, + "nm": "03", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 14, + "s": [0], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 15, + "s": [100], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 23, + "s": [100], + "e": [2] + }, + { + "t": 25 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 14, + "s": [114, 73, 0], + "e": [166, 43.5, 0], + "to": [8.66666698455811, -4.91666650772095, 0], + "ti": [-12.25, 7, 0] + }, + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 23, + "s": [166, 43.5, 0], + "e": [187.5, 31, 0], + "to": [12.25, -7, 0], + "ti": [-3.58333325386047, 2.08333325386047, 0] + }, + { + "t": 25 + } + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [-75.5, -70, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [50, 50, 100], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [14, 14], + "ix": 2 + }, + "p": { + "a": 0, + "k": [0, 0], + "ix": 3 + }, + "nm": "타원 패스 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [1, 1, 1, 1], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 0, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "선 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.866666726505, 0.125490196078, 0.133333333333, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "nm": "칠 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [-75.5, -70], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "타원 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 90, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 7, + "ty": 4, + "nm": "02", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 14, + "s": [0], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 15, + "s": [100], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 23, + "s": [100], + "e": [2] + }, + { + "t": 25 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 14, + "s": [114, 73, 0], + "e": [110.5, 34, 0], + "to": [-0.58333331346512, -6.5, 0], + "ti": [0.58333331346512, 10.6666669845581, 0] + }, + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 23, + "s": [110.5, 34, 0], + "e": [110.5, 9, 0], + "to": [-0.58333331346512, -10.6666669845581, 0], + "ti": [0, 4.16666650772095, 0] + }, + { + "t": 25 + } + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [-75.5, -70, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [64, 64, 100], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [14, 14], + "ix": 2 + }, + "p": { + "a": 0, + "k": [0, 0], + "ix": 3 + }, + "nm": "타원 패스 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [1, 1, 1, 1], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 0, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "선 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.866666726505, 0.125490196078, 0.133333333333, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "nm": "칠 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [-75.5, -70], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "타원 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 90, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 8, + "ty": 4, + "nm": "01", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 14, + "s": [0], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 15, + "s": [100], + "e": [100] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 23, + "s": [100], + "e": [2] + }, + { + "t": 25 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 14, + "s": [114, 73, 0], + "e": [63.5, 35.5, 0], + "to": [-8.41666698455811, -6.25, 0], + "ti": [9.91666698455811, 8.25, 0] + }, + { + "i": { + "x": 0.667, + "y": 1 + }, + "o": { + "x": 0.333, + "y": 0 + }, + "n": "0p667_1_0p333_0", + "t": 23, + "s": [63.5, 35.5, 0], + "e": [54.5, 23.5, 0], + "to": [-9.91666698455811, -8.25, 0], + "ti": [1.5, 2, 0] + }, + { + "t": 25 + } + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [-75.5, -70, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [50, 50, 100], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [14, 14], + "ix": 2 + }, + "p": { + "a": 0, + "k": [0, 0], + "ix": 3 + }, + "nm": "타원 패스 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [1, 1, 1, 1], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 0, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "선 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.866666726505, 0.125490196078, 0.133333333333, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "nm": "칠 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [-75.5, -70], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "타원 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 90, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 9, + "ty": 4, + "nm": "sdow", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 0, + "s": [0], + "e": [30] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 14, + "s": [30], + "e": [20] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 22, + "s": [20], + "e": [30] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 30, + "s": [30], + "e": [30] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 40, + "s": [30], + "e": [10] + }, + { + "i": { + "x": [0.833], + "y": [0.833] + }, + "o": { + "x": [0.167], + "y": [0.167] + }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 49, + "s": [10], + "e": [30] + }, + { + "t": 60 + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [113.5, 178, 0], + "ix": 2 + }, + "a": { + "a": 0, + "k": [-1.37, 84.247, 0], + "ix": 1 + }, + "s": { + "a": 1, + "k": [ + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 14, + "s": [108, 35, 100], + "e": [156, 83, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 22, + "s": [156, 83, 100], + "e": [108, 35, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 30, + "s": [108, 35, 100], + "e": [108, 35, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 38, + "s": [108, 35, 100], + "e": [134, 35, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 40, + "s": [134, 35, 100], + "e": [71, 35, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 49, + "s": [71, 35, 100], + "e": [134, 35, 100] + }, + { + "i": { + "x": [0.833, 0.833, 0.833], + "y": [0.833, 0.833, 0.833] + }, + "o": { + "x": [0.167, 0.167, 0.167], + "y": [0.167, 0.167, 0.167] + }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 58, + "s": [134, 35, 100], + "e": [108, 35, 100] + }, + { + "t": 60 + } + ], + "ix": 6 + } + }, + "ao": 0, + "ef": [ + { + "ty": 5, + "nm": "가우시안 흐림", + "np": 5, + "mn": "ADBE Gaussian Blur 2", + "ix": 1, + "en": 1, + "ef": [ + { + "ty": 0, + "nm": "흐림", + "mn": "ADBE Gaussian Blur 2-0001", + "ix": 1, + "v": { + "a": 0, + "k": 11, + "ix": 1 + } + }, + { + "ty": 7, + "nm": "흐림 차원", + "mn": "ADBE Gaussian Blur 2-0002", + "ix": 2, + "v": { + "a": 0, + "k": 1, + "ix": 2 + } + }, + { + "ty": 7, + "nm": "가장자리 픽셀 반복", + "mn": "ADBE Gaussian Blur 2-0003", + "ix": 3, + "v": { + "a": 0, + "k": 0, + "ix": 3 + } + } + ] + } + ], + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [70, 16], + "ix": 2 + }, + "p": { + "a": 0, + "k": [0, 0], + "ix": 3 + }, + "nm": "타원 패스 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [1, 1, 1, 1], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 0, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "선 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0, 0, 0, 1], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "nm": "칠 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [-0.5, 86], + "ix": 2 + }, + "a": { + "a": 0, + "k": [0, 0], + "ix": 1 + }, + "s": { + "a": 0, + "k": [100, 100], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "변형" + } + ], + "nm": "타원 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 90, + "st": 0, + "bm": 0 + } + ], + "markers": [] +} diff --git a/src/frontend/animations/task-done.json b/src/frontend/animations/task-done.json new file mode 100644 index 000000000..a1ee5c668 --- /dev/null +++ b/src/frontend/animations/task-done.json @@ -0,0 +1,3994 @@ +{ + "v": "4.10.1", + "fr": 29.9700012207031, + "ip": 0, + "op": 90.0000036657751, + "w": 512, + "h": 512, + "nm": "avaliacao_camadas", + "ddd": 0, + "assets": [], + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 4, + "nm": "Camada de forma 8", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 92.111, "ix": 10 }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 47, + "s": [217, 175.5, 0], + "e": [217, 175.5, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 52, + "s": [217, 175.5, 0], + "e": [217, 90.5, 0], + "to": [0, -14.1666669845581, 0], + "ti": [0, 14.1666669845581, 0] + }, + { "t": 58.0000023623884 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [-145, -37, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 47, + "s": [0, 100, 100], + "e": [102.976, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 52, + "s": [102.976, 100, 100], + "e": [-0.012, 100, 100] + }, + { "t": 58.0000023623884 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { "a": 0, "k": [89, 13], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "r": { "a": 0, "k": 20, "ix": 4 }, + "nm": "Caminho do retângulo 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 0, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Traçado 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.329411764706, 0.752941176471, 0.921568627451, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-184.5, -37.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Retângulo 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 47.0000019143492, + "op": 58.0000023623884, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 2, + "ty": 4, + "nm": "Camada de forma 7", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 34.499, "ix": 10 }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 47, + "s": [164, 210, 0], + "e": [164, 210, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 52, + "s": [164, 210, 0], + "e": [102, 160, 0], + "to": [-10.3333330154419, -8.33333301544189, 0], + "ti": [10.3333330154419, 8.33333301544189, 0] + }, + { "t": 58.0000023623884 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [-145, -37, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 47, + "s": [0, 100, 100], + "e": [102.976, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 52, + "s": [102.976, 100, 100], + "e": [-0.012, 100, 100] + }, + { "t": 58.0000023623884 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { "a": 0, "k": [89, 13], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "r": { "a": 0, "k": 20, "ix": 4 }, + "nm": "Caminho do retângulo 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 0, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Traçado 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.329411764706, 0.752941176471, 0.921568627451, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-184.5, -37.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Retângulo 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 47.0000019143492, + "op": 58.0000023623884, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 3, + "ty": 4, + "nm": "Camada de forma 6", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": -26.142, "ix": 10 }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 47, + "s": [177, 298.5, 0], + "e": [177, 298.5, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 52, + "s": [177, 298.5, 0], + "e": [81, 349.5, 0], + "to": [-16, 8.5, 0], + "ti": [16, -8.5, 0] + }, + { "t": 58.0000023623884 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [-145, -37, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 47, + "s": [0, 100, 100], + "e": [102.976, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 52, + "s": [102.976, 100, 100], + "e": [-0.012, 100, 100] + }, + { "t": 58.0000023623884 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { "a": 0, "k": [89, 13], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "r": { "a": 0, "k": 20, "ix": 4 }, + "nm": "Caminho do retângulo 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 0, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Traçado 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.329411764706, 0.752941176471, 0.921568627451, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-184.5, -37.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Retângulo 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 47.0000019143492, + "op": 58.0000023623884, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 4, + "ty": 4, + "nm": "Camada de forma 5", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": -145.138, "ix": 10 }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 47, + "s": [287.5, 306, 0], + "e": [287.5, 306, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 52, + "s": [287.5, 306, 0], + "e": [356.5, 365, 0], + "to": [11.5, 9.83333301544189, 0], + "ti": [-11.5, -9.83333301544189, 0] + }, + { "t": 58.0000023623884 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [-145, -37, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 47, + "s": [0, 100, 100], + "e": [102.976, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 52, + "s": [102.976, 100, 100], + "e": [-0.012, 100, 100] + }, + { "t": 58.0000023623884 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { "a": 0, "k": [89, 13], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "r": { "a": 0, "k": 20, "ix": 4 }, + "nm": "Caminho do retângulo 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 0, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Traçado 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.329411764706, 0.752941176471, 0.921568627451, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-184.5, -37.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Retângulo 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 47.0000019143492, + "op": 58.0000023623884, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 5, + "ty": 4, + "nm": "Camada de forma 4", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 180.248, "ix": 10 }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 47, + "s": [307, 246, 0], + "e": [307, 246, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 52, + "s": [307, 246, 0], + "e": [407, 246, 0], + "to": [16.6666660308838, 0, 0], + "ti": [-16.6666660308838, 0, 0] + }, + { "t": 58.0000023623884 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [-145, -37, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 47, + "s": [0, 100, 100], + "e": [102.976, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 52, + "s": [102.976, 100, 100], + "e": [-0.012, 100, 100] + }, + { "t": 58.0000023623884 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { "a": 0, "k": [89, 13], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "r": { "a": 0, "k": 20, "ix": 4 }, + "nm": "Caminho do retângulo 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 0, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Traçado 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.329411764706, 0.752941176471, 0.921568627451, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-184.5, -37.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Retângulo 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 47.0000019143492, + "op": 58.0000023623884, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 6, + "ty": 4, + "nm": "Camada de forma 3", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": -206.269, "ix": 10 }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 47, + "s": [319, 194.5, 0], + "e": [319, 194.5, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 52, + "s": [319, 194.5, 0], + "e": [397, 156.5, 0], + "to": [13, -6.33333349227905, 0], + "ti": [-13, 6.33333349227905, 0] + }, + { "t": 58.0000023623884 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [-145, -37, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 47, + "s": [0, 100, 100], + "e": [102.976, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 52, + "s": [102.976, 100, 100], + "e": [-0.012, 100, 100] + }, + { "t": 58.0000023623884 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { "a": 0, "k": [89, 13], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "r": { "a": 0, "k": 20, "ix": 4 }, + "nm": "Caminho do retângulo 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 0, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Traçado 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.329411764706, 0.752941176471, 0.921568627451, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-184.5, -37.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Retângulo 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 47.0000019143492, + "op": 58.0000023623884, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 7, + "ty": 4, + "nm": "Camada de forma 2", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": -92.181, "ix": 10 }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 47, + "s": [225.5, 325, 0], + "e": [225.5, 325, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 52, + "s": [225.5, 325, 0], + "e": [225.5, 420, 0], + "to": [0, 15.8333330154419, 0], + "ti": [0, -15.8333330154419, 0] + }, + { "t": 58.0000023623884 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [-145, -37, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 47, + "s": [0, 100, 100], + "e": [102.976, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 52, + "s": [102.976, 100, 100], + "e": [-0.012, 100, 100] + }, + { "t": 58.0000023623884 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { "a": 0, "k": [89, 13], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "r": { "a": 0, "k": 20, "ix": 4 }, + "nm": "Caminho do retângulo 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 0, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Traçado 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.329411764706, 0.752941176471, 0.921568627451, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-184.5, -37.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Retângulo 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 47.0000019143492, + "op": 58.0000023623884, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 8, + "ty": 4, + "nm": "Camada de forma 1", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 47, + "s": [158, 250, 0], + "e": [158, 250, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 52, + "s": [158, 250, 0], + "e": [66, 250, 0], + "to": [-15.3333330154419, 0, 0], + "ti": [15.3333330154419, 0, 0] + }, + { "t": 58.0000023623884 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [-145, -37, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 47, + "s": [0, 100, 100], + "e": [102.976, 100, 100] + }, + { + "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, + "n": [ + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167", + "0p833_0p833_0p167_0p167" + ], + "t": 52, + "s": [102.976, 100, 100], + "e": [-0.012, 100, 100] + }, + { "t": 58.0000023623884 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "rc", + "d": 1, + "s": { "a": 0, "k": [89, 13], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "r": { "a": 0, "k": 20, "ix": 4 }, + "nm": "Caminho do retângulo 1", + "mn": "ADBE Vector Shape - Rect", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 0, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Traçado 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.329411764706, 0.752941176471, 0.921568627451, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-184.5, -37.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Retângulo 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 47.0000019143492, + "op": 58.0000023623884, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 9, + "ty": 4, + "nm": "lapis_avaliacao contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 9, + "s": [46.158], + "e": [-26.553] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 14, + "s": [-26.553], + "e": [15.068] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 17, + "s": [15.068], + "e": [0] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p667_1_0p167_0"], + "t": 20, + "s": [0], + "e": [0] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 30, + "s": [0], + "e": [-26.04] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 36, + "s": [-26.04], + "e": [-31.892] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 43, + "s": [-31.892], + "e": [5.008] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.181], "y": [-0.011] }, + "n": ["0p667_1_0p181_-0p011"], + "t": 50, + "s": [5.008], + "e": [18.401] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.346], "y": [0.022] }, + "n": ["0p667_1_0p346_0p022"], + "t": 58, + "s": [18.401], + "e": [-6.103] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 72, + "s": [-6.103], + "e": [0] + }, + { "t": 82.0000033399285 } + ], + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 9, + "s": [259, 305, 0], + "e": [331, 403, 0], + "to": [34.6666679382324, -3.5, 0], + "ti": [15.3333330154419, -37.5, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 14, + "s": [331, 403, 0], + "e": [317, 386, 0], + "to": [0, 0, 0], + "ti": [2.33333325386047, 2.83333325386047, 0] + }, + { + "i": { "x": 0.667, "y": 0.667 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_0p667_0p167_0p167", + "t": 17, + "s": [317, 386, 0], + "e": [317, 386, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.667, "y": 0.667 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_0p667_0p167_0p167", + "t": 20, + "s": [317, 386, 0], + "e": [317, 386, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 30, + "s": [317, 386, 0], + "e": [195, 169, 0], + "to": [12.1666669845581, -108.5, 0], + "ti": [16.5, 30.6666660308838, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 36, + "s": [195, 169, 0], + "e": [218, 202, 0], + "to": [-16.5, -30.6666660308838, 0], + "ti": [-28.5, 10.1666669845581, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 43, + "s": [218, 202, 0], + "e": [366, 108, 0], + "to": [28.5, -10.1666669845581, 0], + "ti": [-25.0794296264648, 12.5397148132324, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 50, + "s": [366, 108, 0], + "e": [361, 122, 0], + "to": [0.66666668653488, -0.33333334326744, 0], + "ti": [8.16666698455811, -49.75, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 57, + "s": [361, 122, 0], + "e": [317, 406.5, 0], + "to": [-8.16666698455811, 49.75, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 72, + "s": [317, 406.5, 0], + "e": [317, 386, 0], + "to": [0.16666667163372, -6.10000938650046e-10, 0], + "ti": [0, 0, 0] + }, + { "t": 82.0000033399285 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [306, 396, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 16.603] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_16p603" + ], + "t": 9, + "s": [0.382, 0.382, 100], + "e": [112.373, 106.191, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 14, + "s": [112.373, 106.191, 100], + "e": [75.26, 87.542, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 17, + "s": [75.26, 87.542, 100], + "e": [94.771, 94.771, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 20, + "s": [94.771, 94.771, 100], + "e": [94.771, 94.771, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 30, + "s": [94.771, 94.771, 100], + "e": [94.771, 94.771, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 72, + "s": [94.771, 94.771, 100], + "e": [94.771, 94.771, 100] + }, + { "t": 82.0000033399285 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [1.911, 0], + [1.469, 1.468], + [-2.947, 2.947], + [0, 0], + [-2.937, -2.985], + [2.947, -2.947], + [0, 0] + ], + "o": [ + [-1.912, 0], + [-2.947, -2.937], + [0, 0], + [2.947, -2.985], + [2.947, 2.937], + [0, 0], + [-1.468, 1.468] + ], + "v": [ + [-8.313, 16.221], + [-13.642, 14.01], + [-13.642, 3.38], + [2.975, -13.236], + [13.642, -13.236], + [13.642, -2.607], + [-2.985, 14.01] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.368999974868, 0.368999974868, 0.368999974868, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [272.743, 454.782], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-32.438, 55.052], + [-55.053, 32.401], + [32.402, -55.052], + [55.053, -32.439] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.882000014361, 0.54900004069, 0.144999994016, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [360.822, 387.076], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [5.847, 5.809], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [5.847, -5.846], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-5.075, 30.08], + [21.879, 3.125], + [21.879, -18.02], + [9.82, -30.08], + [-27.726, 7.466] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.638999968884, 0.277999997606, 0.250999989229, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [420.95, 324.558], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [29.275, 3.347], + [29.313, 3.272], + [6.698, -19.342], + [-28.314, 15.671], + [-29.313, 19.342] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.838999968884, 0.769000004787, 0.694000004787, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [299.071, 438.82], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 4", + "np": 2, + "cix": 2, + "ix": 4, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [33.743, -53.711], + [53.712, -33.78], + [-33.743, 53.711], + [-53.711, 33.743] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.948999980852, 0.611999990426, 0.128999986836, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [339.512, 365.766], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 5", + "np": 2, + "cix": 2, + "ix": 5, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [5.846, -5.856], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [-5.847, -5.856], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [28.758, -11.176], + [19.38, -20.553], + [-1.766, -20.553], + [-28.758, 6.439], + [-8.789, 26.408] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.842999985639, 0.352999997606, 0.289999988032, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [402.012, 305.615], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 6", + "np": 2, + "cix": 2, + "ix": 6, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-2.462, -27.491], + [-2.537, -27.415], + [-17.506, 27.491], + [17.506, -7.522] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.929000016755, 0.862999949736, 0.779999976065, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [288.263, 426.999], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 7", + "np": 2, + "cix": 2, + "ix": 7, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 9.00000036657752, + "op": 90.0000036657751, + "st": 2.00000008146167, + "bm": 0 + }, + { + "ddd": 0, + "ind": 10, + "ty": 4, + "nm": "Camada 2 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 36, + "s": [8.836], + "e": [0] + }, + { "t": 50.0000020365418 } + ], + "ix": 10 + }, + "p": { "a": 0, "k": [237.85, 236.4, 0], "ix": 2 }, + "a": { "a": 0, "k": [64.3, 52.75, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 36, + "s": [100, 100, 100], + "e": [117.174, 103.81, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 50, + "s": [117.174, 103.81, 100], + "e": [100, 100, 100] + }, + { "t": 55.0000022401959 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 1, + "k": [ + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 36, + "s": [ + { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-55.2, 7.5], + [-54.8, 1.649], + [-43.45, -11.7], + [-44.45, -10.2], + [-43.05, -11.5], + [-52.7, 6.6] + ], + "c": true + } + ], + "e": [ + { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-20.45, 52.5], + [-64.05, 8.899], + [-43.45, -11.7], + [-20.45, 11.3], + [-19.05, 10], + [-17.95, 51.1] + ], + "c": true + } + ] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 43, + "s": [ + { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-20.45, 52.5], + [-64.05, 8.899], + [-43.45, -11.7], + [-20.45, 11.3], + [-19.05, 10], + [-17.95, 51.1] + ], + "c": true + } + ], + "e": [ + { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-20.45, 52.5], + [-64.05, 8.899], + [-43.45, -11.7], + [-20.45, 11.3], + [43.45, -52.5], + [64.05, -31.9] + ], + "c": true + } + ] + }, + { "t": 50.0000020365418 } + ], + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.328999986836, 0.752999997606, 0.922000002394, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [64.3, 52.75], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 36.0000014663101, + "op": 90.0000036657751, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 11, + "ty": 4, + "nm": "Camada 4 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 10, + "s": [4.362], + "e": [-4.859] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 15, + "s": [-4.859], + "e": [0] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p667_1_0p167_0"], + "t": 19, + "s": [0], + "e": [0] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p667_1_0p167_0"], + "t": 22, + "s": [0], + "e": [0] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 30, + "s": [0], + "e": [-3.529] + }, + { + "i": { "x": [0.615], "y": [0.934] }, + "o": { "x": [0.17], "y": [0.043] }, + "n": ["0p615_0p934_0p17_0p043"], + "t": 45, + "s": [-3.529], + "e": [1.351] + }, + { + "i": { "x": [0.69], "y": [1] }, + "o": { "x": [0.351], "y": [-0.078] }, + "n": ["0p69_1_0p351_-0p078"], + "t": 59, + "s": [1.351], + "e": [0] + }, + { "t": 64.0000026067734 } + ], + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 10, + "s": [245.05, 80.95, 0], + "e": [226.05, 110.95, 0], + "to": [-3.16666674613953, 5, 0], + "ti": [3.16666674613953, -1.5, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 15, + "s": [226.05, 110.95, 0], + "e": [226.05, 89.95, 0], + "to": [-3.16666674613953, 1.5, 0], + "ti": [0, 1.66666662693024, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 19, + "s": [226.05, 89.95, 0], + "e": [226.05, 100.95, 0], + "to": [0, -1.66666662693024, 0], + "ti": [0, -1.83333337306976, 0] + }, + { + "i": { "x": 0.667, "y": 0.667 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_0p667_0p167_0p167", + "t": 22, + "s": [226.05, 100.95, 0], + "e": [226.05, 100.95, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { + "i": { "x": 0.833, "y": 0.833 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p833_0p833_0p167_0p167", + "t": 30, + "s": [226.05, 100.95, 0], + "e": [214.05, 102.95, 0], + "to": [-2, 0.33333334326744, 0], + "ti": [-0.66666668653488, 0, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 45, + "s": [214.05, 102.95, 0], + "e": [230.05, 100.95, 0], + "to": [0.66666668653488, 0, 0], + "ti": [-2, 0.33333334326744, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 59, + "s": [230.05, 100.95, 0], + "e": [226.05, 100.95, 0], + "to": [2, -0.33333334326744, 0], + "ti": [0.66666668653488, 0, 0] + }, + { "t": 64.0000026067734 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [57.8, 35.6, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 10, + "s": [115.639, -1.839, 100], + "e": [89.612, 115.052, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 15, + "s": [89.612, 115.052, 100], + "e": [110.426, 85.856, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 19, + "s": [110.426, 85.856, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 22, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { "t": 30.0000012219251 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [11.5, 0], + [0, -11.5], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, -11.5], + [-11.5, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [20.75, -7.25], + [20.75, -14.55], + [-0.05, -35.35], + [-20.85, -14.55], + [-20.85, -7.25], + [-57.55, -7.25], + [-57.55, 35.35], + [57.55, 35.35], + [57.55, -7.25] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.626999978458, 0.626999978458, 0.626999978458, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [57.8, 35.6], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 10.0000004073083, + "op": 90.0000036657751, + "st": -1.00000004073083, + "bm": 0 + }, + { + "ddd": 0, + "ind": 12, + "ty": 4, + "nm": "Camada 3 contornos 2", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 31, + "s": [0], + "e": [-3.529] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 46, + "s": [-3.529], + "e": [0.916] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 60, + "s": [0.916], + "e": [0] + }, + { "t": 65.0000026475043 } + ], + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 12, + "s": [226.05, 108.7, 0], + "e": [226.05, 269.7, 0], + "to": [0, 26.8333339691162, 0], + "ti": [0, -22.5, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 17, + "s": [226.05, 269.7, 0], + "e": [226.05, 243.7, 0], + "to": [0, 22.5, 0], + "ti": [0, 3, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 21, + "s": [226.05, 243.7, 0], + "e": [226.05, 251.7, 0], + "to": [0, -3, 0], + "ti": [0, -1.33333337306976, 0] + }, + { + "i": { "x": 0.667, "y": 0.667 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_0p667_0p167_0p167", + "t": 25, + "s": [226.05, 251.7, 0], + "e": [226.05, 251.7, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { "t": 31.0000012626559 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [106.35, 131.65, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 12, + "s": [100, 0.304, 100], + "e": [91.517, 117.504, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 17, + "s": [91.517, 117.504, 100], + "e": [106.598, 95.434, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 21, + "s": [106.598, 95.434, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 25, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { "t": 31.0000012626559 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-47.55, 47.65], + [47.65, 47.65], + [47.65, -47.55], + [-47.55, -47.55] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [59.25, 59.25], + [-59.25, 59.25], + [-59.25, -59.25], + [59.25, -59.25] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "mm", + "mm": 1, + "nm": "Mesclar caminhos 1", + "mn": "ADBE Vector Filter - Merge", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.902000038297, 0.913999968884, 0.933000033509, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [89.7, 133.3], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 4, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-18.5, 18.449], + [18.5, -18.45], + [-18.5, -18.45] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.902000038297, 0.913999968884, 0.933000033509, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [193.95, 244.6], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-106.1, -131.4], + [-106.1, 131.4], + [69.1, 131.4], + [69.1, 94.5], + [106.1, 94.5], + [106.1, -131.4] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 4 }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [106.35, 131.65], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 3, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 12.00000048877, + "op": 91.000003706506, + "st": -8.00000032584668, + "bm": 0 + }, + { + "ddd": 0, + "ind": 13, + "ty": 4, + "nm": "Camada 3 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 30, + "s": [0], + "e": [-3.529] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 45, + "s": [-3.529], + "e": [0.916] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 59, + "s": [0.916], + "e": [0] + }, + { "t": 64.0000026067734 } + ], + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 11, + "s": [226.05, 108.7, 0], + "e": [226.05, 269.7, 0], + "to": [0, 26.8333339691162, 0], + "ti": [0, -22.5, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 16, + "s": [226.05, 269.7, 0], + "e": [226.05, 243.7, 0], + "to": [0, 22.5, 0], + "ti": [0, 3, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 20, + "s": [226.05, 243.7, 0], + "e": [226.05, 251.7, 0], + "to": [0, -3, 0], + "ti": [0, -1.33333337306976, 0] + }, + { + "i": { "x": 0.667, "y": 0.667 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_0p667_0p167_0p167", + "t": 24, + "s": [226.05, 251.7, 0], + "e": [226.05, 251.7, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { "t": 30.0000012219251 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [106.35, 131.65, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 11, + "s": [100, 0.304, 100], + "e": [91.517, 117.504, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 16, + "s": [91.517, 117.504, 100], + "e": [106.598, 95.434, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 20, + "s": [106.598, 95.434, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 24, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { "t": 30.0000012219251 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-18.5, 18.449], + [18.5, -18.45], + [-18.5, -18.45] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.690196037292, 0.938623785973, 1, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [193.95, 244.6], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-106.1, -131.4], + [-106.1, 131.4], + [69.1, 131.4], + [69.1, 94.5], + [106.1, 94.5], + [106.1, -131.4] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.690196096897, 0.937254905701, 1, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [106.35, 131.65], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 11.0000004480392, + "op": 90.0000036657752, + "st": -9.00000036657752, + "bm": 0 + }, + { + "ddd": 0, + "ind": 14, + "ty": 4, + "nm": "Camada 3 contornos 3", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 29, + "s": [0], + "e": [-3.529] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 44, + "s": [-3.529], + "e": [0.916] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 58, + "s": [0.916], + "e": [0] + }, + { "t": 63.0000025660426 } + ], + "ix": 10 + }, + "p": { + "a": 1, + "k": [ + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 10, + "s": [226.05, 108.7, 0], + "e": [226.05, 269.7, 0], + "to": [0, 26.8333339691162, 0], + "ti": [0, -22.5, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 15, + "s": [226.05, 269.7, 0], + "e": [226.05, 243.7, 0], + "to": [0, 22.5, 0], + "ti": [0, 3, 0] + }, + { + "i": { "x": 0.667, "y": 1 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_1_0p167_0p167", + "t": 19, + "s": [226.05, 243.7, 0], + "e": [226.05, 251.7, 0], + "to": [0, -3, 0], + "ti": [0, -1.33333337306976, 0] + }, + { + "i": { "x": 0.667, "y": 0.667 }, + "o": { "x": 0.167, "y": 0.167 }, + "n": "0p667_0p667_0p167_0p167", + "t": 23, + "s": [226.05, 251.7, 0], + "e": [226.05, 251.7, 0], + "to": [0, 0, 0], + "ti": [0, 0, 0] + }, + { "t": 29.0000011811942 } + ], + "ix": 2 + }, + "a": { "a": 0, "k": [106.35, 131.65, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 10, + "s": [100, 0.304, 100], + "e": [91.517, 117.504, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 15, + "s": [91.517, 117.504, 100], + "e": [106.598, 95.434, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0" + ], + "t": 19, + "s": [106.598, 95.434, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 23, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { "t": 29.0000011811942 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-18.5, 18.449], + [18.5, -18.45], + [-18.5, -18.45] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.168627455831, 0.835294127464, 1, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [193.95, 244.6], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 2", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "o": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + "v": [ + [-106.1, -131.4], + [-106.1, 131.4], + [69.1, 131.4], + [69.1, 94.5], + [106.1, 94.5], + [106.1, -131.4] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.168627440929, 0.833725273609, 1, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [106.35, 131.65], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 3", + "np": 2, + "cix": 2, + "ix": 2, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 10.0000004073083, + "op": 89.0000036250443, + "st": -10.0000004073083, + "bm": 0 + }, + { + "ddd": 0, + "ind": 15, + "ty": 4, + "nm": "Layer 1 contornos", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 2, + "s": [0], + "e": [364] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 13, + "s": [364], + "e": [359] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 19, + "s": [359], + "e": [360] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p667_1_0p167_0"], + "t": 24, + "s": [360], + "e": [360] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 32, + "s": [360], + "e": [356.471] + }, + { + "i": { "x": [0.615], "y": [0.934] }, + "o": { "x": [0.17], "y": [0.043] }, + "n": ["0p615_0p934_0p17_0p043"], + "t": 47, + "s": [356.471], + "e": [361.351] + }, + { + "i": { "x": [0.69], "y": [1] }, + "o": { "x": [0.351], "y": [-0.078] }, + "n": ["0p69_1_0p351_-0p078"], + "t": 61, + "s": [361.351], + "e": [360] + }, + { "t": 66.0000026882351 } + ], + "ix": 10 + }, + "p": { "a": 0, "k": [226.05, 267.45, 0], "ix": 2 }, + "a": { "a": 0, "k": [132.4, 166.4, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 16.52] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_16p52" + ], + "t": 2, + "s": [0, 0, 100], + "e": [102.242, 113.009, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.335] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p335" + ], + "t": 13, + "s": [102.242, 113.009, 100], + "e": [100.787, 89.379, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, -0.189] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_-0p189" + ], + "t": 19, + "s": [100.787, 89.379, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 24, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { "t": 32.0000013033867 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [2.6, 0], + [0, 0], + [0, 2.599], + [0, 0], + [-2.6, 0], + [0, 0], + [0, -2.6], + [0, 0] + ], + "o": [ + [0, 0], + [-2.6, 0], + [0, 0], + [0, -2.6], + [0, 0], + [2.599, 0], + [0, 0], + [-0.101, 2.5] + ], + "v": [ + [127.35, 166.15], + [-127.45, 166.15], + [-132.15, 161.451], + [-132.15, -161.45], + [-127.45, -166.15], + [127.45, -166.15], + [132.15, -161.45], + [132.15, 161.55] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.195999998205, 0.289999988032, 0.368999974868, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [132.4, 166.4], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 2.00000008146167, + "op": 92.0000037472368, + "st": 2.00000008146167, + "bm": 0 + }, + { + "ddd": 0, + "ind": 16, + "ty": 4, + "nm": "Layer 1 contornos 3", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 1, + "s": [0], + "e": [364] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 12, + "s": [364], + "e": [359] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 18, + "s": [359], + "e": [360] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p667_1_0p167_0"], + "t": 23, + "s": [360], + "e": [360] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 31, + "s": [360], + "e": [356.471] + }, + { + "i": { "x": [0.615], "y": [0.934] }, + "o": { "x": [0.17], "y": [0.043] }, + "n": ["0p615_0p934_0p17_0p043"], + "t": 46, + "s": [356.471], + "e": [361.351] + }, + { + "i": { "x": [0.69], "y": [1] }, + "o": { "x": [0.351], "y": [-0.078] }, + "n": ["0p69_1_0p351_-0p078"], + "t": 60, + "s": [361.351], + "e": [360] + }, + { "t": 65.0000026475043 } + ], + "ix": 10 + }, + "p": { "a": 0, "k": [226.05, 267.45, 0], "ix": 2 }, + "a": { "a": 0, "k": [132.4, 166.4, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 16.52] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_16p52" + ], + "t": 1, + "s": [0, 0, 100], + "e": [102.242, 113.009, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.335] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p335" + ], + "t": 12, + "s": [102.242, 113.009, 100], + "e": [100.787, 89.379, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, -0.189] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_-0p189" + ], + "t": 18, + "s": [100.787, 89.379, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 23, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { "t": 31.0000012626559 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [2.6, 0], + [0, 0], + [0, 2.599], + [0, 0], + [-2.6, 0], + [0, 0], + [0, -2.6], + [0, 0] + ], + "o": [ + [0, 0], + [-2.6, 0], + [0, 0], + [0, -2.6], + [0, 0], + [2.599, 0], + [0, 0], + [-0.101, 2.5] + ], + "v": [ + [127.35, 166.15], + [-127.45, 166.15], + [-132.15, 161.451], + [-132.15, -161.45], + [-127.45, -166.15], + [127.45, -166.15], + [132.15, -161.45], + [132.15, 161.55] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.292318344116, 0.440320849419, 0.564705908298, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [132.4, 166.4], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 1.00000004073083, + "op": 28.0000011404634, + "st": 1.00000004073083, + "bm": 0 + }, + { + "ddd": 0, + "ind": 17, + "ty": 4, + "nm": "Layer 1 contornos 2", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 0, + "s": [0], + "e": [364] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 11, + "s": [364], + "e": [359] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p667_1_0p167_0p167"], + "t": 17, + "s": [359], + "e": [360] + }, + { + "i": { "x": [0.667], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p667_1_0p167_0"], + "t": 22, + "s": [360], + "e": [360] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 30, + "s": [360], + "e": [356.471] + }, + { + "i": { "x": [0.615], "y": [0.934] }, + "o": { "x": [0.17], "y": [0.043] }, + "n": ["0p615_0p934_0p17_0p043"], + "t": 45, + "s": [356.471], + "e": [361.351] + }, + { + "i": { "x": [0.69], "y": [1] }, + "o": { "x": [0.351], "y": [-0.078] }, + "n": ["0p69_1_0p351_-0p078"], + "t": 59, + "s": [361.351], + "e": [360] + }, + { "t": 64.0000026067734 } + ], + "ix": 10 + }, + "p": { "a": 0, "k": [226.05, 267.45, 0], "ix": 2 }, + "a": { "a": 0, "k": [132.4, 166.4, 0], "ix": 1 }, + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 16.52] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_16p52" + ], + "t": 0, + "s": [0, 0, 100], + "e": [102.242, 113.009, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.335] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p335" + ], + "t": 11, + "s": [102.242, 113.009, 100], + "e": [100.787, 89.379, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, -0.189] }, + "n": [ + "0p667_1_0p167_0p167", + "0p667_1_0p167_0p167", + "0p667_1_0p167_-0p189" + ], + "t": 17, + "s": [100.787, 89.379, 100], + "e": [100, 100, 100] + }, + { + "i": { "x": [0.667, 0.667, 0.667], "y": [1, 1, 1] }, + "o": { "x": [0.167, 0.167, 0.167], "y": [0, 0, 0] }, + "n": ["0p667_1_0p167_0", "0p667_1_0p167_0", "0p667_1_0p167_0"], + "t": 22, + "s": [100, 100, 100], + "e": [100, 100, 100] + }, + { "t": 30.0000012219251 } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [2.6, 0], + [0, 0], + [0, 2.599], + [0, 0], + [-2.6, 0], + [0, 0], + [0, -2.6], + [0, 0] + ], + "o": [ + [0, 0], + [-2.6, 0], + [0, 0], + [0, -2.6], + [0, 0], + [2.599, 0], + [0, 0], + [-0.101, 2.5] + ], + "v": [ + [127.35, 166.15], + [-127.45, 166.15], + [-132.15, 161.451], + [-132.15, -161.45], + [-127.45, -166.15], + [127.45, -166.15], + [132.15, -161.45], + [132.15, 161.55] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Caminho 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.447581708431, 0.660377025604, 0.839215695858, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Preenchimento 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [132.4, 166.4], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transformar" + } + ], + "nm": "Grupo 1", + "np": 2, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 28.0000011404634, + "st": 0, + "bm": 0 + } + ] +} diff --git a/src/frontend/animations/world-locations.json b/src/frontend/animations/world-locations.json new file mode 100644 index 000000000..5a45b7951 --- /dev/null +++ b/src/frontend/animations/world-locations.json @@ -0,0 +1,5190 @@ +{ + "v": "5.0.1", + "fr": 60, + "ip": 0, + "op": 185, + "w": 800, + "h": 600, + "nm": "World", + "ddd": 0, + "assets": [ + { + "id": "comp_5", + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 4, + "nm": "here 4", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 15, + "s": [100], + "e": [100] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 45, + "s": [100], + "e": [0] + }, + { "t": 75 } + ], + "ix": 11, + "x": "var $bm_rt;\n$bm_rt = loopOut('cycle');" + }, + "r": { "a": 0, "k": -22.856, "ix": 10 }, + "p": { "a": 0, "k": [75, 75, 0], "ix": 2 }, + "a": { "a": 0, "k": [-252.5, -48.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.14, 0.14], "y": [1, 1] }, + "o": { "x": [0.167, 0.167], "y": [0.167, 0.167] }, + "n": ["0p14_1_0p167_0p167", "0p14_1_0p167_0p167"], + "t": 15, + "s": [2, 2], + "e": [40, 40] + }, + { "t": 75 } + ], + "ix": 2, + "x": "var $bm_rt;\n$bm_rt = loopOut('cycle');" + }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.972549019608, 0.576470588235, 0.188235294118, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { + "a": 1, + "k": [ + { + "i": { "x": [0.14], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p14_1_0p167_0p167"], + "t": 15, + "s": [10], + "e": [0] + }, + { "t": 75 } + ], + "ix": 5, + "x": "var $bm_rt;\n$bm_rt = loopOut('cycle');" + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-252.5, -48.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 15, + "op": 715, + "st": 15, + "bm": 0 + }, + { + "ddd": 0, + "ind": 2, + "ty": 4, + "nm": "here", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 0, + "s": [100], + "e": [100] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 30, + "s": [100], + "e": [0] + }, + { "t": 60 } + ], + "ix": 11, + "x": "var $bm_rt;\n$bm_rt = loopOut('cycle');" + }, + "r": { "a": 0, "k": -22.856, "ix": 10 }, + "p": { "a": 0, "k": [75, 75, 0], "ix": 2 }, + "a": { "a": 0, "k": [-252.5, -48.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.14, 0.14], "y": [1, 1] }, + "o": { "x": [0.167, 0.167], "y": [0.167, 0.167] }, + "n": ["0p14_1_0p167_0p167", "0p14_1_0p167_0p167"], + "t": 0, + "s": [2, 2], + "e": [60, 60] + }, + { "t": 60 } + ], + "ix": 2, + "x": "var $bm_rt;\n$bm_rt = loopOut('cycle');" + }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.972549019608, 0.576470588235, 0.188235294118, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { + "a": 1, + "k": [ + { + "i": { "x": [0.14], "y": [1] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p14_1_0p167_0p167"], + "t": 0, + "s": [10], + "e": [0] + }, + { "t": 60 } + ], + "ix": 5, + "x": "var $bm_rt;\n$bm_rt = loopOut('cycle');" + }, + "lc": 1, + "lj": 1, + "ml": 4, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [-252.5, -48.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 730, + "st": 0, + "bm": 0 + } + ] + } + ], + "layers": [ + { + "ddd": 0, + "ind": 2, + "ty": 3, + "nm": "NULL CONTROL", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 0, "ix": 11 }, + "r": { "a": 0, "k": -9, "ix": 10 }, + "p": { "a": 0, "k": [396, 281, 0], "ix": 2 }, + "a": { "a": 0, "k": [60, 60, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "ip": 72, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 3, + "ty": 4, + "nm": "rings 4", + "parent": 2, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 35, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [58.436, 59.877, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { "a": 0, "k": [334, 66.48], "ix": 2 }, + "p": { "a": 0, "k": [0, 55], "ix": 3 }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.686274509804, 0.933333333333, 1, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 5, "ix": 5 }, + "lc": 2, + "lj": 1, + "ml": 4, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0.5, -9.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 210, + "s": [21.5], + "e": [26] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 225.6, + "s": [26], + "e": [79] + }, + { "t": 262 } + ], + "ix": 1 + }, + "e": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 210, + "s": [21.5], + "e": [79] + }, + { "t": 236 } + ], + "ix": 2 + }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + } + ], + "ip": 210, + "op": 301, + "st": 210, + "bm": 0 + }, + { + "ddd": 0, + "ind": 4, + "ty": 4, + "nm": "rings 3", + "parent": 2, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 35, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [60, 70, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { "a": 0, "k": [417, 83], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.686274509804, 0.933333333333, 1, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 5, "ix": 5 }, + "lc": 2, + "lj": 1, + "ml": 4, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0.5, -9.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 202, + "s": [15], + "e": [26] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 217.6, + "s": [26], + "e": [84] + }, + { "t": 254 } + ], + "ix": 1 + }, + "e": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 202, + "s": [15], + "e": [84] + }, + { "t": 228 } + ], + "ix": 2 + }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + } + ], + "ip": 202, + "op": 301, + "st": 202, + "bm": 0 + }, + { + "ddd": 0, + "ind": 5, + "ty": 4, + "nm": "rings 2", + "parent": 2, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 35, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [58.436, 59.877, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { "a": 0, "k": [334, 66.48], "ix": 2 }, + "p": { "a": 0, "k": [0, 55], "ix": 3 }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.686274509804, 0.933333333333, 1, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 5, "ix": 5 }, + "lc": 2, + "lj": 1, + "ml": 4, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0.5, -9.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 60, + "s": [21.5], + "e": [26] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 75.6, + "s": [26], + "e": [79] + }, + { "t": 112 } + ], + "ix": 1 + }, + "e": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 60, + "s": [21.5], + "e": [79] + }, + { "t": 86 } + ], + "ix": 2 + }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + } + ], + "ip": 60, + "op": 301, + "st": 60, + "bm": 0 + }, + { + "ddd": 0, + "ind": 6, + "ty": 4, + "nm": "rings", + "parent": 2, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 35, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [60, 70, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { "a": 0, "k": [417, 83], "ix": 2 }, + "p": { "a": 0, "k": [0, 0], "ix": 3 }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [0.686274509804, 0.933333333333, 1, 1], + "ix": 3 + }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 5, "ix": 5 }, + "lc": 2, + "lj": 1, + "ml": 4, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0.5, -9.5], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 52, + "s": [15], + "e": [26] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 67.6, + "s": [26], + "e": [84] + }, + { "t": 104 } + ], + "ix": 1 + }, + "e": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.167], "y": [0.167] }, + "n": ["0p833_0p833_0p167_0p167"], + "t": 52, + "s": [15], + "e": [84] + }, + { "t": 78 } + ], + "ix": 2 + }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + } + ], + "ip": 52, + "op": 301, + "st": 52, + "bm": 0 + }, + { + "ddd": 0, + "ind": 7, + "ty": 4, + "nm": "maspMask 5", + "td": 1, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [400, 300, 0], "ix": 2 }, + "a": { "a": 0, "k": [-18.5, -5.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-81.462, 0], + [0, -81.462], + [81.462, 0], + [0, 81.462] + ], + "o": [ + [81.462, 0], + [0, 81.462], + [-81.462, 0], + [0, -81.462] + ], + "v": [ + [-18.5, -153], + [129, -5.5], + [-18.5, 142], + [-166, -5.5] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "tm", + "s": { "a": 0, "k": 0, "ix": 1 }, + "e": { "a": 0, "k": 100, "ix": 2 }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.662744978362, 0.67843095368, 0.650979973288, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + } + ], + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 8, + "ty": 0, + "nm": "Here rings", + "parent": 16, + "tt": 1, + "refId": "comp_5", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [70.408, 63.975, 0], "ix": 2 }, + "a": { "a": 0, "k": [75, 75, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "w": 150, + "h": 150, + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 9, + "ty": 4, + "nm": "maspMask 4", + "td": 1, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [400, 300, 0], "ix": 2 }, + "a": { "a": 0, "k": [-18.5, -5.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-81.462, 0], + [0, -81.462], + [81.462, 0], + [0, 81.462] + ], + "o": [ + [81.462, 0], + [0, 81.462], + [-81.462, 0], + [0, -81.462] + ], + "v": [ + [-18.5, -153], + [129, -5.5], + [-18.5, 142], + [-166, -5.5] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "tm", + "s": { "a": 0, "k": 0, "ix": 1 }, + "e": { "a": 0, "k": 100, "ix": 2 }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.662744978362, 0.67843095368, 0.650979973288, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + } + ], + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 10, + "ty": 0, + "nm": "Here rings", + "parent": 16, + "tt": 1, + "refId": "comp_5", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [-80.007, 318.38, 0], "ix": 2 }, + "a": { "a": 0, "k": [75, 75, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "w": 150, + "h": 150, + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 11, + "ty": 4, + "nm": "maspMask 3", + "td": 1, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [400, 300, 0], "ix": 2 }, + "a": { "a": 0, "k": [-18.5, -5.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-81.462, 0], + [0, -81.462], + [81.462, 0], + [0, 81.462] + ], + "o": [ + [81.462, 0], + [0, 81.462], + [-81.462, 0], + [0, -81.462] + ], + "v": [ + [-18.5, -153], + [129, -5.5], + [-18.5, 142], + [-166, -5.5] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "tm", + "s": { "a": 0, "k": 0, "ix": 1 }, + "e": { "a": 0, "k": 100, "ix": 2 }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.662744978362, 0.67843095368, 0.650979973288, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + } + ], + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 12, + "ty": 0, + "nm": "Here rings", + "parent": 16, + "tt": 1, + "refId": "comp_5", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [-170.998, 95.543, 0], "ix": 2 }, + "a": { "a": 0, "k": [75, 75, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "w": 150, + "h": 150, + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 13, + "ty": 4, + "nm": "maspMask 2", + "td": 1, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [400, 300, 0], "ix": 2 }, + "a": { "a": 0, "k": [-18.5, -5.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-81.462, 0], + [0, -81.462], + [81.462, 0], + [0, 81.462] + ], + "o": [ + [81.462, 0], + [0, 81.462], + [-81.462, 0], + [0, -81.462] + ], + "v": [ + [-18.5, -153], + [129, -5.5], + [-18.5, 142], + [-166, -5.5] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "tm", + "s": { "a": 0, "k": 0, "ix": 1 }, + "e": { "a": 0, "k": 100, "ix": 2 }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.662744978362, 0.67843095368, 0.650979973288, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + } + ], + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 14, + "ty": 0, + "nm": "Here rings", + "parent": 16, + "tt": 1, + "refId": "comp_5", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [-191.425, -28.874, 0], "ix": 2 }, + "a": { "a": 0, "k": [75, 75, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "w": 150, + "h": 150, + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 15, + "ty": 4, + "nm": "maspMask", + "td": 1, + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [400, 300, 0], "ix": 2 }, + "a": { "a": 0, "k": [-18.5, -5.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-81.462, 0], + [0, -81.462], + [81.462, 0], + [0, 81.462] + ], + "o": [ + [81.462, 0], + [0, 81.462], + [-81.462, 0], + [0, -81.462] + ], + "v": [ + [-18.5, -153], + [129, -5.5], + [-18.5, 142], + [-166, -5.5] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "tm", + "s": { "a": 0, "k": 0, "ix": 1 }, + "e": { "a": 0, "k": 100, "ix": 2 }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [0.662744978362, 0.67843095368, 0.650979973288, 1], + "ix": 4 + }, + "o": { "a": 0, "k": 100, "ix": 5 }, + "r": 1, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + } + ], + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 16, + "ty": 4, + "nm": "map", + "tt": 1, + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.95], "y": [0] }, + "n": ["0p833_0p833_0p95_0"], + "t": 16, + "s": [0], + "e": [100] + }, + { + "i": { "x": [0.833], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p833_1_0p167_0"], + "t": 86, + "s": [100], + "e": [100] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.95], "y": [0] }, + "n": ["0p833_0p833_0p95_0"], + "t": 180, + "s": [100], + "e": [0] + }, + { "t": 239 } + ], + "ix": 11 + }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.14], "y": [1] }, + "o": { "x": [0.58], "y": [0] }, + "n": ["0p14_1_0p58_0"], + "t": 16, + "s": [-22.856], + "e": [0] + }, + { + "i": { "x": [0.833], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p833_1_0p167_0"], + "t": 146, + "s": [0], + "e": [0] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.72], "y": [0] }, + "n": ["0p833_0p833_0p72_0"], + "t": 180, + "s": [0], + "e": [51] + }, + { "t": 246 } + ], + "ix": 10 + }, + "p": { "a": 0, "k": [240.55, -287.518, 0], "ix": 2 }, + "a": { "a": 0, "k": [-409.527, -960.177, 0], "ix": 1 }, + "s": { "a": 0, "k": [53.851, 53.851, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.207, 0.165], + [0.867, 1.221], + [-0.146, -1.605], + [-0.425, -1.251], + [1.443, 0.861] + ], + "o": [ + [0.99, -1.532], + [0.914, 1.268], + [0.125, 1.365], + [-0.831, -1.273], + [0.19, -0.107] + ], + "v": [ + [53.422, -169.413], + [53.886, -174.034], + [55.387, -169.683], + [56.25, -165.777], + [52.829, -169.024] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.221, 0.036], + [0.202, -0.081] + ], + "o": [ + [-0.202, 0.081], + [0.179, -0.142] + ], + "v": [ + [79.925, -218.282], + [79.321, -218.037] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 2, + "ty": "sh", + "ix": 3, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.097, 0.141], + [0.026, -0.316], + [0.23, -0.223], + [-0.222, 0.297] + ], + "o": [ + [-0.005, 0.307], + [-0.328, 0.057], + [0.146, -0.325], + [0.107, -0.144] + ], + "v": [ + [70.501, 91.15], + [70.466, 92.085], + [69.632, 92.509], + [70.199, 91.575] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 3", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 3, + "ty": "sh", + "ix": 4, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.302, -0.569], + [-2.966, 1.735], + [-0.508, 0.195], + [-0.288, 0.188], + [-0.146, -0.057], + [0.432, -0.165], + [-0.447, -1.656], + [2.425, 0.115], + [0.108, 0.207], + [0.313, 1.452] + ], + "o": [ + [1.559, 2.949], + [0.534, -0.286], + [0.261, -0.182], + [0.144, 0.056], + [-0.41, 0.1], + [-2.584, 1.813], + [-1.28, -1.834], + [-0.111, -0.206], + [0.406, -1.54], + [0.28, 0.576] + ], + "v": [ + [58.462, -160.873], + [65.125, -158.758], + [66.684, -159.461], + [67.511, -160.019], + [67.945, -159.848], + [66.684, -159.461], + [63.503, -154.417], + [57.797, -157.441], + [57.467, -158.059], + [57.588, -162.59] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 4", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 4, + "ty": "sh", + "ix": 5, + "ks": { + "a": 0, + "k": { + "i": [ + [2.019, -0.203], + [1.848, 1.224], + [0.979, 0.677], + [0.668, 0.287], + [0.085, 0.232], + [0.382, 0.604], + [3.152, 1.27], + [0.544, 4.318], + [2.55, 2.615], + [0, 0], + [-1.086, 3.211], + [3.016, 0.917], + [1.605, 3.901], + [0, 0.003], + [-1.369, 0.237], + [-0.134, -0.385], + [-2.91, -12.044], + [-0.776, -0.561], + [-4.493, -5.058], + [-1.334, -0.655], + [-1.389, -3.659], + [-0.091, -0.245] + ], + "o": [ + [-1.847, -1.226], + [-0.005, -1.235], + [-0.657, -0.321], + [-0.084, -0.232], + [0.504, -0.437], + [-1.885, -2.146], + [-2.966, -2.857], + [-0.431, -3.362], + [0, 0], + [-2.126, -1.468], + [1.301, -3.024], + [-3.297, -2.917], + [0, 0], + [0.67, -1.565], + [0.184, 0.361], + [6.125, 10.035], + [0.229, 0.933], + [5.65, 4.112], + [0.963, 1.083], + [-2.97, 3.861], + [0.093, 0.263], + [-2.088, 0.607] + ], + "v": [ + [-9.095, 165.196], + [-14.642, 161.523], + [-16.196, 158.702], + [-18.175, 157.758], + [-18.433, 157.066], + [-18.231, 155.506], + [-22.932, 148.401], + [-28.253, 137.917], + [-32.158, 128.44], + [-32.158, 128.44], + [-35.338, 122.303], + [-38.049, 116.461], + [-44.127, 105.489], + [-44.127, 105.486], + [-41.037, 102.837], + [-40.546, 103.952], + [-22.555, 134.295], + [-21.068, 136.785], + [-8.533, 152.74], + [-5.465, 155.753], + [-3.832, 166.843], + [-3.559, 167.585] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 5", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 5, + "ty": "sh", + "ix": 6, + "ks": { + "a": 0, + "k": { + "i": [ + [-1.611, 0.833], + [-2.113, 1.572], + [-0.011, 0.004], + [1.444, 9.227], + [-1.949, 0.979], + [-1.452, 5.235], + [-1.205, -0.651], + [-4.261, 3.828], + [-1.263, 0.803], + [-0.064, -0.102], + [-2.206, -0.692], + [0.03, -0.378], + [-5.151, -1.208], + [-0.767, -0.452], + [-0.467, 0.059], + [0.03, -0.127], + [-1.628, 0.466], + [0.059, -0.628], + [6.221, -0.498], + [0.058, -3.047], + [-2.229, -0.301], + [-0.498, 0.26], + [-1.904, 3.28], + [-0.126, -0.064], + [-1.598, 0.955], + [-0.054, 0.758], + [0, 0], + [-0.512, 3.445], + [0, 0], + [-0.487, 1.3], + [0.803, 0.474], + [1.709, 0.909], + [1.051, 5.31], + [-0.615, 4.649], + [-0.034, 0.039], + [-3.736, -3.599], + [-2.427, 1.091], + [-0.07, -0.076], + [-1.559, -0.503], + [-0.899, -1.636], + [-1.047, 0.186], + [-0.034, -0.256], + [-1.297, -0.448], + [-0.139, -0.02], + [-0.027, -0.276], + [0, 0], + [-0.999, -2.421], + [0, 0], + [1.108, -0.057], + [-0.083, -1.499], + [-0.989, 0.016], + [-2.42, 0.89], + [-4.521, 6.094], + [-0.582, 0.696], + [-0.485, 0.149], + [-0.209, 0.003], + [1.303, 1.458], + [1.388, -0.047], + [0.247, 0.085], + [0.344, 1.099], + [-0.115, 0.437], + [0, 0.003], + [-0.003, -0.003], + [-4.402, -0.406], + [-3.696, -5.259], + [-0.385, -0.139], + [-2.098, 0.334], + [-0.023, -0.097], + [-8.01, -2.744], + [-1.77, 1.139], + [-0.63, 0.44], + [-2.018, -2.544], + [-0.091, -1.878], + [-0.222, -0.482], + [0.301, -0.402], + [0.104, -0.517], + [-0.023, -0.642], + [0.47, -0.164], + [-0.034, -0.892], + [-0.07, -0.18], + [0.831, -2.62], + [-0.003, -0.054], + [0.615, -0.059], + [3.769, -1.769], + [5.721, 0.761], + [2.154, -0.758], + [0.06, -0.102], + [3.676, 1.63], + [2.718, -0.603], + [2.103, -3.244], + [1.166, 0.107], + [-0.016, 0.057], + [1.988, 1.048], + [1.886, 1.985], + [4.131, 0.57], + [1.834, 1.419], + [1.213, -0.773], + [0.02, -0.177], + [0.928, 0.318], + [0.218, 0.508], + [-0.088, 0.127], + [-1.262, 0.764], + [0.092, 1.911], + [0.298, 2.018], + [2.657, 0.046], + [1.323, -1.104], + [5.808, 0.145], + [4.091, -2.217], + [7.579, 1.333], + [0, 0] + ], + "o": [ + [2.34, -0.055], + [0.008, -0.006], + [6.339, -3.243], + [-0.341, -2.19], + [4.754, -2.396], + [0.447, -1.605], + [6.806, 3.662], + [1.155, -1.247], + [0.038, 0.107], + [1.46, 1.238], + [0.768, 0.07], + [1.181, 5.686], + [0.766, 0.451], + [0.466, -0.065], + [-0.034, 0.112], + [0.248, 1.67], + [-0.321, 0.486], + [1.331, 3.842], + [-2.368, 0.19], + [0.314, 2.527], + [0.493, -0.291], + [2.456, 0.85], + [0.123, 0.054], + [1.885, -0.534], + [0.057, -0.76], + [0, 0], + [2.081, -3.217], + [0, 0], + [1.063, -0.279], + [0.408, -1.091], + [-1.668, -0.984], + [-2.968, -3.323], + [-2.772, -2.806], + [0.032, -0.039], + [3.051, 4.341], + [2.424, 0.062], + [0.066, 0.078], + [1.276, 1.041], + [-0.368, 1.915], + [0.798, 0.638], + [0.046, 0.251], + [0.357, 1.338], + [0.139, 0.031], + [0.026, 0.271], + [0, 0], + [-0.497, 3.113], + [0, 0], + [-1.104, 0.053], + [0.084, 1.498], + [0.988, -0.014], + [0.416, 1.976], + [4.432, 5.832], + [0.542, -0.729], + [0.485, -0.148], + [0.203, 0.027], + [1.449, -1.446], + [-1.389, 0.047], + [-0.23, -0.122], + [-0.345, -1.097], + [0.115, -0.44], + [0, -0.003], + [0, 0.003], + [3.945, -0.73], + [-2.902, 4.527], + [0.383, 0.134], + [-0.168, 1.234], + [0.026, 0.097], + [6.16, 9.39], + [1.782, 0.611], + [0.65, -0.42], + [2.869, -2.015], + [-2.336, 1.185], + [0.378, 0.528], + [-0.305, 0.402], + [-0.349, 0.39], + [0.02, 0.645], + [-0.364, 0.196], + [-0.571, 0.665], + [0.081, 0.175], + [-2.24, 1.809], + [0.003, 0.053], + [-0.613, 0.055], + [-4.027, 0.405], + [-6.048, 2.836], + [-2.042, -0.274], + [-0.073, 0.102], + [-3.675, -1.638], + [-2.72, -2.133], + [-3.403, 2.794], + [-0.918, 0.868], + [0.02, -0.053], + [-0.621, -2.811], + [-2.199, -1.156], + [-2.232, -4.026], + [-2.065, -0.284], + [-1.066, -0.812], + [-0.037, 0.195], + [-0.929, -0.321], + [-0.219, -0.509], + [0.085, -0.126], + [-0.144, -1.586], + [1.259, -1.353], + [-0.249, -2.031], + [-1.116, -2.459], + [-1.873, 0.022], + [-5.796, -0.195], + [-4.63, -0.114], + [-6.651, 3.599], + [0, 0], + [-3.783, -2.584] + ], + "v": [ + [-201.566, 62.709], + [-194.681, 61.622], + [-194.655, 61.608], + [-183.507, 45.949], + [-180.181, 40.758], + [-170.687, 29.554], + [-167.799, 27.419], + [-152.89, 22.353], + [-148.702, 21.522], + [-148.572, 21.84], + [-145.009, 26.319], + [-144.486, 27.273], + [-134.181, 36.711], + [-131.879, 38.065], + [-130.483, 37.875], + [-130.585, 38.214], + [-128.112, 40.538], + [-128.689, 42.202], + [-132.312, 50.08], + [-136.83, 55.238], + [-132.614, 59.013], + [-131.128, 58.178], + [-124.193, 57.479], + [-123.824, 57.651], + [-119.271, 54.426], + [-119.103, 52.147], + [-119.337, 51.87], + [-117.907, 41.525], + [-117.911, 41.525], + [-114.869, 40.42], + [-116.404, 38.211], + [-121.52, 35.461], + [-130.877, 25.963], + [-136.711, 16.196], + [-136.612, 16.074], + [-125.442, 26.945], + [-118.188, 27.941], + [-117.982, 28.172], + [-113.845, 30.7], + [-111.917, 35.777], + [-109.302, 36.953], + [-109.169, 37.714], + [-106.71, 40.417], + [-106.296, 40.482], + [-106.216, 41.3], + [-106.216, 41.3], + [-103.035, 48.467], + [-103.035, 48.467], + [-106.357, 48.631], + [-106.11, 53.128], + [-103.145, 53.081], + [-99.585, 55.694], + [-90.636, 55.43], + [-88.891, 53.342], + [-87.434, 52.895], + [-86.822, 52.931], + [-86.808, 48.574], + [-90.976, 48.715], + [-91.689, 48.411], + [-92.718, 45.108], + [-92.371, 43.79], + [-92.371, 43.785], + [-92.368, 43.79], + [-81.592, 38.933], + [-80.377, 54.881], + [-79.229, 55.302], + [-76.788, 56.965], + [-76.71, 57.257], + [-52.36, 64.331], + [-46.798, 63.699], + [-46.333, 63.351], + [-39.024, 64.139], + [-39.642, 69.508], + [-38.749, 71.019], + [-39.653, 72.228], + [-40.336, 73.588], + [-40.267, 75.519], + [-41.517, 76.057], + [-42.337, 78.395], + [-42.119, 78.927], + [-45.435, 86.313], + [-45.422, 86.477], + [-47.266, 86.651], + [-58.981, 85.35], + [-76.231, 84.787], + [-82.382, 84.095], + [-82.566, 84.399], + [-93.591, 79.497], + [-101.744, 79.508], + [-105.271, 90.199], + [-108.457, 91.09], + [-108.39, 90.932], + [-113.533, 86.784], + [-120.418, 84.2], + [-130.54, 78.38], + [-136.647, 77.044], + [-140.045, 76.711], + [-140.12, 77.255], + [-142.905, 76.291], + [-143.561, 74.77], + [-143.301, 74.392], + [-141.42, 70.987], + [-139.529, 66.158], + [-139.967, 60.053], + [-145.607, 56.263], + [-150.687, 57.382], + [-168.093, 58.274], + [-181.952, 61.6], + [-202.708, 66.412], + [-202.708, 66.412] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 6", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 6, + "ty": "sh", + "ix": 7, + "ks": { + "a": 0, + "k": { + "i": [ + [-1.116, 3.287], + [-0.344, 0.171], + [-1.207, 1.991], + [0.318, 2.654], + [-0.707, 2.084], + [-0.673, 0.718], + [5.35, 5.919], + [0.21, 1.62], + [-2.657, 4.037], + [-1.909, 2.382], + [-0.008, 0.005], + [0, 0], + [-0.238, -0.085], + [-0.011, 0.762], + [-3.676, 3.086], + [-0.295, -1.163], + [-0.144, -0.482], + [1.821, -1.878], + [-2.039, -8.125], + [-3.893, 1.121], + [-4.719, 3.957], + [0.33, -1.953], + [5.02, -5.165], + [0.073, -0.259], + [-3.032, -5.406], + [-2.358, -4.092], + [-0.176, -0.314], + [-0.062, -0.051], + [2.156, 0.831], + [6.284, -4.668], + [2.378, -0.054], + [-0.382, 0.781] + ], + "o": [ + [0.302, -0.138], + [2.953, -0.811], + [1.253, -1.586], + [-0.255, -2.098], + [0.361, -0.94], + [5.4, -5.754], + [-1.156, -1.281], + [-0.64, -4.967], + [1.909, -2.383], + [0.011, -0.006], + [0, 0], + [0.177, 0.107], + [0.781, -0.149], + [0.069, -5.266], + [0.276, 1.173], + [0.039, 0.486], + [0.628, 3.093], + [-5.884, 6.076], + [1.032, 4.123], + [5.479, -1.58], + [0.846, 1.802], + [-5.823, -1.471], + [-0.099, 0.259], + [-3.071, 2.233], + [-4.573, 5.976], + [0.069, 0.309], + [0.066, 0.051], + [-1.594, 1.491], + [-8.455, -3.258], + [-1.886, -1.498], + [0.38, -0.781], + [0.879, -3.651] + ], + "v": [ + [-133.233, -45.102], + [-132.261, -45.565], + [-126.05, -49.778], + [-124.521, -55.992], + [-123.943, -62.386], + [-122.303, -64.802], + [-122.196, -77.796], + [-123.883, -82.015], + [-120.423, -95.355], + [-114.695, -102.503], + [-114.664, -102.52], + [-114.664, -102.52], + [-114.048, -102.227], + [-112.273, -103.47], + [-105.785, -115.441], + [-104.018, -112.477], + [-103.792, -111.005], + [-106.7, -103.64], + [-111.81, -82.533], + [-100.901, -72.481], + [-84.436, -77.663], + [-83.989, -71.987], + [-100.637, -69.66], + [-100.888, -68.883], + [-105.265, -59.672], + [-108.594, -44.484], + [-108.231, -43.553], + [-108.041, -43.4], + [-113.651, -42.339], + [-134.728, -36.408], + [-141.209, -38.32], + [-140.065, -40.663] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 7", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 7, + "ty": "sh", + "ix": 8, + "ks": { + "a": 0, + "k": { + "i": [ + [0.003, 0], + [0, 0], + [-0.003, -0.003] + ], + "o": [ + [0, -0.003], + [0.003, 0.003], + [-0.003, 0] + ], + "v": [ + [310.8, 75.721], + [310.8, 75.715], + [310.806, 75.721] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 8", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 8, + "ty": "sh", + "ix": 9, + "ks": { + "a": 0, + "k": { + "i": [ + [0.01, 0.008], + [0, 0], + [-0.005, -0.005], + [0.003, -0.003] + ], + "o": [ + [0, 0], + [0.009, 0.008], + [0, 0.003], + [-0.008, -0.011] + ], + "v": [ + [-185.481, 178.021], + [-185.478, 178.021], + [-185.455, 178.05], + [-185.458, 178.055] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 9", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 9, + "ty": "sh", + "ix": 10, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.011, 0.005], + [0, -0.026], + [0, 0], + [0, 0], + [0.011, 0.018] + ], + "o": [ + [0.003, 0.023], + [0, 0], + [0, 0], + [-0.012, -0.018], + [0.008, -0.003] + ], + "v": [ + [-99.502, 344.448], + [-99.498, 344.516], + [-99.498, 344.516], + [-99.498, 344.516], + [-99.533, 344.462] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 10", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 10, + "ty": "sh", + "ix": 11, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.108, -0.217], + [0.471, 0.573], + [0.233, 0.213], + [0.886, 0.39], + [1.429, -0.141], + [-1.49, -0.653], + [-0.849, -0.764], + [-0.754, -0.144] + ], + "o": [ + [-0.658, 0.102], + [-0.222, -0.274], + [-0.911, -0.44], + [-1.575, -0.307], + [1.639, -1.078], + [0.925, 0.18], + [0.707, 0.344], + [0.066, 0.234] + ], + "v": [ + [-49.604, -113.833], + [-51.367, -114.558], + [-52.056, -115.276], + [-54.738, -116.618], + [-59.361, -116.48], + [-54.738, -116.618], + [-52.056, -115.276], + [-49.866, -114.513] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 11", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 11, + "ty": "sh", + "ix": 12, + "ks": { + "a": 0, + "k": { + "i": [ + [0.139, -0.083], + [-0.154, 0.068] + ], + "o": [ + [0.149, -0.083], + [-0.154, 0.074] + ], + "v": [ + [-36.011, 3.559], + [-35.554, 3.341] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 12", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 12, + "ty": "sh", + "ix": 13, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.061, 0.01], + [-0.003, -0.001], + [0.066, -0.008] + ], + "o": [ + [0.001, 0], + [-0.062, 0.007], + [0.06, -0.01] + ], + "v": [ + [-32.657, -59.234], + [-32.646, -59.228], + [-32.83, -59.219] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 13", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 13, + "ty": "sh", + "ix": 14, + "ks": { + "a": 0, + "k": { + "i": [ + [0.007, -0.003], + [0.003, 0.003], + [0, 0], + [0, -0.005] + ], + "o": [ + [-0.005, 0], + [0, 0], + [0.006, 0.005], + [-0.008, 0.005] + ], + "v": [ + [-27.527, 88.936], + [-27.538, 88.93], + [-27.511, 88.902], + [-27.503, 88.918] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 14", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 14, + "ty": "sh", + "ix": 15, + "ks": { + "a": 0, + "k": { + "i": [ + [0, 0], + [0, 0], + [0, 0], + [-0.026, 0], + [0.032, -0.027], + [-0.009, 0.019] + ], + "o": [ + [0, 0], + [0.011, 0.016], + [0.028, -0.003], + [-0.032, 0.019], + [0.008, -0.019], + [0, 0] + ], + "v": [ + [-28.811, 89.04], + [-28.811, 89.037], + [-28.785, 89.077], + [-28.707, 89.071], + [-28.813, 89.129], + [-28.785, 89.077] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 15", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 15, + "ty": "sh", + "ix": 16, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.018, -0.001], + [0, 0], + [0.008, -0.022], + [0.008, 0.026] + ], + "o": [ + [0, 0], + [-0.01, 0.023], + [-0.008, -0.024], + [0.013, 0.003] + ], + "v": [ + [-71.66, -97.691], + [-71.66, -97.691], + [-71.683, -97.626], + [-71.704, -97.702] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 16", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 16, + "ty": "sh", + "ix": 17, + "ks": { + "a": 0, + "k": { + "i": [ + [0.177, -0.039], + [0.104, 0.042], + [-0.173, 0.068], + [0.008, 0.013], + [-0.158, -0.039], + [-0.049, -0.084], + [0.028, -0.003], + [0.072, -0.023] + ], + "o": [ + [-0.106, -0.045], + [0.173, -0.042], + [-0.005, -0.012], + [-0.168, -0.31], + [0.049, 0.088], + [-0.023, 0.005], + [-0.068, 0.031], + [0.043, 0.123] + ], + "v": [ + [-95.533, 34.766], + [-95.851, 34.646], + [-95.331, 34.508], + [-95.339, 34.477], + [-95.207, 34.154], + [-95.06, 34.414], + [-95.12, 34.435], + [-95.331, 34.508] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 17", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 17, + "ty": "sh", + "ix": 18, + "ks": { + "a": 0, + "k": { + "i": [ + [2.527, -1.28], + [0.267, 1.108], + [-1.144, 0.263], + [-0.364, 0.852], + [-2.1, 1.244], + [0.589, -2.386] + ], + "o": [ + [-0.267, -1.108], + [1.143, -0.232], + [0.871, -0.437], + [2.811, 1.19], + [-2.084, 1.297], + [-2.77, -0.317] + ], + "v": [ + [-47.475, 12.071], + [-48.274, 8.747], + [-44.841, 7.984], + [-42.88, 6.145], + [-36.207, 3.677], + [-39.671, 9.604] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 18", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 18, + "ty": "sh", + "ix": 19, + "ks": { + "a": 0, + "k": { + "i": [ + [2.326, -0.569], + [2.464, 5.289], + [0.217, 1.67], + [2.272, 3.953], + [0.753, -0.057], + [1.62, 3.556], + [-3.727, 2.745], + [-0.019, 0.055], + [-3.113, -1.19], + [-7.056, -8.008], + [-0.68, -1.657], + [-1.373, -0.446], + [-2.937, -5.949] + ], + "o": [ + [-5.159, 1.258], + [0.677, -1.331], + [1.93, -5.086], + [-0.696, -0.516], + [-0.023, -4.294], + [-1.992, -4.385], + [0.018, -0.055], + [2.945, 0.789], + [-5.583, 9.238], + [1.164, 1.323], + [0.601, 1.473], + [1.77, 6.553], + [0.116, 2.49] + ], + "v": [ + [29.439, 56.595], + [15.329, 48.478], + [16.1, 44.011], + [12.809, 31.195], + [10.654, 30.33], + [5.95, 19.415], + [7.881, 9.355], + [7.94, 9.19], + [16.648, 7.13], + [18.286, 26.251], + [21.18, 30.589], + [24.056, 33.625], + [32.894, 51.476] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 19", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 19, + "ty": "sh", + "ix": 20, + "ks": { + "a": 0, + "k": { + "i": [ + [5.909, -2.578], + [3.184, -1.656], + [1.664, 2.897], + [-0.902, 1.963], + [-0.374, 0.81], + [1.932, 1.4], + [-0.264, 0.271], + [-0.182, 0.508], + [-0.199, 0.865], + [-0.735, 1.217], + [-3.293, -2.581], + [-0.175, -0.065], + [0.022, -0.177], + [-0.563, -0.414], + [0, 0], + [0, 0], + [0.13, -0.341], + [-4.339, 3.307], + [-0.043, -0.065], + [-0.673, 0.646], + [-2.567, -1.178], + [-1.068, -0.649], + [-4.329, -5.037], + [0.253, -0.693], + [1.165, -0.428], + [4.804, 2.149] + ], + "o": [ + [-3.267, 1.461], + [-2.478, 0.014], + [-0.906, -1.966], + [0.378, -0.81], + [0.815, -1.729], + [0.265, -0.276], + [0.376, -0.456], + [0.515, -0.565], + [1.999, 0.942], + [2.131, -3.532], + [0.183, 0.054], + [-0.024, 0.175], + [0.566, 0.412], + [0, 0], + [0, 0], + [-0.064, 0.362], + [3.166, 6.834], + [0.039, 0.065], + [0.826, 0.393], + [2.638, -1.45], + [0.697, 0.802], + [5.652, 3.444], + [-0.038, 0.57], + [-1.22, 0.085], + [-5.069, 0.609], + [-5.562, -2.485] + ], + "v": [ + [-56.802, 30.617], + [-66.388, 35.498], + [-72.809, 31.836], + [-72.809, 25.944], + [-71.683, 23.515], + [-71.995, 18.663], + [-71.198, 17.84], + [-70.361, 16.393], + [-69.309, 14.232], + [-66.234, 11.502], + [-58.273, 9.815], + [-57.734, 9.993], + [-57.803, 10.521], + [-56.109, 11.761], + [-56.107, 11.761], + [-56.107, 11.761], + [-56.396, 12.813], + [-48.462, 16.592], + [-48.356, 16.782], + [-46.108, 16.444], + [-38.561, 16.483], + [-35.892, 18.647], + [-20.681, 31.097], + [-21.129, 32.987], + [-24.742, 33.5], + [-39.374, 31.275] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 20", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 20, + "ty": "sh", + "ix": 21, + "ks": { + "a": 0, + "k": { + "i": [ + [0.099, -0.104], + [-0.362, 0.765], + [-0.715, 2.416], + [-0.046, 0.421], + [0.588, 1.469], + [-0.808, -0.642], + [-0.022, -0.167], + [-0.02, -0.056], + [0.441, -1.194], + [0.066, -0.215], + [1.086, -2.298], + [0.608, -0.708] + ], + "o": [ + [0.574, -0.674], + [0.945, -2.377], + [0.042, -0.429], + [0.221, -2.034], + [0.466, 0.589], + [0.02, 0.169], + [0.019, 0.057], + [-0.771, 0.922], + [-0.076, 0.21], + [-0.241, 2.527], + [-0.316, 0.793], + [-0.088, 0.088] + ], + "v": [ + [61.858, -136.661], + [63.232, -138.833], + [64.818, -146.287], + [64.948, -147.562], + [64.345, -152.843], + [66.262, -151.002], + [66.323, -150.499], + [66.373, -150.333], + [65.031, -146.926], + [64.818, -146.287], + [63.232, -138.833], + [61.882, -136.571] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 21", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 21, + "ty": "sh", + "ix": 22, + "ks": { + "a": 0, + "k": { + "i": [ + [-0.807, -3.649], + [-1.399, -4.245], + [-0.712, -1.1], + [0.574, -4.915], + [-1.324, -0.956], + [-0.976, -0.487], + [-1.391, -1.193], + [-0.225, -0.16], + [-1.304, -1.701], + [0, 0], + [0.001, -0.076], + [-0.242, -1.433], + [-0.488, -0.288], + [-0.344, -0.125], + [-5.449, -1.576], + [0.567, 1.506], + [-0.028, 0.956], + [0, 0], + [1.128, -0.037], + [1.167, 2.823], + [1.564, 1.207], + [0, 0], + [2.28, 1.802], + [-0.023, 0.184], + [1.901, 2.264], + [-1.429, 3.142], + [0.034, 0.295], + [-0.226, 0.122], + [-0.261, 0.559], + [-0.265, 1.487], + [-0.138, 0.074], + [-0.321, -0.539], + [-0.542, -0.24], + [-1.567, -0.244], + [-3.629, -3.523], + [-0.072, -1.182], + [-0.573, 0.325], + [-0.108, 0.118], + [-1.744, 0.383], + [-0.022, 1.913], + [0.944, 10.711], + [0.494, 0.431], + [-0.004, 0.394], + [0, 0], + [3.534, 2.829], + [0.348, 3.396], + [-1.645, 2.172], + [0.111, 1.036], + [-0.474, 0.199], + [-2.643, -3.472], + [-1.381, 1.467], + [-1.609, 0.758], + [-0.494, 0.226], + [-1.618, 1.036], + [-1.691, 0.232], + [-4.585, 5.144], + [-2.095, 3.047], + [-1.703, 3.467], + [2.53, 4.066], + [0.073, 1.768], + [0.241, 1.242], + [-0.012, 0.817], + [0.119, -0.008], + [0.012, 0.325], + [1.752, 3.587], + [2.276, -0.336], + [0, 0], + [-1.448, 1.813], + [-3.936, 0.745], + [0.037, 1.759], + [1.407, 0.049], + [4.088, -3.545], + [1.492, 1.274], + [-0.956, 0.748], + [-4.453, 1.698], + [-1.905, -1.334], + [-1.262, 0.226], + [-2.595, 2.039], + [-0.089, -0.12], + [-0.187, -2.248], + [-4.186, 1.261], + [-0.481, 0.454], + [2.348, -3.207], + [0.291, -2.826], + [-2.102, -0.682], + [-0.925, 2.14], + [0.034, 0.301], + [-0.157, 0.107], + [0.655, 4.438], + [0, 0], + [0, 0], + [-0.295, 0.011], + [0.206, 0.516], + [0.436, 1.109], + [0.381, 0.562], + [-0.079, 0.077], + [0.494, 0.466], + [0, 0], + [2.941, 0.883], + [0, 0], + [0.55, 0.742], + [0.449, 0.945], + [0.45, 0.341], + [0.123, 0.107], + [-0.752, 2.795], + [0.115, 0.102], + [-0.004, 1.839], + [-6.347, 0.454], + [-0.5, 5.495], + [-0.636, 1.477], + [1.678, 14.476], + [0.21, 0.594], + [1.433, 4.343], + [-0.033, -0.052], + [-1.319, -0.896], + [-0.318, -0.118], + [-3.097, -3.1], + [0.16, -0.314], + [0.435, -3.068], + [-0.234, -0.526], + [-1.862, -1.808], + [-0.256, -0.096], + [-0.413, 1.41], + [-1.774, -1.653], + [-0.273, 0.028], + [0.221, 1.591], + [1.523, 0.626], + [1.647, 3.857], + [0.068, 0.357], + [0, 0], + [-0.001, 0], + [-0.516, 0.301], + [0.98, 2.026], + [3.138, 9.498], + [1.829, 1.555], + [0.385, 1.163], + [-1.003, -2.729], + [-0.802, -0.018], + [0.309, -1.326], + [2.995, 1.481], + [1.842, -0.764], + [1.215, -0.798], + [0.371, -0.257], + [-0.156, 2.279], + [-0.455, 1.075], + [0.318, 0.153], + [0.737, -1.357], + [0.173, -0.175], + [0.064, 0.054], + [-0.409, 2.177], + [-1.16, 7.173], + [-10.416, 2.261], + [-0.157, 0.225], + [-0.409, 0.379], + [-0.754, 0.276], + [-0.772, 1.35], + [-0.404, 0.459], + [-3.725, -1.453], + [-0.963, -0.196], + [-2.554, 0.386], + [-2.512, -0.18], + [0, 0], + [-0.103, -0.337], + [0, 0], + [0, 0], + [5.675, 0.762], + [0.141, 1.23], + [-0.042, 0.345], + [-0.023, 0.066], + [-0.127, 2.156], + [0.139, 1.649], + [0.045, 0.218], + [-0.007, 0.152], + [-0.628, 1.479], + [-3.273, -1.667], + [-0.608, -0.663], + [-1.526, -0.271], + [-0.238, 1.242], + [-0.576, 0.645], + [-0.571, 1.301], + [-0.937, 0], + [0.035, -0.394], + [0.477, -1.395], + [0.692, -7.284], + [3.383, -3.274], + [-0.008, -0.259], + [1.077, -2.578], + [-0.994, -3.453], + [-2.554, -4.171], + [-4.011, -6.665], + [-2.329, 0.473], + [-0.402, 2.133], + [-1.285, 3.606], + [2.779, 2.398], + [0, 0], + [-3.205, 1.714], + [1.959, 2.708], + [-4.146, 3.303], + [-0.036, 0.854], + [1.383, 0.15], + [0.003, 0], + [0, 0], + [-0.8, 3.858], + [3.93, -1.915], + [0, 0], + [0.099, 2.058], + [1.051, 3.217], + [-2.828, 1.427], + [-0.088, 0.126], + [-0.445, -0.233], + [-0.501, 1.487], + [-0.647, -0.008], + [-1.014, -0.041], + [0, 1.133], + [0, 0], + [-5.72, -3.465], + [-1.605, 0.334], + [-7.3, 9.258], + [-0.962, 3.635], + [2.918, 1.709], + [1.587, 2.631], + [0.198, 0.533], + [-1.481, 3.857], + [0.004, 0], + [6.409, 5.404], + [-1.336, 1.748], + [-0.94, -0.585], + [-1.793, 0.026], + [-4.432, -1.916], + [-3.111, 1.82], + [0, 0], + [-1.083, 0.868], + [0.111, 1.519], + [1.449, 0.421], + [0.177, 0.118], + [3.01, 1.369], + [0.003, 0], + [-0.234, 1.397], + [2.631, 2.707], + [0, 0], + [3.541, 0.288], + [0, 0], + [2.336, 0.708], + [0.968, -2.901], + [1.135, 0.421], + [2.135, -2.58], + [-0.004, -0.001], + [0, 0], + [2.543, 0.326], + [4.76, 1.236], + [8.932, -4.175], + [2.573, 0.688], + [-2.045, -2.011], + [1.722, -3.863], + [3.49, 2.098], + [0.367, 0.509], + [3.797, -1.129], + [-0.148, -0.374], + [0.056, -0.05], + [4.058, -0.097], + [1.693, -1.355], + [-0.024, 0.009], + [0, 0], + [-0.007, 0.004], + [1.572, -1.174], + [2.631, 4.89], + [1.209, 0.712], + [0.368, 0.404], + [5.423, -4.199], + [4.473, 5.058], + [0.917, 2.928], + [4.796, -2.159], + [0, 0], + [1.188, -0.149], + [2.914, -1.374], + [0, 0], + [0.232, -7.153], + [-0.2, -2.077], + [-1.086, 0.643], + [0, 0], + [8.845, -2.674], + [1.904, -0.299], + [0, 0], + [1.307, -0.301], + [2.544, -0.594], + [0.144, -0.096], + [0.517, -0.431], + [-0.536, -0.766], + [0.05, -0.423], + [-0.904, -2.237], + [5.945, 1.767], + [0.061, 0.605], + [-0.043, 1.693], + [2.113, 0.255], + [0, 0], + [0.198, 0.322], + [0.746, 1.479], + [4.325, -4.347], + [0, 0], + [1.836, -0.004], + [-0.727, -3.593], + [3.027, -1.448], + [3.553, 3.098], + [0.493, -0.046], + [0.849, 0.142], + [0.326, 0.133], + [0.053, 1.991], + [4.274, -0.78], + [4.132, 1.378], + [-0.536, -4.567], + [-0.29, -0.767], + [-0.003, 0], + [0, 0], + [3.996, -0.186], + [0.315, 0.414], + [0, 0], + [0, 0], + [-3.008, 9.428], + [1.148, 1.272], + [0.091, 0.375], + [0, 0], + [5.807, 2.783], + [0, 0], + [1.521, -0.827], + [0.849, -0.585], + [0, 0.001], + [1.58, 0.315], + [0, 0], + [0, 0], + [0.666, -0.16], + [0.425, 5.946], + [2.108, 0.173], + [0.414, -1.815], + [-3.724, -3.965], + [-0.015, -1.228], + [-0.003, 0], + [0, -0.001], + [0.815, -0.054], + [0.223, -0.704], + [0.145, -0.395], + [0, 0], + [0.473, -0.39], + [0, -0.001], + [3.005, 5.111], + [2.046, -2.306], + [0.12, -1.464], + [0, -0.001], + [1.721, -1.511], + [0.244, -7.916], + [-1.098, -0.38], + [0, 0], + [-0.819, -0.459], + [0, 0], + [0.626, -1.522], + [0.753, -0.077], + [3.687, -1.093], + [-1.315, -3.533], + [-3.709, -3.07], + [1.674, -0.108], + [0.233, 0.088], + [4.429, -1.278], + [1.303, 0.096], + [-1.693, -1.484], + [0.779, -0.45], + [0.008, -0.386], + [0, 0], + [0.001, -0.001], + [0.099, 0.103], + [1.11, 0.394], + [0.498, 0.773], + [0.854, -1.8], + [0, 0], + [0.328, -0.019], + [-3.225, -3.158], + [-0.18, -0.222], + [0.213, 0.127], + [0.777, 5.163], + [0.739, 0.821], + [2.91, -0.412], + [-0.232, -1.848], + [-0.031, -0.387], + [-0.19, -0.971], + [-0.047, -0.918], + [0.479, -2.657], + [0.026, -0.062], + [-0.034, -0.596], + [0.087, -1.224], + [-0.161, -2.433], + [-3.579, -1.731], + [-0.008, -0.007], + [4.74, 2.206], + [2.811, -1.406], + [2.251, 2.689], + [-2.283, -1.541], + [-1.921, -1.075], + [-0.176, -0.329], + [4.599, 1.297], + [0.514, -0.257], + [0.374, -0.222], + [0.594, 0.005], + [1.697, 0.976], + [3.425, -1.782], + [0.552, -0.588], + [0.598, -0.275], + [0.344, -0.44], + [0.176, -0.406], + [0.603, -0.371], + [0.753, -0.423], + [0.711, -1.93], + [1.805, 1.021], + [-0.329, 1.628], + [0.003, 0], + [0, 0], + [0, 0], + [4.402, -0.418], + [-0.915, -3.134], + [-0.222, -1.58], + [-0.355, -0.456], + [-0.031, -0.039], + [0.032, -0.042], + [-0.362, -0.325], + [2.386, 0.054], + [0.202, 4.087], + [1.618, 0.813], + [0.038, -0.015], + [0.088, 0.073], + [0.563, 0.596], + [3.483, 3.1], + [5.932, -0.571], + [2.164, 6.149], + [0, 0], + [5.104, -1.989], + [3.096, -3.499], + [0, 0], + [0.003, -0.003], + [0, 0], + [0.502, -0.301], + [0.5, -0.32], + [1.406, -0.279], + [3.074, -1.634], + [0.692, -0.741], + [1.033, -1.301], + [1.362, -0.229], + [-1.106, -3.477], + [-0.085, -0.638], + [-0.171, -1.009], + [1.637, -1.047], + [-0.726, -1.198], + [-0.114, -0.077], + [0, 0], + [0.232, -0.121], + [4.607, -3.434], + [0.623, -1.28], + [4.335, -3.542], + [-2.306, -6.346], + [0.118, -3.965], + [-6.062, 1.783], + [-2.539, 2.613], + [-0.852, -2.71], + [-1.636, -0.779], + [-0.023, -0.077], + [-0.211, -0.539], + [-0.36, -0.589], + [0.027, -0.6], + [1.099, -1.086], + [0.45, 0.129], + [0.214, -0.073], + [-0.062, 0.219], + [0.978, 3.047], + [2.007, -0.479], + [-2.674, -5.847], + [-0.013, -0.024], + [0.165, -0.015], + [-0.932, -1.477], + [0, 0], + [-0.053, -0.49], + [0.861, -0.844], + [0.232, -0.081], + [2.007, -6.069], + [4.382, -0.961], + [-0.67, 1.652], + [2.31, 1.293], + [1.124, 0.624], + [0.034, 0.416], + [1.816, 1.239], + [0, 0], + [-0.018, 5.31], + [2.886, 3.173], + [3.522, -1.743], + [-1.205, -4.66], + [7.166, -1.587], + [0.175, -0.352], + [1.171, -1.189], + [0.05, -2.841], + [1.354, -2.295], + [0, 0], + [-4.268, -0.781], + [-1.533, 0.062], + [-2.05, 0.853], + [2.354, 4.06], + [-0.175, 1.686], + [-1.682, 1.351], + [-0.066, 0.186], + [-0.543, -0.26], + [-0.003, 0.004], + [-0.795, -0.746], + [0, 0], + [0.716, 0.011], + [-0.188, -0.41], + [0.853, -0.891], + [0.443, -0.542], + [-1.067, -1.102], + [0, 0], + [0, -0.001], + [-0.095, -0.083], + [0.035, -0.037], + [0.103, -0.619], + [0.003, -0.362], + [-0.418, -1.909], + [-0.666, 0.028], + [0.005, -2.014], + [1.075, -0.754], + [-1.324, -0.252], + [-0.385, -0.406], + [-1.119, 0.164], + [-1.04, 0.295], + [-1.209, 0.497], + [1.471, -0.416], + [1.089, -0.164], + [0.542, -1.487], + [0.02, -0.387], + [0, 0], + [-1.132, -2.378], + [-0.822, 0.273], + [-0.769, -0.039], + [2.497, -5.881], + [0, 0], + [2.819, 0.482], + [6.447, 0.176], + [-1.251, -4.047], + [1.102, -3.372], + [-0.914, -1.467], + [0.638, -0.039], + [0.023, -0.367], + [-0.749, -1.596], + [-2.684, -1.477], + [-1.556, -0.367], + [-0.742, -3.18], + [0, 0], + [0, 0], + [0.042, -1.171], + [-0.035, -0.275], + [0.26, -0.257], + [1.905, -0.753], + [0.585, -5.937], + [6.563, -2.544], + [-1.393, -2.279], + [0.963, -4.657], + [0, 0], + [0.13, -0.689], + [3.496, -3.12], + [-0.865, -1.743], + [-0.36, -0.398], + [-0.378, -0.042], + [-0.02, -0.226], + [1.328, -5.318], + [-0.104, -0.467], + [-2.127, -4.531], + [-0.15, -0.902], + [0.046, -0.305], + [-0.813, -1.007], + [0, 0], + [-0.012, -0.84], + [-2.218, 0.014], + [-3.677, -2.576], + [-0.043, -1.156], + [-0.393, -0.383], + [-0.032, -0.44], + [0, 0], + [-3.647, -0.956], + [-0.406, -0.191], + [-1.564, -0.776], + [0, 0], + [0, 0], + [-2.168, -1.323], + [0, 0], + [0, 0], + [-2.112, 1.077], + [-6.09, -1.156], + [0, 0.003], + [-3.942, 2.565], + [-5.958, -2.25], + [0, 0], + [-0.417, -0.821], + [-0.558, -1.074], + [0, 0], + [-3.955, 1.005], + [0, 0], + [-1.081, -0.417], + [0.527, -3.766], + [-0.007, -0.037], + [0.336, -0.533], + [0.107, -0.81], + [-0.481, -0.02], + [-8.822, -5.763], + [-0.367, -0.445], + [0, -0.003], + [-0.248, -0.293], + [-0.005, 0], + [0, -0.003], + [-0.146, -0.737], + [-0.624, -0.409], + [0, 0.003], + [0, 0], + [-2.14, -1.82], + [0, 0], + [-2.1, -5.427], + [2.349, -2.341], + [0.248, -7.189], + [-1.485, -2.547], + [-0.937, -7.016], + [-7.77, -8.623], + [-0.072, 0.2], + [0, 0], + [-0.115, -0.034], + [0.153, -0.184], + [0.11, -6.744], + [-5.36, 1.089], + [-4.519, -0.471], + [-5.621, 4.118], + [-6.52, 6.975], + [0.519, 2.934], + [-1.044, 2.412], + [-1.958, 3.579], + [2.299, 3.839], + [0, 0], + [0.135, 0.386], + [-0.349, 1.779], + [0.003, -0.003], + [0, 0], + [-2.563, 2.07], + [-0.802, 1.649], + [0, 0], + [-0.543, 0.539], + [0, 0], + [0, 0], + [-0.012, 8.503], + [-0.143, 3.72], + [2.318, 1.334], + [1.289, 4.305], + [-1.801, 4.037], + [-2.455, 4.425], + [0, 0], + [-0.08, 0.375], + [-7.348, 2.897], + [-0.799, 0.691], + [0.429, 0.527], + [-0.119, 0.221], + [-0.364, 0.122], + [-0.389, 0.397], + [-0.668, 0.699], + [-0.326, 0.042], + [-1.063, 1.693], + [-0.446, -0.028], + [-1.578, 3.54], + [0.19, 0.333], + [-0.142, 0.104], + [-0.859, 2.714], + [2.191, 3.19], + [3.073, -0.214], + [8.345, 2.373], + [-0.03, 0.245], + [0.284, 0.313], + [-1.569, 0.706], + [-1.811, 0.465], + [-3.954, 1.993], + [-0.031, 2.841], + [0.064, 0.157], + [0.06, 0.078], + [0, 0], + [0.018, 0.007], + [0.009, 0.015], + [0, 0.034], + [-0.064, -0.164], + [-0.225, -0.16], + [-3.523, 1.915], + [-2.237, 2.331], + [0, 0], + [-3.515, 3.336], + [-2.133, 0.825], + [-2.066, 2.378], + [6.161, 6.603], + [-0.004, 0.003], + [2.574, 0.485], + [1.231, 1.969], + [0, 0], + [0, 0], + [-0.061, 0.428], + [2.194, 0.497], + [0.241, -1.066], + [0, 0], + [1.476, -1.308], + [0.424, -1.139], + [1.128, -0.46], + [2.802, 1.816], + [0, 0], + [0.391, 1.597], + [0, 0], + [-0.362, 0.364], + [1.324, 0.192], + [0.238, -0.872], + [0.929, 0.548], + [3.346, 1.774], + [0, 0], + [0.857, 1.559], + [1.077, 0.922], + [0, 0], + [0, 0.003], + [-0.309, 1.06], + [-0.789, -0.013], + [-1.383, -2.205], + [-3.67, -2.813], + [-0.879, -0.224], + [-1.113, -0.167], + [-1.492, 0.362], + [-1.147, -0.37], + [-1.885, -1.339], + [-6.972, 1.368], + [-0.627, -0.474], + [-1.556, 0.046], + [-4.902, -7.687], + [-1.555, 1.15], + [-1.11, -2.922], + [-7.365, 2.975], + [-0.408, -1.495], + [-0.819, -2.513], + [-6.512, -14.625], + [-3.354, 2.93], + [-1.301, 3.18], + [-0.007, 0.054], + [-0.141, 1.503], + [-6.411, 8.54], + [-1.373, 1.354], + [-9.085, 3.303], + [-1.471, -0.046], + [-2.227, 0.055], + [-1.647, -1.794], + [0.52, -8.358], + [-0.764, -0.62], + [-2.417, 0.857] + ], + "o": [ + [0.984, 4.44], + [0.58, 1.308], + [-0.074, 4.942], + [0.037, 1.676], + [0.967, 0.513], + [0.808, 1.69], + [0.229, 0.158], + [0.378, 2.02], + [0, 0], + [-0.005, 0.077], + [-2.261, 1.018], + [0.019, 0.576], + [0.362, 0.073], + [3.352, 4.434], + [1.514, -1.515], + [0.031, -0.956], + [0, 0], + [-0.539, -0.895], + [-0.289, -2.962], + [-1.564, -1.208], + [0, 0], + [-2.276, -1.806], + [0.033, -0.169], + [0.245, -3.384], + [-2.322, -2.753], + [-0.032, -0.297], + [0.207, -0.096], + [0.471, -0.383], + [0.707, -1.378], + [0.118, -0.099], + [0.326, 0.544], + [0.419, 0.42], + [1.517, 0.547], + [3.625, 3.522], + [0.074, 1.185], + [0.475, 0.46], + [0.141, -0.115], + [2.095, 0.589], + [0.578, -1.575], + [9.253, -2.987], + [-0.49, -0.425], + [0.003, -0.393], + [0, 0], + [-0.169, -4.948], + [-5.716, -4.578], + [1.175, -2.458], + [0.678, -0.742], + [0.422, 0.37], + [3.704, -1.555], + [1.196, 1.574], + [1.173, -1.246], + [0.517, -0.156], + [1.625, -1.032], + [1.393, -1.125], + [7.145, -0.984], + [2.593, -2.914], + [1.104, -3.758], + [1.94, -3.942], + [-0.964, -1.549], + [-0.603, -1.159], + [0.011, -0.815], + [-0.118, 0.007], + [-0.024, -0.328], + [-1.942, -3.383], + [-0.98, -2.011], + [0, 0], + [-1.085, -1.504], + [2.144, -2.693], + [1.741, -0.326], + [-0.03, -1.513], + [-3.783, -0.127], + [-1.72, 1.49], + [-1.089, -0.932], + [3.352, -2.615], + [1.07, 1.919], + [0.963, 0.727], + [2.681, -1.848], + [0.091, 0.12], + [2.146, 1.713], + [0.338, 4.076], + [0.57, -0.345], + [2.06, 1.461], + [-0.111, 2.761], + [-0.213, 2.061], + [2.127, 0.695], + [0.064, -0.329], + [0.183, -0.019], + [5.282, 1.337], + [0, 0], + [0, 0], + [0.288, 0.064], + [-0.207, -0.519], + [-0.436, -1.114], + [-0.379, -0.562], + [0.079, -0.07], + [0.363, -0.581], + [0, 0], + [-0.138, -3.06], + [0, 0], + [-0.139, -1.167], + [-0.41, -0.971], + [-0.325, -0.46], + [-0.129, -0.096], + [1.185, -2.555], + [-0.118, -0.099], + [1.205, -1.25], + [0.008, -6.589], + [4.872, -0.352], + [1.53, -0.149], + [5.575, -12.967], + [-0.036, -0.63], + [-3.716, -3.586], + [0.034, 0.05], + [0.938, 1.33], + [0.303, 0.158], + [-0.696, 4.539], + [-0.2, 0.234], + [-0.546, 3.089], + [0.095, 0.565], + [1.018, 2.29], + [0.26, 0.093], + [0.758, 0.237], + [1.238, -4.213], + [0.273, 0.005], + [2.053, -2.202], + [-0.961, -1.255], + [-4.443, -2.826], + [0.073, -0.357], + [0, 0], + [0, 0], + [0.515, -0.301], + [1.232, -0.058], + [-4.443, -8.767], + [0.259, -2.876], + [-0.383, -1.162], + [-1.508, -0.024], + [0.506, 0.559], + [-0.844, 0.947], + [-2.217, -2.528], + [-1.935, -0.52], + [-1.166, 0.891], + [-0.401, 0.195], + [-1.097, -1.567], + [0.894, 0.039], + [0.15, -0.356], + [-1.354, -0.666], + [-0.171, 0.175], + [-0.062, -0.054], + [-2.206, -2.153], + [1.346, -7.131], + [1.781, -11.005], + [0.154, -0.229], + [0.19, -0.831], + [0.775, -0.227], + [1.661, -0.062], + [0.357, -0.626], + [3.398, -2.008], + [0.903, 0.429], + [-0.614, 1.086], + [2.301, -0.349], + [0, 0], + [0.064, 0.348], + [0, 0], + [0, 0], + [-0.567, -1.456], + [-1.441, -0.551], + [0.024, -0.348], + [0.018, -0.065], + [0.764, -2.083], + [0.28, -1.61], + [-0.064, -0.229], + [0.007, -0.154], + [1.037, -1.208], + [2.854, -2.267], + [0.796, 0.995], + [0.755, 1.617], + [1.632, 0.288], + [0.47, -0.462], + [0.049, -1.381], + [0.538, -0.607], + [0.018, 0.38], + [0.104, 1.359], + [-2.435, 7.094], + [-0.456, 4.803], + [0.133, 0.219], + [3.138, 1.162], + [-1.495, 3.584], + [1.379, 4.784], + [4.062, 6.633], + [0.967, 1.609], + [2.196, -0.447], + [0.668, -3.554], + [3.108, -0.845], + [0, 0], + [-0.364, -3.098], + [4.685, -2.508], + [-2.072, -2.863], + [0.773, 0.414], + [0.045, -1.12], + [0, 0], + [0, 0], + [-0.129, -3.299], + [1.016, -4.535], + [0, 0], + [-2.5, -0.971], + [-0.158, -3.334], + [-1.095, -2.596], + [0.092, -0.122], + [0.44, 0.234], + [0.5, -1.486], + [0.647, 0.008], + [0.031, 0.961], + [1.613, 0.061], + [0, 0], + [3.695, -5.842], + [1.338, 0.808], + [-1.844, -12.259], + [2.305, -0.913], + [1.017, -3.831], + [-2.762, -1.617], + [-0.198, -0.532], + [-0.947, -2.191], + [0, 0], + [2.676, -8.425], + [-1.534, -1.295], + [1.98, -2.59], + [1.483, 0.93], + [0.856, -3.014], + [2.288, 3.866], + [0.003, 0], + [1.117, 0.945], + [1.281, 0.026], + [-0.137, -1.934], + [-0.059, -0.209], + [0.473, -3.013], + [0, 0], + [-0.662, -1.07], + [2.552, -1.621], + [0, 0], + [0.687, -3.859], + [0, 0], + [-2.339, -0.71], + [-1.1, 2.768], + [-1.135, -0.422], + [-1.926, -0.672], + [0, 0.001], + [0, 0], + [-1.894, -2.589], + [-4.916, -0.628], + [-8.887, -2.306], + [-2.232, 1.045], + [-4.148, 3.717], + [2.307, 2.271], + [-2.949, -2.994], + [-0.395, -0.421], + [-0.027, -2.061], + [0.146, 0.372], + [-0.053, 0.045], + [-0.429, 3.789], + [-1.785, 0.042], + [0.024, -0.011], + [0, 0], + [0.007, -0.005], + [-1.748, 0.757], + [-4.593, 3.442], + [-0.678, -1.258], + [-0.371, -0.404], + [-6.569, -3.724], + [-5.285, 4.092], + [-3.802, 1.87], + [-2.741, -8.755], + [0, 0], + [-1.186, 0.15], + [-3.016, -0.561], + [0, 0], + [-3.005, 1.273], + [-1.383, 0.502], + [0.118, 1.179], + [0, 0.001], + [1.054, 3.257], + [-1.892, 0.303], + [0.003, 0.001], + [-1.304, 0.301], + [-1.73, 3.231], + [-0.15, 0.088], + [-0.538, -0.515], + [-1.005, 0.837], + [-0.148, 0.347], + [0.613, 2.295], + [-6.488, -0.5], + [-0.058, -0.607], + [1.068, 0.295], + [0.06, -2.257], + [0, 0], + [-0.045, -0.379], + [-0.746, -1.477], + [-3.357, -1.633], + [0, 0.001], + [-1.839, -0.552], + [-2.287, 0.007], + [0.328, 1.628], + [-2.963, 1.42], + [-0.497, 0.05], + [-1.358, 0.688], + [-0.326, -0.142], + [-0.869, -0.659], + [-4.274, 0.781], + [-3.43, 3.203], + [-2.733, -0.911], + [0.288, 0.768], + [0, 0], + [-0.003, 0.001], + [-1.655, 3.039], + [-0.315, -0.412], + [0, 0.001], + [0, 0], + [3.709, -9.216], + [-1.147, -1.273], + [0.047, -0.383], + [0, 0], + [-4.16, -5.358], + [0, 0], + [-1.368, 1.16], + [-0.848, 0.588], + [0, 0], + [-2.903, 1.427], + [0, 0], + [0, 0], + [-0.738, -0.156], + [-3.048, 0.726], + [-0.154, -2.167], + [-2.164, -0.179], + [-1.078, 4.685], + [0.018, 1.231], + [0, 0], + [0, 0], + [-0.812, 0.055], + [-0.221, 0.703], + [-0.144, 0.394], + [0, 0], + [-0.468, 0.39], + [0, 0], + [-1.885, 1.469], + [-0.594, -1.013], + [-0.93, 0.116], + [0, 0], + [-1.052, 2.325], + [-5.204, 4.562], + [1.096, 0.382], + [0, 0], + [0.821, 0.46], + [0, 0], + [0.781, 1.063], + [-0.754, 0.081], + [-2.994, 2.692], + [-3.403, 1.009], + [1.988, 5.331], + [0.356, 3.037], + [-0.225, -0.095], + [-3.375, -2.238], + [-0.081, -1.461], + [-0.917, 1.473], + [-0.779, 0.451], + [-0.008, 0.383], + [0, -0.001], + [0, 0.003], + [-0.1, -0.104], + [-1.109, -0.394], + [-0.5, -0.773], + [-0.248, 2.095], + [0, 0], + [-0.33, 0.055], + [-1.388, 3.817], + [0.207, 0.207], + [-0.157, -0.161], + [-5.112, -3.063], + [-0.482, -1.06], + [-2.123, -2.367], + [-1.517, 0.214], + [0.049, 0.389], + [-0.487, 0.707], + [0.188, 0.945], + [-0.299, 2.683], + [-0.024, 0.062], + [-0.222, 0.562], + [-0.19, 1.212], + [1.014, 2.088], + [0.261, 4.064], + [0.038, 0.023], + [-4.756, -2.149], + [-3.035, -0.129], + [-3.07, -0.611], + [-2.849, 1.458], + [1.819, 1.227], + [-0.024, 0.355], + [2.321, 4.378], + [-0.532, -0.149], + [-0.376, 0.206], + [-0.595, -0.004], + [-2.572, 0.621], + [-4.622, -2.665], + [-0.55, 0.589], + [-0.657, 0.177], + [-0.494, 0.247], + [-0.047, 0.508], + [-0.6, 0.37], + [-0.75, 0.423], + [-2.163, 0.815], + [-0.917, 1.139], + [-1.997, -1.125], + [-0.003, 0], + [0, 0], + [0, 0], + [-0.163, -5.221], + [-5.174, 0.489], + [0.437, 1.504], + [0.165, 0.562], + [0.03, 0.039], + [-0.031, 0.036], + [-0.176, 0.236], + [0.869, 2.011], + [-1.862, -0.042], + [1.155, -2.049], + [-0.035, 0.016], + [-0.085, -0.073], + [0.294, -0.654], + [-2.693, -4.264], + [-4.302, -3.831], + [-4.955, -1.649], + [0, 0], + [-4.534, -1.468], + [-3.613, -0.952], + [0.003, 0], + [0, 0], + [0, 0], + [-0.479, 0.34], + [-0.509, 0.305], + [-1.292, 0.623], + [-2.137, 3.555], + [-0.787, 0.612], + [-1.36, 0.989], + [-0.994, 0.733], + [-3.112, 1.839], + [0.221, 0.687], + [-0.248, 0.96], + [-0.433, 1.449], + [-0.955, 0.982], + [0.116, 0.104], + [0, 0], + [-0.234, 0.12], + [-3.733, 3.916], + [-0.83, 1.062], + [-2.229, 5.637], + [-6.772, 4.607], + [1.393, 3.833], + [-0.19, 6.431], + [3.538, -1.04], + [-0.251, 2.845], + [0.872, 1.664], + [0.026, 0.076], + [0.095, 0.571], + [0.44, 0.737], + [-0.027, 0.6], + [-1.606, 0.055], + [-0.424, 0.031], + [-0.242, 0.024], + [0.047, -0.222], + [2.592, -3.151], + [-0.58, -1.809], + [-5.762, 1.369], + [0.015, 0.024], + [-0.152, 0.004], + [-1.101, 1.637], + [0, 0], + [0.394, 0.665], + [-0.592, 1.035], + [-0.218, 0.088], + [-4.525, 2.114], + [-1.553, 4.714], + [-1.025, -1.766], + [0.917, -2.24], + [-0.848, -1.362], + [-0.035, -0.414], + [1.786, -2.123], + [0, 0], + [-2.966, -4.348], + [0.018, -4.337], + [-1.815, -1.996], + [-3.553, 1.755], + [1.79, 6.902], + [-0.233, 0.052], + [-1.17, 1.189], + [-2.612, 0.598], + [-0.045, 2.305], + [0, 0], + [-2.177, 4.494], + [1.583, 0.288], + [1.819, -1.555], + [3.328, -1.381], + [2.387, 0.108], + [0.245, -2.391], + [0.095, -0.177], + [0.542, 0.259], + [0, 0], + [0.795, 0.746], + [0, 0], + [-0.711, -0.012], + [0.187, 0.409], + [-1.169, 0.38], + [-0.441, 0.54], + [-1.46, 1.144], + [0, 0], + [0, 0], + [0.089, 0.081], + [-0.038, 0.035], + [-0.357, 0.506], + [-0.007, 0.361], + [-1.121, 0.443], + [0.668, -0.029], + [0.84, 2.148], + [-1.078, 0.753], + [-1.036, 2.6], + [0.389, 0.409], + [1.311, 0.597], + [0.953, -0.516], + [1.311, -0.687], + [-0.876, 1.154], + [-0.967, 0.508], + [-1.066, 0.573], + [-0.034, 0.38], + [0, 0], + [-1.591, 2.443], + [0.819, 0.635], + [0.657, 0.404], + [6.836, 5.625], + [0, 0], + [-0.976, 4.439], + [-6.428, -1.097], + [-2.947, 2.716], + [1.078, 3.487], + [-0.309, 1.616], + [-0.632, 0.039], + [-0.003, 0.37], + [0.749, 1.597], + [-2.152, 2.546], + [1.559, 0.366], + [3.106, 0.139], + [0, 0], + [0, 0], + [-0.042, 1.169], + [0.039, 0.272], + [-0.181, 0.303], + [-0.534, 2.095], + [-6.014, 2.378], + [-0.777, 7.968], + [-2.39, 0.925], + [-3.327, 2.883], + [-0.003, 0], + [-0.133, 0.685], + [-5.143, 1.824], + [-0.506, 1.477], + [0.357, 0.398], + [0.32, 0.385], + [0.02, 0.21], + [-0.909, 5.349], + [-0.008, 0.498], + [-1.266, 3.893], + [0.84, 0.894], + [0, 0.311], + [-0.894, 1.571], + [0, 0], + [0.01, 0.834], + [2.213, -0.019], + [2.57, 3.732], + [0.045, 1.159], + [0.394, 0.384], + [0.035, 0.437], + [0, 0], + [0.959, 4.183], + [0.41, 0.195], + [0.34, 2.096], + [0, 0], + [0, 0], + [1.342, 2.433], + [0, 0], + [0, 0], + [2.065, 1.831], + [5.689, -2.906], + [0, -0.003], + [5.018, 2.107], + [5.7, -1.661], + [0.003, 0], + [0.414, 0.821], + [0.556, 1.075], + [0.003, 0], + [3.458, 4.672], + [0, 0], + [0.247, 1.304], + [3.689, 1.427], + [0.011, 0.037], + [-0.49, 0.156], + [-0.103, 0.803], + [0.481, 0.02], + [-4.014, 10.272], + [0.364, 0.445], + [0, 0.003], + [0.081, 0.385], + [0, 0], + [-0.005, 0], + [0.145, 0.742], + [0.625, 0.412], + [0, 0], + [0, 0.003], + [-0.632, 2.68], + [0, 0], + [0.83, 5.626], + [1.156, 2.993], + [-5.352, 5.334], + [-0.845, 2.898], + [3.532, 6.047], + [1.476, 11.017], + [0.005, -0.221], + [0, 0], + [0.116, 0.039], + [-0.154, 0.18], + [0.742, 6.314], + [-0.088, 5.323], + [4.299, -0.88], + [7.104, 0.739], + [7.839, -5.74], + [1.797, -1.927], + [1.031, -2.408], + [4.089, -0.666], + [1.882, -4.188], + [0, 0.003], + [-0.137, -0.387], + [0.349, -1.778], + [-0.003, 0], + [0, 0], + [2.559, -2.073], + [1.877, -0.229], + [0, 0], + [0.54, -0.539], + [0, -0.003], + [0, 0], + [8.484, -2.425], + [0.009, -3.722], + [0.102, -2.534], + [-1.117, -4.601], + [-1.48, -4.953], + [2.18, -4.886], + [0, 0], + [0.249, -0.283], + [5.981, -4.604], + [0.796, -0.691], + [0.387, -0.584], + [0.119, -0.229], + [0.358, -0.045], + [0.504, -0.219], + [0.825, -0.576], + [0.302, -0.15], + [1.06, -1.69], + [0.447, 0.028], + [1.58, -3.541], + [0.311, -0.427], + [0.126, -0.122], + [1.096, -2.534], + [1.07, -3.385], + [-2.448, -3.556], + [-8.042, 0.554], + [0.047, -0.078], + [0.045, -0.352], + [-0.349, -2.62], + [1.16, -0.11], + [4.107, -1.521], + [1.825, -0.919], + [-0.053, -0.186], + [-0.057, -0.082], + [0.012, -0.01], + [-0.016, -0.011], + [-0.008, -0.013], + [-0.003, -0.031], + [0.076, 0.141], + [0.175, 0.228], + [4.206, 0.723], + [1.966, -2.576], + [0, 0], + [5.106, -0.628], + [2.73, 0.635], + [0.998, -2.618], + [5.693, -6.539], + [0, 0], + [-2.578, -0.488], + [-1.234, -1.974], + [0, 0], + [0, 0], + [0.062, -0.435], + [-0.413, -1.453], + [-0.925, -0.209], + [0, 0], + [-1.473, 1.305], + [-0.423, 1.143], + [-1.125, 0.46], + [-2.944, -1.278], + [0, -0.003], + [-0.389, -1.594], + [0, 0], + [0.363, -0.367], + [-0.364, -1.274], + [-0.229, 0.875], + [-0.928, -0.552], + [-0.387, -3.802], + [0, 0], + [-0.861, -1.56], + [-0.149, -1.332], + [0, 0], + [0, 0], + [0.301, -1.059], + [0.88, -0.181], + [2.278, 0.719], + [2.566, 4.087], + [0.669, 0.62], + [1.067, 0.42], + [1.397, 0.654], + [1.182, 0.138], + [2.635, -0.482], + [6.011, 4.279], + [0.019, 0.727], + [1.473, 0.708], + [6.676, -0.789], + [0.956, 1.5], + [0.199, 3.366], + [2.906, 7.61], + [2.91, 0.05], + [0.096, 2.531], + [4.975, 15.332], + [1.85, 4.153], + [2.46, -2.148], + [0.006, -0.05], + [1.077, -0.443], + [0.955, -10.279], + [1.416, -1.312], + [6.658, -6.57], + [1.327, 0.691], + [2.164, -1.067], + [-0.642, 2.758], + [5.074, 5.534], + [-0.061, 0.951], + [2.481, 1.104], + [3.277, -1.159] + ], + "v": [ + [229.306, 161.004], + [234.246, 173.453], + [235.961, 177.415], + [234.814, 192.198], + [236.897, 196.127], + [239.817, 197.622], + [243.442, 201.67], + [244.115, 202.155], + [246.197, 207.887], + [246.197, 207.889], + [246.201, 208.121], + [245.658, 212.21], + [246.404, 213.515], + [247.459, 213.814], + [260.108, 223.578], + [260.093, 219.049], + [260.181, 216.177], + [260.18, 216.158], + [257.967, 214.416], + [256.639, 205.605], + [251.943, 201.989], + [251.943, 201.989], + [245.104, 196.573], + [245.197, 196.065], + [241.788, 187.655], + [240.412, 179.201], + [240.311, 178.31], + [240.953, 178.001], + [242.058, 176.597], + [242.916, 172.143], + [243.302, 171.883], + [244.287, 173.5], + [245.715, 174.516], + [250.314, 175.833], + [261.19, 186.402], + [261.405, 189.95], + [262.979, 190.153], + [263.347, 189.806], + [268.205, 187.59], + [270.661, 183.298], + [280.962, 166.312], + [279.487, 165.027], + [279.505, 163.848], + [279.504, 163.848], + [272.931, 152.782], + [264.467, 142.605], + [267.482, 134.941], + [268.654, 132.397], + [270.029, 132.823], + [279.395, 135.116], + [283.88, 134.783], + [287.586, 131.269], + [289.106, 130.699], + [294.373, 128.732], + [299.122, 126.815], + [315.602, 116.052], + [320.298, 106.095], + [325.157, 95.591], + [325.406, 83.424], + [323.973, 78.487], + [322.75, 74.877], + [322.787, 72.429], + [322.435, 72.45], + [322.381, 71.467], + [316.014, 61.65], + [311.116, 58.208], + [311.116, 58.208], + [310.772, 53.47], + [318.165, 46.517], + [320.65, 43.027], + [318.443, 39.957], + [307.017, 39.517], + [301.871, 38.133], + [300.761, 34.567], + [308.93, 25.015], + [311.689, 30.736], + [314.936, 31.791], + [323.889, 28.322], + [324.156, 28.685], + [325.824, 35.125], + [332.19, 39.935], + [333.735, 38.693], + [335.03, 45.012], + [335.643, 53.239], + [338.529, 57.862], + [343.217, 55.574], + [343.255, 54.634], + [343.769, 54.458], + [349.329, 48.465], + [349.328, 48.465], + [349.329, 48.462], + [350.208, 48.541], + [349.587, 46.986], + [348.275, 43.652], + [347.134, 41.968], + [347.375, 41.762], + [347.178, 40.194], + [346.949, 40.389], + [342.482, 34.352], + [342.498, 34.346], + [341.458, 31.487], + [339.948, 28.702], + [338.812, 27.487], + [338.441, 27.174], + [342.84, 19.972], + [342.491, 19.67], + [344.116, 15.112], + [352.351, 6.114], + [359.95, -2.139], + [362.934, -4.934], + [370.991, -45.634], + [370.627, -47.465], + [366.477, -60.555], + [366.569, -60.402], + [370.079, -57.202], + [371.012, -56.793], + [375.769, -41.198], + [375.222, -40.394], + [376.27, -31.452], + [376.732, -29.809], + [380.267, -23.23], + [381.042, -22.944], + [383.282, -22.616], + [387.957, -23.223], + [388.781, -23.261], + [387.593, -27.889], + [384.193, -31.076], + [380.032, -42.932], + [380.038, -44.006], + [380.038, -44.006], + [380.04, -44.006], + [381.587, -44.904], + [383.261, -46.878], + [369.356, -72.851], + [365.804, -78.741], + [364.646, -82.228], + [362.265, -79.944], + [363.909, -78.492], + [361.632, -75.474], + [353.644, -81.256], + [347.985, -80.82], + [344.445, -78.25], + [343.279, -77.575], + [340.469, -82.546], + [342.855, -83.299], + [342.407, -84.706], + [339.211, -83.555], + [338.697, -83.031], + [338.515, -83.198], + [338.452, -89.724], + [344.35, -110.563], + [357.196, -124.625], + [357.661, -125.307], + [358.581, -127.074], + [360.872, -127.835], + [365.109, -128.854], + [366.256, -130.47], + [376.783, -131.583], + [379.559, -130.562], + [381.738, -129.195], + [387.688, -132.106], + [387.688, -132.105], + [387.937, -131.078], + [388.317, -131.149], + [388.704, -131.149], + [388.118, -135.669], + [385.589, -138.629], + [385.685, -139.672], + [385.73, -139.869], + [386.897, -146.246], + [387.213, -151.122], + [387.087, -151.778], + [387.107, -152.237], + [389.011, -156.663], + [398.192, -157.695], + [400.275, -155.221], + [404.252, -152.499], + [406.248, -154.838], + [407.797, -156.487], + [408.996, -160.477], + [411.145, -161.476], + [411.128, -160.315], + [411.484, -156.237], + [409.06, -134.339], + [404.417, -122.337], + [404.631, -121.616], + [406.91, -115.381], + [407.304, -105.091], + [413.484, -91.825], + [425.747, -71.974], + [429.176, -67.962], + [432.108, -73.257], + [431.253, -83.674], + [432.43, -88.357], + [432.43, -88.358], + [434.166, -96.96], + [434.601, -103.975], + [434.246, -113.435], + [435.861, -114.05], + [434.066, -116.398], + [434.063, -116.397], + [434.063, -116.398], + [429.751, -123.942], + [425.186, -127.617], + [425.184, -127.617], + [422.637, -133.011], + [421.498, -142.903], + [423.277, -149.179], + [423.544, -149.557], + [424.868, -148.855], + [426.374, -153.315], + [428.315, -153.289], + [429.273, -150.842], + [430.573, -153.482], + [430.573, -153.482], + [441.355, -156.249], + [445.536, -155.018], + [455.446, -186.725], + [462.425, -188.449], + [457.481, -196.742], + [451.249, -203.129], + [450.655, -204.728], + [446.812, -210.617], + [446.808, -210.617], + [442.402, -227.075], + [441.362, -231.552], + [444.438, -230.343], + [449.199, -228.638], + [455.082, -233.115], + [463.442, -231.85], + [463.445, -231.85], + [466.738, -231.919], + [468.821, -233.842], + [465.737, -236.583], + [465.379, -237.073], + [462.278, -243.978], + [462.275, -243.979], + [461.063, -247.47], + [462.303, -253.675], + [462.303, -253.673], + [457.588, -259.526], + [457.588, -259.525], + [450.577, -261.648], + [444.912, -255.709], + [441.512, -256.973], + [435.635, -257.37], + [435.639, -257.366], + [435.642, -257.347], + [428.34, -259.575], + [413.603, -261.441], + [387.1, -261.674], + [379.747, -260.731], + [381.621, -253.373], + [386.007, -245.645], + [375.632, -252.09], + [374.508, -253.546], + [369.421, -255.492], + [369.861, -254.372], + [369.706, -254.243], + [363.487, -248.448], + [357.794, -247.266], + [357.864, -247.297], + [357.774, -247.253], + [357.794, -247.266], + [352.712, -244.641], + [341.745, -246.839], + [339.079, -249.86], + [337.967, -251.072], + [319.297, -249.47], + [305.507, -249.887], + [295.404, -251.458], + [283.349, -254.705], + [283.349, -254.705], + [279.788, -254.257], + [270.86, -253.741], + [270.86, -253.741], + [262.093, -249.402], + [259.219, -246.563], + [261.175, -245.634], + [261.175, -245.633], + [260.643, -236.082], + [254.956, -235.177], + [254.961, -235.175], + [251.046, -234.273], + [243.604, -231.854], + [243.164, -231.577], + [241.479, -232.011], + [241.446, -229.621], + [241.137, -228.476], + [242.342, -221.45], + [225.726, -229.562], + [225.545, -231.378], + [228.216, -232.148], + [224.44, -235.715], + [224.44, -235.716], + [224.072, -236.77], + [221.834, -241.203], + [211.261, -243.003], + [211.261, -243.001], + [205.747, -244.548], + [201.668, -240.416], + [201.684, -235.494], + [192.228, -234.317], + [190.748, -234.174], + [187.458, -233.38], + [186.48, -233.791], + [185.118, -237.806], + [172.301, -235.462], + [160.733, -233.414], + [156.168, -230.706], + [157.032, -228.405], + [157.034, -228.407], + [157.032, -228.405], + [149.738, -222.128], + [148.792, -223.365], + [148.792, -223.364], + [148.792, -223.364], + [156.8, -251.936], + [153.355, -255.755], + [153.286, -256.892], + [153.285, -256.892], + [137.36, -267.571], + [137.268, -267.602], + [132.592, -265.373], + [130.051, -263.614], + [130.049, -263.615], + [126.665, -266.33], + [126.665, -266.33], + [126.665, -266.33], + [124.464, -266.754], + [117.786, -269.924], + [112.382, -272.381], + [108.81, -269.223], + [110.783, -255.889], + [110.831, -252.199], + [110.834, -252.199], + [110.831, -252.197], + [108.389, -252.035], + [107.725, -249.921], + [107.293, -248.738], + [107.293, -248.738], + [105.882, -247.566], + [105.882, -247.564], + [99.679, -246.809], + [93.531, -243.207], + [92.055, -240.668], + [92.055, -240.666], + [86.882, -236.139], + [76.03, -219.176], + [79.321, -218.034], + [79.318, -218.034], + [81.777, -216.655], + [81.777, -216.655], + [82.897, -213.064], + [80.638, -212.823], + [70.221, -208.031], + [67.729, -201.89], + [78.204, -191.867], + [74.787, -189.219], + [74.098, -189.492], + [62.972, -192.863], + [60.706, -194.984], + [60.689, -190.552], + [58.355, -189.2], + [58.33, -188.047], + [58.63, -187.741], + [58.628, -187.735], + [58.33, -188.047], + [55.001, -189.227], + [53.504, -191.55], + [52.636, -185.739], + [52.636, -185.739], + [51.649, -185.626], + [53.094, -174.968], + [53.672, -174.323], + [53.124, -174.76], + [46.482, -188.022], + [44.998, -191.168], + [37.092, -193.456], + [33.955, -190.622], + [34.068, -189.46], + [33.569, -186.926], + [33.917, -184.132], + [32.569, -176.14], + [32.5, -175.956], + [32.239, -174.208], + [31.808, -170.557], + [34.087, -164.011], + [40.089, -155.455], + [40.307, -155.271], + [25.444, -159.575], + [16.379, -159.609], + [8.445, -164.618], + [8.255, -159.886], + [13.935, -156.547], + [14.122, -155.512], + [10.626, -151.038], + [8.998, -150.648], + [7.877, -150.001], + [6.095, -150.02], + [-1.48, -148.415], + [-12.447, -146.437], + [-14.097, -144.671], + [-16.06, -144.066], + [-17.317, -143.038], + [-17.668, -141.68], + [-19.471, -140.568], + [-21.73, -139.303], + [-25.206, -134.545], + [-28.606, -132.3], + [-28.887, -137.031], + [-28.892, -137.031], + [-28.889, -137.031], + [-28.781, -137.05], + [-35.399, -144.02], + [-38.164, -137.169], + [-37.847, -132.437], + [-37.155, -130.862], + [-37.059, -130.745], + [-37.155, -130.648], + [-36.875, -129.809], + [-38.757, -126.366], + [-43.736, -128.607], + [-45.384, -132.472], + [-45.495, -132.424], + [-45.758, -132.642], + [-46.133, -134.518], + [-57.564, -142.032], + [-72.804, -147.631], + [-85.581, -155.946], + [-85.581, -155.946], + [-99.515, -158.357], + [-109.876, -157.097], + [-109.873, -157.097], + [-109.876, -157.094], + [-109.979, -157.19], + [-111.451, -156.23], + [-112.958, -155.289], + [-116.875, -153.557], + [-126.166, -148.801], + [-128.356, -146.732], + [-131.925, -143.255], + [-135.399, -141.734], + [-138.432, -133.716], + [-137.996, -131.739], + [-138.165, -128.775], + [-141.219, -125.017], + [-141.624, -121.754], + [-141.28, -121.51], + [-141.28, -121.51], + [-141.984, -121.148], + [-149.28, -107.248], + [-152.103, -104.406], + [-163.566, -92.227], + [-169.594, -78.191], + [-167.983, -66.632], + [-157.406, -58.486], + [-148.16, -63.69], + [-145.802, -55.535], + [-141.904, -52.028], + [-141.831, -51.805], + [-141.377, -50.127], + [-140.191, -48.159], + [-140.276, -46.358], + [-144.278, -44.542], + [-145.578, -44.655], + [-146.257, -44.492], + [-146.111, -45.163], + [-146.311, -54.508], + [-150.379, -56.804], + [-156.271, -43.003], + [-156.229, -42.927], + [-156.691, -42.905], + [-156.348, -38.28], + [-156.342, -38.266], + [-155.693, -36.544], + [-157.983, -33.804], + [-158.656, -33.551], + [-171.347, -25.769], + [-180.502, -17.958], + [-180.127, -22.97], + [-181.727, -28.478], + [-185.275, -29.856], + [-185.373, -31.1], + [-186.485, -35.88], + [-186.485, -35.882], + [-193.945, -49.588], + [-197.441, -59.927], + [-203.31, -63.523], + [-211.093, -55.338], + [-217.257, -42.82], + [-217.783, -41.803], + [-221.294, -38.236], + [-224.919, -33.252], + [-224.781, -26.377], + [-224.793, -26.367], + [-221.569, -18.268], + [-217, -18.756], + [-210.737, -21.084], + [-207.177, -28.439], + [-204.179, -32.129], + [-201.108, -37.409], + [-200.887, -37.962], + [-199.258, -37.183], + [-199.255, -37.187], + [-196.869, -34.95], + [-196.991, -34.464], + [-199.131, -34.495], + [-198.569, -33.265], + [-201.499, -31.195], + [-202.821, -29.57], + [-202.765, -26.21], + [-202.765, -26.21], + [-202.765, -26.208], + [-202.49, -25.961], + [-202.607, -25.865], + [-203.297, -24.183], + [-203.307, -23.102], + [-205.069, -20.253], + [-203.069, -20.339], + [-204.159, -14.44], + [-207.388, -12.177], + [-205.093, -9.758], + [-203.934, -8.533], + [-200.309, -7.989], + [-197.24, -9.086], + [-193.495, -11.096], + [-197.24, -9.086], + [-200.309, -7.989], + [-202.832, -5.069], + [-202.913, -3.919], + [-202.913, -3.919], + [-202.753, 3.291], + [-200.293, 3.931], + [-198.14, 4.554], + [-192.333, 19.947], + [-192.348, 19.967], + [-199.678, 23.306], + [-218.997, 22.262], + [-221.867, 32.216], + [-222.602, 42.521], + [-222.922, 47.285], + [-224.824, 47.403], + [-224.865, 48.507], + [-222.618, 53.296], + [-221.363, 59.23], + [-216.69, 60.326], + [-210.793, 65.144], + [-210.793, 65.144], + [-210.795, 65.144], + [-210.919, 68.651], + [-210.806, 69.47], + [-211.448, 70.324], + [-215.283, 74.431], + [-225.352, 87.832], + [-236.938, 102.194], + [-239.044, 106.997], + [-246.47, 117.555], + [-246.473, 117.555], + [-246.867, 119.612], + [-255.189, 130.685], + [-256.031, 135.251], + [-254.956, 136.444], + [-253.912, 137.064], + [-253.854, 137.699], + [-255.384, 153.885], + [-255.253, 155.337], + [-257.304, 167.34], + [-257.277, 170.05], + [-257.348, 170.973], + [-256.266, 174.442], + [-255.985, 174.437], + [-255.952, 176.949], + [-249.307, 176.899], + [-239.894, 186.314], + [-239.758, 189.786], + [-238.579, 190.934], + [-238.468, 192.249], + [-238.466, 192.249], + [-230.757, 198.987], + [-229.531, 199.566], + [-225.944, 203.084], + [-225.944, 203.081], + [-225.944, 203.084], + [-219.967, 207.759], + [-219.967, 207.759], + [-219.967, 207.759], + [-213.612, 207.969], + [-195.889, 206.084], + [-195.889, 206.079], + [-183.009, 202.967], + [-165.662, 201.766], + [-165.659, 201.766], + [-164.414, 204.225], + [-162.74, 207.449], + [-162.737, 207.449], + [-151.256, 208.812], + [-151.256, 208.812], + [-149.051, 211.387], + [-144.752, 219.359], + [-144.73, 219.469], + [-145.847, 220.815], + [-146.163, 223.234], + [-144.723, 223.294], + [-136.766, 247.084], + [-135.669, 248.42], + [-135.669, 248.425], + [-135.172, 249.441], + [-135.164, 249.441], + [-135.17, 249.444], + [-134.734, 251.665], + [-132.857, 252.891], + [-132.857, 252.889], + [-132.857, 252.891], + [-130.835, 259.717], + [-130.835, 259.717], + [-127.991, 276.545], + [-129.764, 284.671], + [-136.436, 304.101], + [-134.719, 311.762], + [-126.449, 331.05], + [-115.826, 361.523], + [-115.711, 360.896], + [-115.711, 360.896], + [-115.364, 360.981], + [-115.826, 361.523], + [-112.052, 380.234], + [-102.549, 386.039], + [-89.537, 383.822], + [-70.739, 377.834], + [-51.905, 356.273], + [-49.853, 348.473], + [-46.746, 341.242], + [-37.947, 334.497], + [-38.929, 322.495], + [-38.929, 322.498], + [-39.338, 321.336], + [-38.295, 316.005], + [-38.301, 316.007], + [-38.298, 316.005], + [-30.616, 309.791], + [-26.789, 306.728], + [-26.792, 306.728], + [-25.168, 305.111], + [-25.168, 305.108], + [-25.168, 305.108], + [-13.582, 290.175], + [-13.416, 279.009], + [-16.118, 273.003], + [-18.142, 259.085], + [-16.131, 247.055], + [-7.073, 235.017], + [-7.073, 235.017], + [-6.577, 234.03], + [10.73, 219.432], + [13.124, 217.359], + [13.051, 215.692], + [13.407, 215.018], + [14.486, 214.778], + [15.828, 213.85], + [18.041, 211.915], + [18.977, 211.608], + [22.164, 206.53], + [23.505, 206.612], + [28.233, 195.992], + [28.395, 194.861], + [28.793, 194.52], + [32.973, 187.457], + [33.688, 177.245], + [24.58, 176.839], + [0.556, 179.555], + [0.671, 179.076], + [0.311, 178.078], + [2.83, 173.776], + [7.221, 172.882], + [19.646, 168.663], + [23.842, 164.567], + [23.67, 164.048], + [23.502, 163.803], + [23.528, 163.785], + [23.478, 163.765], + [23.451, 163.723], + [23.451, 163.624], + [23.67, 164.048], + [24.255, 164.648], + [35.516, 161.56], + [41.691, 154.079], + [41.691, 154.076], + [53.575, 146.331], + [59.876, 143.617], + [63.458, 136.022], + [62.723, 122.35], + [62.604, 122.475], + [54.875, 121.016], + [51.176, 115.099], + [51.175, 115.099], + [51.175, 115.099], + [51.358, 113.807], + [50.113, 109.596], + [48.923, 112.416], + [48.922, 112.416], + [44.497, 116.337], + [43.225, 119.761], + [39.841, 121.141], + [30.675, 118.557], + [30.675, 118.555], + [29.502, 113.768], + [29.502, 113.768], + [30.594, 112.672], + [28.143, 110.38], + [27.448, 113], + [24.667, 111.347], + [19.169, 102.91], + [19.169, 102.913], + [16.592, 98.237], + [15.113, 94.696], + [15.113, 94.696], + [15.113, 94.693], + [16.021, 91.519], + [18.516, 91.296], + [24.21, 95.425], + [34.068, 105.108], + [36.403, 106.363], + [39.687, 107.184], + [44.017, 107.661], + [47.52, 108.354], + [53.511, 111.138], + [73.223, 114.523], + [74.338, 116.263], + [78.931, 116.777], + [97.487, 121.138], + [101.749, 121.855], + [106.573, 129.266], + [119.325, 134.8], + [121.549, 138.723], + [122.279, 146.299], + [141.346, 190.398], + [149.744, 192.139], + [155.912, 184.509], + [155.929, 184.35], + [157.461, 180.969], + [166.207, 152.023], + [170.444, 148.083], + [191.156, 129.373], + [195.474, 129.904], + [202.147, 129.432], + [204.662, 136.001], + [214.007, 155.495], + [215.594, 157.842], + [222.809, 157.422] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 22", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { "a": 0, "k": 2, "ix": 5 }, + "lc": 1, + "lj": 1, + "ml": 10, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "tr", + "p": { "a": 0, "k": [0, 0], "ix": 2 }, + "a": { "a": 0, "k": [0, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100], "ix": 3 }, + "r": { "a": 0, "k": 0, "ix": 6 }, + "o": { "a": 0, "k": 100, "ix": 7 }, + "sk": { "a": 0, "k": 0, "ix": 4 }, + "sa": { "a": 0, "k": 0, "ix": 5 }, + "nm": "Transform" + } + ], + "nm": "null", + "np": 23, + "cix": 2, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 17, + "ty": 4, + "nm": "outline fill", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.58], "y": [0] }, + "n": ["0p833_0p833_0p58_0"], + "t": 30, + "s": [0], + "e": [100] + }, + { + "i": { "x": [0.833], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p833_1_0p167_0"], + "t": 114, + "s": [100], + "e": [100] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.72], "y": [0] }, + "n": ["0p833_0p833_0p72_0"], + "t": 180, + "s": [100], + "e": [0] + }, + { "t": 262 } + ], + "ix": 11 + }, + "r": { "a": 0, "k": 0, "ix": 10 }, + "p": { "a": 0, "k": [400, 300, 0], "ix": 2 }, + "a": { "a": 0, "k": [-18.5, -5.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-81.462, 0], + [0, -81.462], + [81.462, 0], + [0, 81.462] + ], + "o": [ + [81.462, 0], + [0, 81.462], + [-81.462, 0], + [0, -81.462] + ], + "v": [ + [-18.5, -153], + [129, -5.5], + [-18.5, 142], + [-166, -5.5] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 4 }, + "o": { "a": 0, "k": 7, "ix": 5 }, + "r": 1, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + } + ], + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 18, + "ty": 4, + "nm": "outline", + "sr": 1, + "ks": { + "o": { "a": 0, "k": 100, "ix": 11 }, + "r": { + "a": 1, + "k": [ + { + "i": { "x": [0.37], "y": [1] }, + "o": { "x": [0.58], "y": [0] }, + "n": ["0p37_1_0p58_0"], + "t": 0, + "s": [180], + "e": [785] + }, + { + "i": { "x": [0.564], "y": [1] }, + "o": { "x": [0.182], "y": [0] }, + "n": ["0p564_1_0p182_0"], + "t": 120, + "s": [785], + "e": [809] + }, + { + "i": { "x": [0.41], "y": [1] }, + "o": { "x": [0.339], "y": [0] }, + "n": ["0p41_1_0p339_0"], + "t": 180, + "s": [809], + "e": [1260] + }, + { "t": 300 } + ], + "ix": 10 + }, + "p": { "a": 0, "k": [400, 300, 0], "ix": 2 }, + "a": { "a": 0, "k": [-18.5, -5.5, 0], "ix": 1 }, + "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } + }, + "ao": 0, + "shapes": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [-81.462, 0], + [0, -81.462], + [81.462, 0], + [0, 81.462] + ], + "o": [ + [81.462, 0], + [0, 81.462], + [-81.462, 0], + [0, -81.462] + ], + "v": [ + [-18.5, -153], + [129, -5.5], + [-18.5, 142], + [-166, -5.5] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "tm", + "s": { + "a": 1, + "k": [ + { + "i": { "x": [0.37], "y": [1] }, + "o": { "x": [0.58], "y": [0] }, + "n": ["0p37_1_0p58_0"], + "t": 0, + "s": [99.9], + "e": [0] + }, + { + "i": { "x": [0.833], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p833_1_0p167_0"], + "t": 120, + "s": [0], + "e": [0] + }, + { + "i": { "x": [0.41], "y": [1] }, + "o": { "x": [0.58], "y": [0] }, + "n": ["0p41_1_0p58_0"], + "t": 180, + "s": [0], + "e": [99.9] + }, + { "t": 300 } + ], + "ix": 1 + }, + "e": { "a": 0, "k": 100, "ix": 2 }, + "o": { "a": 0, "k": 0, "ix": 3 }, + "m": 1, + "ix": 2, + "nm": "Trim Paths 1", + "mn": "ADBE Vector Filter - Trim", + "hd": false + }, + { + "ty": "st", + "c": { "a": 0, "k": [1, 1, 1, 1], "ix": 3 }, + "o": { "a": 0, "k": 100, "ix": 4 }, + "w": { + "a": 1, + "k": [ + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.5], "y": [0] }, + "n": ["0p833_0p833_0p5_0"], + "t": 0, + "s": [23], + "e": [4] + }, + { + "i": { "x": [0.833], "y": [1] }, + "o": { "x": [0.167], "y": [0] }, + "n": ["0p833_1_0p167_0"], + "t": 60, + "s": [4], + "e": [4] + }, + { + "i": { "x": [0.833], "y": [0.833] }, + "o": { "x": [0.5], "y": [0] }, + "n": ["0p833_0p833_0p5_0"], + "t": 248, + "s": [4], + "e": [23] + }, + { "t": 300 } + ], + "ix": 5 + }, + "lc": 2, + "lj": 1, + "ml": 4, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + } + ], + "ip": 0, + "op": 301, + "st": 0, + "bm": 0 + } + ] +} diff --git a/src/frontend/api.js b/src/frontend/api.js index 96efb12c5..213b33bf6 100644 --- a/src/frontend/api.js +++ b/src/frontend/api.js @@ -5,6 +5,7 @@ import ky from "ky"; import nodejs from "nodejs-mobile-react-native"; import RNFS from "react-native-fs"; import debug from "debug"; +import BuildConfig from "react-native-build-config"; import type { Preset, Field, Metadata } from "./context/ConfigContext"; import type { @@ -191,9 +192,12 @@ export function Api({ bugsnag.leaveBreadcrumb("Mapeo Core started"); // Start monitoring for timeout restartTimeout(); - // As soon as we hear from the Node process, send the storagePath so - // that the server can start - nodejs.channel.post("storagePath", RNFS.ExternalDirectoryPath); + // As soon as we hear from the Node process, send the storagePath and + // other config that the server requires + nodejs.channel.post("config", { + storagePath: RNFS.ExternalDirectoryPath, + flavor: BuildConfig.FLAVOR + }); // Resolve once the server reports status as "LISTENING" return onReady(); }); diff --git a/src/frontend/images/logo.png b/src/frontend/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..770b220572432ca97c690ecfad37d66bcf3f99af GIT binary patch literal 38627 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

`Olj@;Aa&+hxCQw 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 literal 0 HcmV?d00001 diff --git a/src/frontend/images/undraw_adventure_4hum.svg b/src/frontend/images/undraw_adventure_4hum.svg new file mode 100644 index 000000000..d9eda7450 --- /dev/null +++ b/src/frontend/images/undraw_adventure_4hum.svg @@ -0,0 +1 @@ +adventure \ No newline at end of file diff --git a/src/frontend/screens/Intro/index.js b/src/frontend/screens/Intro/index.js new file mode 100644 index 000000000..d46065d44 --- /dev/null +++ b/src/frontend/screens/Intro/index.js @@ -0,0 +1,93 @@ +// @flow +import React from "react"; +import { + type NavigationScreenProp, + createStackNavigator +} from "react-navigation"; +import { StatusBar } from "react-native"; +import { IntroPager, IntroInfo } from "@digidem/wcmc-mapeo-mobile-intro"; +import { useNavigationParam } from "react-navigation-hooks"; + +import HeaderTitle from "../../sharedComponents/HeaderTitle"; +import CustomHeaderLeft from "../../sharedComponents/CustomHeaderLeft"; + +const InfoHeaderTitle = () => { + const title = useNavigationParam("introInfoTitle"); + return {title}; +}; + +type InfoNavigationState = {| + params: {| + introInfoText: string, + introInfoTitle: string + |} +|}; + +const Info = ({ + navigation +}: { + navigation: NavigationScreenProp +}) => { + const text = navigation.getParam("introInfoText"); + + return ( + <> + ), a2?: ?($ReadOnlyArray)): Array<[A, B]>; - zip(a1: $ReadOnlyArray, a2: $ReadOnlyArray, a3: $ReadOnlyArray): Array<[A, B, C]>; - zip(a1: $ReadOnlyArray, a2: $ReadOnlyArray, a3: $ReadOnlyArray, a4: $ReadOnlyArray): Array<[A, B, C, D]>; + zip(a1?: ?$ReadOnlyArray, a2?: ?$ReadOnlyArray): Array<[A, B]>; + zip( + a1: $ReadOnlyArray, + a2: $ReadOnlyArray, + a3: $ReadOnlyArray + ): Array<[A, B, C]>; + zip( + a1: $ReadOnlyArray, + a2: $ReadOnlyArray, + a3: $ReadOnlyArray, + a4: $ReadOnlyArray + ): Array<[A, B, C, D]>; zip( a1: $ReadOnlyArray, a2: $ReadOnlyArray, @@ -503,50 +522,50 @@ declare module "lodash" { a5: $ReadOnlyArray ): Array<[A, B, C, D, E]>; - zipObject(props: Array, values?: ?Array): { [key: K]: V }; - zipObject(props: void | null, values?: ?Array): {}; + zipObject(props: Array, values?: ?Array): { [key: K]: V, ... }; + zipObject(props: void | null, values?: ?Array): { ... }; zipObjectDeep(props: any[], values?: ?any): Object; - zipObjectDeep(props: void | null, values?: ?any): {}; + zipObjectDeep(props: void | null, values?: ?any): { ... }; - zipWith(a1?: ?$ReadOnlyArray): Array<[A]>; - zipWith(a1: $ReadOnlyArray, iteratee: (A) => T): Array; + zipWith(a1?: ?Array): Array<[A]>; + zipWith(a1: Array, iteratee: (A) => T): Array; - zipWith(a1: $ReadOnlyArray, a2: $ReadOnlyArray): Array<[A, B]>; + zipWith(a1: Array, a2: Array): Array<[A, B]>; zipWith( - a1: $ReadOnlyArray, - a2: $ReadOnlyArray, + a1: Array, + a2: Array, iteratee: (A, B) => T - ): $ReadOnlyArray; + ): Array; zipWith( - a1: $ReadOnlyArray, - a2: $ReadOnlyArray, - a3: $ReadOnlyArray + a1: Array, + a2: Array, + a3: Array ): Array<[A, B, C]>; zipWith( - a1: $ReadOnlyArray, - a2: $ReadOnlyArray, - a3: $ReadOnlyArray, + a1: Array, + a2: Array, + a3: Array, iteratee: (A, B, C) => T ): Array; zipWith( - a1: $ReadOnlyArray, - a2: $ReadOnlyArray, - a3: $ReadOnlyArray, - a4: $ReadOnlyArray + a1: Array, + a2: Array, + a3: Array, + a4: Array ): Array<[A, B, C, D]>; zipWith( - a1: $ReadOnlyArray, - a2: $ReadOnlyArray, - a3: $ReadOnlyArray, - a4: $ReadOnlyArray, + a1: Array, + a2: Array, + a3: Array, + a4: Array, iteratee: (A, B, C, D) => T ): Array; // Collection - countBy(array: $ReadOnlyArray, iteratee?: ?ValueOnlyIteratee): Object; - countBy(array: void | null, iteratee?: ?ValueOnlyIteratee): {}; + countBy(array: Array, iteratee?: ?ValueOnlyIteratee): Object; + countBy(array: void | null, iteratee?: ?ValueOnlyIteratee): { ... }; countBy(object: T, iteratee?: ?ValueOnlyIteratee): Object; // alias of _.forEach each(array: $ReadOnlyArray, iteratee?: ?Iteratee): Array; @@ -559,7 +578,7 @@ declare module "lodash" { every(array?: ?$ReadOnlyArray, iteratee?: ?Iteratee): boolean; every(object: T, iteratee?: OIteratee): boolean; filter(array?: ?$ReadOnlyArray, predicate?: ?Predicate): Array; - filter( + filter( object: T, predicate?: OPredicate ): Array; @@ -573,7 +592,7 @@ declare module "lodash" { predicate?: ?Predicate, fromIndex?: ?number ): void; - find( + find( object: T, predicate?: OPredicate, fromIndex?: number @@ -583,7 +602,7 @@ declare module "lodash" { predicate?: ?Predicate, fromIndex?: ?number ): T | void; - findLast( + findLast( object: T, predicate?: ?OPredicate ): V; @@ -625,12 +644,12 @@ declare module "lodash" { groupBy( array: $ReadOnlyArray, iteratee?: ?ValueOnlyIteratee - ): { [key: V]: Array }; - groupBy(array: void | null, iteratee?: ?ValueOnlyIteratee): {}; - groupBy( + ): { [key: V]: Array, ... }; + groupBy(array: void | null, iteratee?: ?ValueOnlyIteratee): { ... }; + groupBy( object: T, iteratee?: ValueOnlyIteratee - ): { [key: V]: Array }; + ): { [key: V]: Array, ... }; includes( array: $ReadOnlyArray, value: T, @@ -652,12 +671,12 @@ declare module "lodash" { keyBy( array: $ReadOnlyArray, iteratee?: ?ValueOnlyIteratee - ): { [key: V]: T }; - keyBy(array: void | null, iteratee?: ?ValueOnlyIteratee<*>): {}; - keyBy( + ): { [key: V]: T, ... }; + keyBy(array: void | null, iteratee?: ?ValueOnlyIteratee<*>): { ... }; + keyBy( object: T, iteratee?: ?ValueOnlyIteratee - ): { [key: V]: A }; + ): { [key: V]: A, ... }; map(array?: ?Array, iteratee?: ?MapIterator): Array; map( array: ?$ReadOnlyArray, @@ -681,7 +700,7 @@ declare module "lodash" { iteratees?: ?$ReadOnlyArray> | ?string, orders?: ?$ReadOnlyArray<"asc" | "desc"> | ?string ): Array; - orderBy( + orderBy( object: T, iteratees?: $ReadOnlyArray> | string, orders?: $ReadOnlyArray<"asc" | "desc"> | string @@ -690,7 +709,7 @@ declare module "lodash" { array?: ?$ReadOnlyArray, predicate?: ?Predicate ): [Array, Array]; - partition( + partition( object: T, predicate?: OPredicate ): [Array, Array]; @@ -745,20 +764,20 @@ declare module "lodash" { accumulator?: ?U ): U; reject(array: ?$ReadOnlyArray, predicate?: Predicate): Array; - reject( + reject( object?: ?T, predicate?: ?OPredicate ): Array; - sample(array: ?$ReadOnlyArray): T; + sample(array: ?Array): T; sample(object: T): V; - sampleSize(array?: ?$ReadOnlyArray, n?: ?number): Array; + sampleSize(array?: ?Array, n?: ?number): Array; sampleSize(object: T, n?: number): Array; - shuffle(array: ?$ReadOnlyArray): Array; + shuffle(array: ?Array): Array; shuffle(object: T): Array; size(collection: $ReadOnlyArray | Object | string): number; some(array: void | null, predicate?: ?Predicate): false; some(array: ?$ReadOnlyArray, predicate?: Predicate): boolean; - some( + some( object?: ?T, predicate?: OPredicate ): boolean; @@ -786,7 +805,11 @@ declare module "lodash" { after(n: number, fn: Function): Function; ary(func: Function, n?: number): Function; before(n: number, fn: Function): Function; - bind any>(func: F, thisArg: any, ...partials: Array): F; + bind any>( + func: F, + thisArg: any, + ...partials: Array + ): F; bindKey(obj?: ?Object, key?: ?string, ...partials?: Array): Function; curry: Curry; curry(func: Function, arity?: number): Function; @@ -805,8 +828,14 @@ declare module "lodash" { overArgs(func?: ?Function, ...transforms?: Array): Function; overArgs(func?: ?Function, transforms?: ?Array): Function; partial(func: (...any[]) => R, ...partials: any[]): (...any[]) => R; - partialRight(func: (...any[]) => R, ...partials: Array): (...any[]) => R; - partialRight(func: (...any[]) => R, partials: Array): (...any[]) => R; + partialRight( + func: (...any[]) => R, + ...partials: Array + ): (...any[]) => R; + partialRight( + func: (...any[]) => R, + partials: Array + ): (...any[]) => R; rearg(func: Function, ...indexes: Array): Function; rearg(func: Function, indexes: Array): Function; rest(func: Function, start?: number): Function; @@ -831,22 +860,22 @@ declare module "lodash" { value: T, customizer?: ?(value: T, key: number | string, object: T, stack: any) => U ): U; - conformsTo( + conformsTo( source: T, - predicates: T & { [key: string]: (x: any) => boolean } + predicates: T & { [key: string]: (x: any) => boolean, ... } ): boolean; eq(value: any, other: any): boolean; gt(value: any, other: any): boolean; gte(value: any, other: any): boolean; isArguments(value: void | null): false; isArguments(value: any): boolean; - isArray(value: $ReadOnlyArray): true; + isArray(value: Array): true; isArray(value: any): false; isArrayBuffer(value: ArrayBuffer): true; isArrayBuffer(value: any): false; - isArrayLike(value: $ReadOnlyArray | string | { length: number }): true; + isArrayLike(value: Array | string | { length: number, ... }): true; isArrayLike(value: any): false; - isArrayLikeObject(value: { length: number } | $ReadOnlyArray): true; + isArrayLikeObject(value: { length: number, ... } | Array): true; isArrayLikeObject(value: any): false; isBoolean(value: boolean): true; isBoolean(value: any): false; @@ -856,7 +885,7 @@ declare module "lodash" { isDate(value: any): false; isElement(value: Element): true; isElement(value: any): false; - isEmpty(value: void | null | "" | {} | [] | number | boolean): true; + isEmpty(value: void | null | "" | { ... } | [] | number | boolean): true; isEmpty(value: any): boolean; isEqual(value: any, other: any): boolean; isEqualWith( @@ -949,16 +978,16 @@ declare module "lodash" { ceil(number: number, precision?: number): number; divide(dividend: number, divisor: number): number; floor(number: number, precision?: number): number; - max(array: ?$ReadOnlyArray): T; + max(array: ?Array): T; maxBy(array: ?$ReadOnlyArray, iteratee?: Iteratee): T; - mean(array: $ReadOnlyArray<*>): number; + mean(array: Array<*>): number; meanBy(array: Array, iteratee?: Iteratee): number; - min(array: ?$ReadOnlyArray): T; + min(array: ?Array): T; minBy(array: ?$ReadOnlyArray, iteratee?: Iteratee): T; multiply(multiplier: number, multiplicand: number): number; round(number: number, precision?: number): number; subtract(minuend: number, subtrahend: number): number; - sum(array: $ReadOnlyArray<*>): number; + sum(array: Array<*>): number; sumBy(array: $ReadOnlyArray, iteratee?: Iteratee): number; // number @@ -969,12 +998,12 @@ declare module "lodash" { // Object assign(object?: ?Object, ...sources?: Array): Object; - assignIn(): {}; + assignIn(): { ... }; assignIn(a: A, b: B): A & B; assignIn(a: A, b: B, c: C): A & B & C; assignIn(a: A, b: B, c: C, d: D): A & B & C & D; assignIn(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; - assignInWith(): {}; + assignInWith(): { ... }; assignInWith( object: T, s1: A, @@ -1025,7 +1054,7 @@ declare module "lodash" { source: A | B | C | D ) => any | void ): Object; - assignWith(): {}; + assignWith(): { ... }; assignWith( object: T, s1: A, @@ -1076,11 +1105,11 @@ declare module "lodash" { source: A | B | C | D ) => any | void ): Object; - at(object?: ?Object, ...paths: $ReadOnlyArray): Array; - at(object?: ?Object, paths: $ReadOnlyArray): Array; - create(prototype: void | null, properties: void | null): {}; + at(object?: ?Object, ...paths: Array): Array; + at(object?: ?Object, paths: Array): Array; + create(prototype: void | null, properties: void | null): { ... }; create(prototype: T, properties: Object): T; - create(prototype: any, properties: void | null): {}; + create(prototype: any, properties: void | null): { ... }; defaults(object?: ?Object, ...sources?: Array): Object; defaultsDeep(object?: ?Object, ...sources?: Array): Object; // alias for _.toPairs @@ -1143,19 +1172,19 @@ declare module "lodash" { source: A | B | C | D ) => any | void ): Object; - findKey( + findKey( object: T, predicate?: ?OPredicate ): string | void; - findKey( + findKey( object: void | null, predicate?: ?OPredicate ): void; - findLastKey( + findLastKey( object: T, predicate?: ?OPredicate ): string | void; - findLastKey( + findLastKey( object: void | null, predicate?: ?OPredicate ): void; @@ -1181,23 +1210,19 @@ declare module "lodash" { hasIn(object: Object, path: void | null): false; hasIn(object: void | null, path?: ?Path): false; invert(object: Object, multiVal?: ?boolean): Object; - invert(object: void | null, multiVal?: ?boolean): {}; + invert(object: void | null, multiVal?: ?boolean): { ... }; invertBy(object: Object, iteratee?: ?Function): Object; - invertBy(object: void | null, iteratee?: ?Function): {}; - invoke( - object?: ?Object, - path?: ?Path, - ...args?: Array - ): any; - keys(object?: ?{ [key: K]: any }): Array; + invertBy(object: void | null, iteratee?: ?Function): { ... }; + invoke(object?: ?Object, path?: ?Path, ...args?: Array): any; + keys(object?: ?{ [key: K]: any, ... }): Array; keys(object?: ?Object): Array; keysIn(object?: ?Object): Array; mapKeys(object: Object, iteratee?: ?OIteratee<*>): Object; - mapKeys(object: void | null, iteratee?: ?OIteratee<*>): {}; + mapKeys(object: void | null, iteratee?: ?OIteratee<*>): { ... }; mapValues(object: Object, iteratee?: ?OIteratee<*>): Object; - mapValues(object: void | null, iteratee?: ?OIteratee<*>): {}; + mapValues(object: void | null, iteratee?: ?OIteratee<*>): { ... }; merge(object?: ?Object, ...sources?: Array): Object; - mergeWith(): {}; + mergeWith(): { ... }; mergeWith( object: T, customizer?: ( @@ -1247,31 +1272,23 @@ declare module "lodash" { source: A | B | C | D ) => any | void ): Object; - omit(object?: ?Object, ...props: $ReadOnlyArray): Object; - omit(object?: ?Object, props: $ReadOnlyArray): Object; - omitBy( + omit(object?: ?Object, ...props: Array): Object; + omit(object?: ?Object, props: Array): Object; + omitBy( object: T, predicate?: ?OPredicate ): Object; - omitBy(object: void | null, predicate?: ?OPredicate): {}; - pick(object?: ?Object, ...props: $ReadOnlyArray): Object; + omitBy(object: void | null, predicate?: ?OPredicate): { ... }; + pick(object?: ?Object, ...props: Array): Object; pick(object?: ?Object, props: $ReadOnlyArray): Object; - pickBy( + pickBy( object: T, predicate?: ?OPredicate ): Object; - pickBy(object: void | null, predicate?: ?OPredicate): {}; - result( - object?: ?Object, - path?: ?Path, - defaultValue?: any - ): any; + pickBy(object: void | null, predicate?: ?OPredicate): { ... }; + result(object?: ?Object, path?: ?Path, defaultValue?: any): any; set(object: Object, path?: ?Path, value: any): Object; - set( - object: T, - path?: ?Path, - value?: ?any - ): T; + set(object: T, path?: ?Path, value?: ?any): T; setWith( object: T, path?: ?Path, @@ -1295,15 +1312,11 @@ declare module "lodash" { collection: void | null, iteratee?: ?OIteratee<*>, accumulator?: ?any - ): {}; + ): { ... }; unset(object: void | null, path?: ?Path): true; unset(object: Object, path?: ?Path): boolean; update(object: Object, path: Path, updater: Function): Object; - update( - object: T, - path?: ?Path, - updater?: ?Function - ): T; + update(object: T, path?: ?Path, updater?: ?Function): T; updateWith( object: Object, path?: ?Path, @@ -1407,10 +1420,7 @@ declare module "lodash" { conforms(source?: ?Object): Function; constant(value: T): () => T; defaultTo(value: T1, defaultValue: T2): T2; - defaultTo( - value: T1, - defaultValue: T2 - ): T1; + defaultTo(value: T1, defaultValue: T2): T1; // NaN is a number instead of its own type, otherwise it would behave like null/void defaultTo(value: T1, defaultValue: T2): T1 | T2; flow: $ComposeReverse & ((funcs: Array) => Function); @@ -1424,7 +1434,7 @@ declare module "lodash" { mixin( object?: T, source: Object, - options?: { chain: boolean } + options?: { chain: boolean, ... } ): T; noConflict(): Lodash; noop(...args: Array): void; @@ -1445,7 +1455,7 @@ declare module "lodash" { stubArray(): Array<*>; stubFalse(): false; - stubObject(): {}; + stubObject(): { ... }; stubString(): ""; stubTrue(): true; times(n?: ?number, ...rest?: Array): Array; @@ -1600,29 +1610,33 @@ declare module "lodash/fp" { evaluate?: RegExp, imports?: Object, interpolate?: RegExp, - variable?: string + variable?: string, + ... }; declare type TruncateOptions = { length?: number, omission?: string, - separator?: RegExp | string + separator?: RegExp | string, + ... }; declare type DebounceOptions = { leading?: boolean, maxWait?: number, - trailing?: boolean + trailing?: boolean, + ... }; declare type ThrottleOptions = { leading?: boolean, - trailing?: boolean + trailing?: boolean, + ... }; declare type NestedArray = Array>; - declare type matchesIterateeShorthand = {[string | number]: any}; + declare type matchesIterateeShorthand = { [string | number]: any, ... }; declare type matchesPropertyIterateeShorthand = [string, any]; declare type propertyIterateeShorthand = string; @@ -1768,65 +1782,65 @@ declare module "lodash/fp" { ): number; // alias of _.head first(array: $ReadOnlyArray): T; - flatten(array: $ReadOnlyArray<$ReadOnlyArray | X>): Array; + flatten(array: Array | X>): Array; unnest(array: Array | X>): Array; flattenDeep(array: any[]): Array; flattenDepth(depth: number): (array: any[]) => any[]; flattenDepth(depth: number, array: any[]): any[]; - fromPairs(pairs: Array<[A, B]>): { [key: A]: B }; + fromPairs(pairs: Array<[A, B]>): { [key: A]: B, ... }; head(array: $ReadOnlyArray): T; - indexOf(value: T): (array: $ReadOnlyArray) => number; - indexOf(value: T, array: $ReadOnlyArray): number; + indexOf(value: T): (array: Array) => number; + indexOf(value: T, array: Array): number; indexOfFrom( value: T - ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & - ((fromIndex: number, array: $ReadOnlyArray) => number); - indexOfFrom(value: T, fromIndex: number): (array: $ReadOnlyArray) => number; - indexOfFrom(value: T, fromIndex: number, array: $ReadOnlyArray): number; - initial(array: $ReadOnlyArray): Array; + ): ((fromIndex: number) => (array: Array) => number) & + ((fromIndex: number, array: Array) => number); + indexOfFrom(value: T, fromIndex: number): (array: Array) => number; + indexOfFrom(value: T, fromIndex: number, array: Array): number; + initial(array: Array): Array; init(array: Array): Array; - intersection(a1: $ReadOnlyArray): (a2: $ReadOnlyArray) => Array; - intersection(a1: $ReadOnlyArray, a2: $ReadOnlyArray): Array; + intersection(a1: Array): (a2: Array) => Array; + intersection(a1: Array, a2: Array): Array; intersectionBy( iteratee: ValueOnlyIteratee - ): ((a1: $ReadOnlyArray) => (a2: $ReadOnlyArray) => Array) & - ((a1: $ReadOnlyArray, a2: $ReadOnlyArray) => Array); + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); intersectionBy( iteratee: ValueOnlyIteratee, - a1: $ReadOnlyArray + a1: Array ): (a2: Array) => Array; intersectionBy( iteratee: ValueOnlyIteratee, - a1: $ReadOnlyArray, - a2: $ReadOnlyArray + a1: Array, + a2: Array ): Array; intersectionWith( comparator: Comparator - ): ((a1: $ReadOnlyArray) => (a2: $ReadOnlyArray) => Array) & - ((a1: $ReadOnlyArray, a2: $ReadOnlyArray) => Array); + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); intersectionWith( comparator: Comparator, - a1: $ReadOnlyArray - ): (a2: $ReadOnlyArray) => Array; + a1: Array + ): (a2: Array) => Array; intersectionWith( comparator: Comparator, - a1: $ReadOnlyArray, - a2: $ReadOnlyArray + a1: Array, + a2: Array ): Array; - join(separator: string): (array: $ReadOnlyArray) => string; - join(separator: string, array: $ReadOnlyArray): string; - last(array: $ReadOnlyArray): T; - lastIndexOf(value: T): (array: $ReadOnlyArray) => number; - lastIndexOf(value: T, array: $ReadOnlyArray): number; + join(separator: string): (array: Array) => string; + join(separator: string, array: Array): string; + last(array: Array): T; + lastIndexOf(value: T): (array: Array) => number; + lastIndexOf(value: T, array: Array): number; lastIndexOfFrom( value: T - ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & - ((fromIndex: number, array: $ReadOnlyArray) => number); + ): ((fromIndex: number) => (array: Array) => number) & + ((fromIndex: number, array: Array) => number); lastIndexOfFrom( value: T, fromIndex: number - ): (array: $ReadOnlyArray) => number; - lastIndexOfFrom(value: T, fromIndex: number, array: $ReadOnlyArray): number; + ): (array: Array) => number; + lastIndexOfFrom(value: T, fromIndex: number, array: Array): number; nth(n: number): (array: T[]) => T; nth(n: number, array: T[]): T; pull(value: T): (array: Array) => Array; @@ -1859,154 +1873,156 @@ declare module "lodash/fp" { reverse(array: Array): Array; slice( start: number - ): ((end: number) => (array: $ReadOnlyArray) => Array) & - ((end: number, array: $ReadOnlyArray) => Array); - slice(start: number, end: number): (array: $ReadOnlyArray) => Array; - slice(start: number, end: number, array: $ReadOnlyArray): Array; - sortedIndex(value: T): (array: $ReadOnlyArray) => number; - sortedIndex(value: T, array: $ReadOnlyArray): number; + ): ((end: number) => (array: Array) => Array) & + ((end: number, array: Array) => Array); + slice(start: number, end: number): (array: Array) => Array; + slice(start: number, end: number, array: Array): Array; + sortedIndex(value: T): (array: Array) => number; + sortedIndex(value: T, array: Array): number; sortedIndexBy( iteratee: ValueOnlyIteratee - ): ((value: T) => (array: $ReadOnlyArray) => number) & + ): ((value: T) => (array: Array) => number) & ((value: T, array: Array) => number); sortedIndexBy( iteratee: ValueOnlyIteratee, value: T - ): (array: $ReadOnlyArray) => number; + ): (array: Array) => number; sortedIndexBy( iteratee: ValueOnlyIteratee, value: T, - array: $ReadOnlyArray + array: Array ): number; - sortedIndexOf(value: T): (array: $ReadOnlyArray) => number; - sortedIndexOf(value: T, array: $ReadOnlyArray): number; - sortedLastIndex(value: T): (array: $ReadOnlyArray) => number; - sortedLastIndex(value: T, array: $ReadOnlyArray): number; + sortedIndexOf(value: T): (array: Array) => number; + sortedIndexOf(value: T, array: Array): number; + sortedLastIndex(value: T): (array: Array) => number; + sortedLastIndex(value: T, array: Array): number; sortedLastIndexBy( iteratee: ValueOnlyIteratee - ): ((value: T) => (array: $ReadOnlyArray) => number) & + ): ((value: T) => (array: Array) => number) & ((value: T, array: Array) => number); sortedLastIndexBy( iteratee: ValueOnlyIteratee, value: T - ): (array: $ReadOnlyArray) => number; + ): (array: Array) => number; sortedLastIndexBy( iteratee: ValueOnlyIteratee, value: T, - array: $ReadOnlyArray + array: Array ): number; - sortedLastIndexOf(value: T): (array: $ReadOnlyArray) => number; - sortedLastIndexOf(value: T, array: $ReadOnlyArray): number; - sortedUniq(array: $ReadOnlyArray): Array; - sortedUniqBy(iteratee: ValueOnlyIteratee, array: $ReadOnlyArray): Array; - tail(array: $ReadOnlyArray): Array; + sortedLastIndexOf(value: T): (array: Array) => number; + sortedLastIndexOf(value: T, array: Array): number; + sortedUniq(array: Array): Array; + sortedUniqBy(iteratee: ValueOnlyIteratee, array: Array): Array; + tail(array: Array): Array; take(n: number): (array: $ReadOnlyArray) => Array; take(n: number, array: $ReadOnlyArray): Array; takeRight(n: number): (array: $ReadOnlyArray) => Array; takeRight(n: number, array: $ReadOnlyArray): Array; - takeLast(n: number): (array: $ReadOnlyArray) => Array; - takeLast(n: number, array: $ReadOnlyArray): Array; + takeLast(n: number): (array: Array) => Array; + takeLast(n: number, array: Array): Array; takeRightWhile(predicate: Predicate): (array: Array) => Array; takeRightWhile(predicate: Predicate, array: Array): Array; takeLastWhile(predicate: Predicate): (array: Array) => Array; takeLastWhile(predicate: Predicate, array: Array): Array; takeWhile(predicate: Predicate): (array: Array) => Array; takeWhile(predicate: Predicate, array: Array): Array; - union(a1: $ReadOnlyArray): (a2: Array) => Array; - union(a1: $ReadOnlyArray, a2: $ReadOnlyArray): Array; + union(a1: Array): (a2: Array) => Array; + union(a1: Array, a2: Array): Array; unionBy( iteratee: ValueOnlyIteratee - ): ((a1: $ReadOnlyArray) => (a2: $ReadOnlyArray) => Array) & - ((a1: $ReadOnlyArray, a2: $ReadOnlyArray) => Array); + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); unionBy( iteratee: ValueOnlyIteratee, - a1: $ReadOnlyArray - ): (a2: $ReadOnlyArray) => Array; + a1: Array + ): (a2: Array) => Array; unionBy( iteratee: ValueOnlyIteratee, - a1: $ReadOnlyArray, - a2: $ReadOnlyArray + a1: Array, + a2: Array ): Array; unionWith( comparator: Comparator - ): ((a1: $ReadOnlyArray) => (a2: $ReadOnlyArray) => Array) & - ((a1: $ReadOnlyArray, a2: $ReadOnlyArray) => Array); + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); unionWith( comparator: Comparator, - a1: $ReadOnlyArray - ): (a2: $ReadOnlyArray) => Array; + a1: Array + ): (a2: Array) => Array; unionWith( comparator: Comparator, - a1: $ReadOnlyArray, - a2: $ReadOnlyArray + a1: Array, + a2: Array ): Array; - uniq(array: $ReadOnlyArray): Array; - uniqBy(iteratee: ValueOnlyIteratee): (array: $ReadOnlyArray) => Array; - uniqBy(iteratee: ValueOnlyIteratee, array: $ReadOnlyArray): Array; - uniqWith(comparator: Comparator): (array: $ReadOnlyArray) => Array; - uniqWith(comparator: Comparator, array: $ReadOnlyArray): Array; - unzip(array: $ReadOnlyArray): Array; + uniq(array: Array): Array; + uniqBy(iteratee: ValueOnlyIteratee): (array: Array) => Array; + uniqBy(iteratee: ValueOnlyIteratee, array: Array): Array; + uniqWith(comparator: Comparator): (array: Array) => Array; + uniqWith(comparator: Comparator, array: Array): Array; + unzip(array: Array): Array; unzipWith(iteratee: Iteratee): (array: Array) => Array; unzipWith(iteratee: Iteratee, array: Array): Array; - without(values: $ReadOnlyArray): (array: $ReadOnlyArray) => Array; - without(values: $ReadOnlyArray, array: $ReadOnlyArray): Array; - xor(a1: $ReadOnlyArray): (a2: $ReadOnlyArray) => Array; - xor(a1: $ReadOnlyArray, a2: $ReadOnlyArray): Array; - symmetricDifference(a1: $ReadOnlyArray): (a2: $ReadOnlyArray) => Array; - symmetricDifference(a1: $ReadOnlyArray, a2: $ReadOnlyArray): Array; + without(values: Array): (array: Array) => Array; + without(values: Array, array: Array): Array; + xor(a1: Array): (a2: Array) => Array; + xor(a1: Array, a2: Array): Array; + symmetricDifference(a1: Array): (a2: Array) => Array; + symmetricDifference(a1: Array, a2: Array): Array; xorBy( iteratee: ValueOnlyIteratee - ): ((a1: $ReadOnlyArray) => (a2: $ReadOnlyArray) => Array) & - ((a1: $ReadOnlyArray, a2: $ReadOnlyArray) => Array); + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); xorBy( iteratee: ValueOnlyIteratee, - a1: $ReadOnlyArray - ): (a2: $ReadOnlyArray) => Array; + a1: Array + ): (a2: Array) => Array; xorBy( iteratee: ValueOnlyIteratee, - a1: $ReadOnlyArray, - a2: $ReadOnlyArray + a1: Array, + a2: Array ): Array; symmetricDifferenceBy( iteratee: ValueOnlyIteratee - ): ((a1: $ReadOnlyArray) => (a2: $ReadOnlyArray) => Array) & - ((a1: $ReadOnlyArray, a2: $ReadOnlyArray) => Array); + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); symmetricDifferenceBy( iteratee: ValueOnlyIteratee, - a1: $ReadOnlyArray + a1: Array ): (a2: Array) => Array; symmetricDifferenceBy( iteratee: ValueOnlyIteratee, - a1: $ReadOnlyArray, - a2: $ReadOnlyArray + a1: Array, + a2: Array ): Array; xorWith( comparator: Comparator - ): ((a1: $ReadOnlyArray) => (a2: $ReadOnlyArray) => Array) & - ((a1: $ReadOnlyArray, a2: $ReadOnlyArray) => Array); + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); xorWith( comparator: Comparator, - a1: $ReadOnlyArray - ): (a2: $ReadOnlyArray) => Array; - xorWith(comparator: Comparator, a1: $ReadOnlyArray, a2: $ReadOnlyArray): Array; + a1: Array + ): (a2: Array) => Array; + xorWith(comparator: Comparator, a1: Array, a2: Array): Array; symmetricDifferenceWith( comparator: Comparator - ): ((a1: $ReadOnlyArray) => (a2: $ReadOnlyArray) => Array) & - ((a1: $ReadOnlyArray, a2: $ReadOnlyArray) => Array); + ): ((a1: Array) => (a2: Array) => Array) & + ((a1: Array, a2: Array) => Array); symmetricDifferenceWith( comparator: Comparator, - a1: $ReadOnlyArray - ): (a2: $ReadOnlyArray) => Array; + a1: Array + ): (a2: Array) => Array; symmetricDifferenceWith( comparator: Comparator, - a1: $ReadOnlyArray, - a2: $ReadOnlyArray + a1: Array, + a2: Array ): Array; - zip(a1: $ReadOnlyArray): (a2: $ReadOnlyArray) => Array<[A, B]>; - zip(a1: $ReadOnlyArray, a2: $ReadOnlyArray): Array<[A, B]>; - zipAll(arrays: $ReadOnlyArray<$ReadOnlyArray>): Array; - zipObject(props?: $ReadOnlyArray): (values?: $ReadOnlyArray) => { [key: K]: V }; - zipObject(props?: $ReadOnlyArray, values?: $ReadOnlyArray): { [key: K]: V }; + zip(a1: A[]): (a2: B[]) => Array<[A, B]>; + zip(a1: A[], a2: B[]): Array<[A, B]>; + zipAll(arrays: Array>): Array; + zipObject( + props?: Array + ): (values?: Array) => { [key: K]: V, ... }; + zipObject(props?: Array, values?: Array): { [key: K]: V, ... }; zipObj(props: Array): (values: Array) => Object; zipObj(props: Array, values: Array): Object; zipObjectDeep(props: any[]): (values: any) => Object; @@ -2027,158 +2043,173 @@ declare module "lodash/fp" { // Collection countBy( iteratee: ValueOnlyIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => { [string]: number }; + ): ( + collection: Array | { [id: any]: T, ... } + ) => { [string]: number, ... }; countBy( iteratee: ValueOnlyIteratee, - collection: $ReadOnlyArray | { [id: any]: T } - ): { [string]: number }; + collection: Array | { [id: any]: T, ... } + ): { [string]: number, ... }; // alias of _.forEach each( iteratee: Iteratee | OIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array; each( iteratee: Iteratee | OIteratee, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): Array; // alias of _.forEachRight eachRight( iteratee: Iteratee | OIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array; eachRight( iteratee: Iteratee | OIteratee, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): Array; every( iteratee: Iteratee | OIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => boolean; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => boolean; every( iteratee: Iteratee | OIteratee, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): boolean; all( iteratee: Iteratee | OIteratee - ): (collection: Array | { [id: any]: T }) => boolean; + ): (collection: Array | { [id: any]: T, ... }) => boolean; all( iteratee: Iteratee | OIteratee, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): boolean; filter( predicate: Predicate | OPredicate - ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array; filter( predicate: Predicate | OPredicate, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): Array; find( predicate: Predicate | OPredicate - ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => T | void; find( predicate: Predicate | OPredicate, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): T | void; findFrom( predicate: Predicate | OPredicate ): (( fromIndex: number - ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & + ) => (collection: $ReadOnlyArray | { [id: any]: T, ... }) => T | void) & (( fromIndex: number, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ) => T | void); findFrom( predicate: Predicate | OPredicate, fromIndex: number - ): (collection: Array | { [id: any]: T }) => T | void; + ): (collection: Array | { [id: any]: T, ... }) => T | void; findFrom( predicate: Predicate | OPredicate, fromIndex: number, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): T | void; findLast( predicate: Predicate | OPredicate - ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => T | void; findLast( predicate: Predicate | OPredicate, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): T | void; findLastFrom( predicate: Predicate | OPredicate ): (( fromIndex: number - ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & + ) => (collection: $ReadOnlyArray | { [id: any]: T, ... }) => T | void) & (( fromIndex: number, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ) => T | void); findLastFrom( predicate: Predicate | OPredicate, fromIndex: number - ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => T | void; findLastFrom( predicate: Predicate | OPredicate, fromIndex: number, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): T | void; flatMap( iteratee: FlatMapIteratee | OFlatMapIteratee - ): (collection: Array | { [id: any]: T }) => Array; + ): (collection: Array | { [id: any]: T, ... }) => Array; flatMap( iteratee: FlatMapIteratee | OFlatMapIteratee, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): Array; flatMapDeep( iteratee: FlatMapIteratee | OFlatMapIteratee - ): (collection: Array | { [id: any]: T }) => Array; + ): (collection: Array | { [id: any]: T, ... }) => Array; flatMapDeep( iteratee: FlatMapIteratee | OFlatMapIteratee, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): Array; flatMapDepth( iteratee: FlatMapIteratee | OFlatMapIteratee ): (( depth: number - ) => (collection: Array | { [id: any]: T }) => Array) & - ((depth: number, collection: Array | { [id: any]: T }) => Array); + ) => (collection: Array | { [id: any]: T, ... }) => Array) & + (( + depth: number, + collection: Array | { [id: any]: T, ... } + ) => Array); flatMapDepth( iteratee: FlatMapIteratee | OFlatMapIteratee, depth: number - ): (collection: Array | { [id: any]: T }) => Array; + ): (collection: Array | { [id: any]: T, ... }) => Array; flatMapDepth( iteratee: FlatMapIteratee | OFlatMapIteratee, depth: number, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): Array; forEach( iteratee: Iteratee | OIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array; forEach( iteratee: Iteratee | OIteratee, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): Array; forEachRight( iteratee: Iteratee | OIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array; forEachRight( iteratee: Iteratee | OIteratee, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): Array; groupBy( iteratee: ValueOnlyIteratee ): ( - collection: $ReadOnlyArray | { [id: any]: T } - ) => { [key: V]: Array }; + collection: $ReadOnlyArray | { [id: any]: T, ... } + ) => { [key: V]: Array, ... }; groupBy( iteratee: ValueOnlyIteratee, - collection: $ReadOnlyArray | { [id: any]: T } - ): { [key: V]: Array }; - includes(value: T): (collection: Array | { [id: any]: T }) => boolean; - includes(value: T, collection: Array | { [id: any]: T }): boolean; + collection: $ReadOnlyArray | { [id: any]: T, ... } + ): { [key: V]: Array, ... }; + includes( + value: T + ): (collection: Array | { [id: any]: T, ... }) => boolean; + includes( + value: T, + collection: Array | { [id: any]: T, ... } + ): boolean; includes(value: string): (str: string) => boolean; includes(value: string, str: string): boolean; contains(value: string): (str: string) => boolean; contains(value: string, str: string): boolean; - contains(value: T): (collection: Array | { [id: any]: T }) => boolean; - contains(value: T, collection: Array | { [id: any]: T }): boolean; + contains( + value: T + ): (collection: Array | { [id: any]: T, ... }) => boolean; + contains( + value: T, + collection: Array | { [id: any]: T, ... } + ): boolean; includesFrom( value: string ): ((fromIndex: number) => (str: string) => boolean) & @@ -2196,58 +2227,62 @@ declare module "lodash/fp" { includesFrom(value: T, fromIndex: number, collection: Array): boolean; invokeMap( path: ((value: T) => Path) | Path - ): (collection: Array | { [id: any]: T }) => Array; + ): (collection: Array | { [id: any]: T, ... }) => Array; invokeMap( path: ((value: T) => Path) | Path, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): Array; invokeArgsMap( path: ((value: T) => Path) | Path ): (( - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ) => (args: Array) => Array) & (( - collection: Array | { [id: any]: T }, + collection: Array | { [id: any]: T, ... }, args: Array ) => Array); invokeArgsMap( path: ((value: T) => Path) | Path, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): (args: Array) => Array; invokeArgsMap( path: ((value: T) => Path) | Path, - collection: Array | { [id: any]: T }, + collection: Array | { [id: any]: T, ... }, args: Array ): Array; keyBy( iteratee: ValueOnlyIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => { [key: V]: T }; + ): ( + collection: $ReadOnlyArray | { [id: any]: T, ... } + ) => { [key: V]: T, ... }; keyBy( iteratee: ValueOnlyIteratee, - collection: $ReadOnlyArray | { [id: any]: T } - ): { [key: V]: T }; + collection: $ReadOnlyArray | { [id: any]: T, ... } + ): { [key: V]: T, ... }; indexBy( iteratee: ValueOnlyIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => { [key: V]: T }; + ): ( + collection: $ReadOnlyArray | { [id: any]: T, ... } + ) => { [key: V]: T, ... }; indexBy( iteratee: ValueOnlyIteratee, - collection: $ReadOnlyArray | { [id: any]: T } - ): { [key: V]: T }; + collection: $ReadOnlyArray | { [id: any]: T, ... } + ): { [key: V]: T, ... }; map( iteratee: MapIterator | OMapIterator - ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array; map( iteratee: MapIterator | OMapIterator, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): Array; map(iteratee: (char: string) => any): (str: string) => string; map(iteratee: (char: string) => any, str: string): string; pluck( iteratee: MapIterator | OMapIterator - ): (collection: Array | { [id: any]: T }) => Array; + ): (collection: Array | { [id: any]: T, ... }) => Array; pluck( iteratee: MapIterator | OMapIterator, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): Array; pluck(iteratee: (char: string) => any): (str: string) => string; pluck(iteratee: (char: string) => any, str: string): string; @@ -2255,93 +2290,100 @@ declare module "lodash/fp" { iteratees: $ReadOnlyArray | OIteratee<*>> | string ): (( orders: $ReadOnlyArray<"asc" | "desc"> | string - ) => (collection: $ReadOnlyArray | { [id: any]: T }) => Array) & + ) => (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array) & (( orders: $ReadOnlyArray<"asc" | "desc"> | string, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ) => Array); orderBy( iteratees: $ReadOnlyArray | OIteratee<*>> | string, orders: $ReadOnlyArray<"asc" | "desc"> | string - ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array; orderBy( iteratees: $ReadOnlyArray | OIteratee<*>> | string, orders: $ReadOnlyArray<"asc" | "desc"> | string, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): Array; partition( predicate: Predicate | OPredicate - ): (collection: Array | { [id: any]: T }) => [Array, Array]; + ): (collection: Array | { [id: any]: T, ... }) => [Array, Array]; partition( predicate: Predicate | OPredicate, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): [Array, Array]; reduce( iteratee: (accumulator: U, value: T) => U - ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & - ((accumulator: U, collection: Array | { [id: any]: T }) => U); + ): (( + accumulator: U + ) => (collection: Array | { [id: any]: T, ... }) => U) & + ((accumulator: U, collection: Array | { [id: any]: T, ... }) => U); reduce( iteratee: (accumulator: U, value: T) => U, accumulator: U - ): (collection: Array | { [id: any]: T }) => U; + ): (collection: Array | { [id: any]: T, ... }) => U; reduce( iteratee: (accumulator: U, value: T) => U, accumulator: U, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): U; reduceRight( iteratee: (value: T, accumulator: U) => U - ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & - ((accumulator: U, collection: Array | { [id: any]: T }) => U); + ): (( + accumulator: U + ) => (collection: Array | { [id: any]: T, ... }) => U) & + ((accumulator: U, collection: Array | { [id: any]: T, ... }) => U); reduceRight( iteratee: (value: T, accumulator: U) => U, accumulator: U - ): (collection: Array | { [id: any]: T }) => U; + ): (collection: Array | { [id: any]: T, ... }) => U; reduceRight( iteratee: (value: T, accumulator: U) => U, accumulator: U, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): U; reject( predicate: Predicate | OPredicate - ): (collection: Array | { [id: any]: T }) => Array; + ): (collection: Array | { [id: any]: T, ... }) => Array; reject( predicate: Predicate | OPredicate, - collection: Array | { [id: any]: T } + collection: Array | { [id: any]: T, ... } ): Array; - sample(collection: Array | { [id: any]: T }): T; + sample(collection: Array | { [id: any]: T, ... }): T; sampleSize( n: number - ): (collection: Array | { [id: any]: T }) => Array; - sampleSize(n: number, collection: Array | { [id: any]: T }): Array; - shuffle(collection: Array | { [id: any]: T }): Array; + ): (collection: Array | { [id: any]: T, ... }) => Array; + sampleSize( + n: number, + collection: Array | { [id: any]: T, ... } + ): Array; + shuffle(collection: Array | { [id: any]: T, ... }): Array; size(collection: $ReadOnlyArray | Object | string): number; some( predicate: Predicate | OPredicate - ): (collection: $ReadOnlyArray | { [id: any]: T }) => boolean; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => boolean; some( predicate: Predicate | OPredicate, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): boolean; any( predicate: Predicate | OPredicate - ): (collection: $ReadOnlyArray | { [id: any]: T }) => boolean; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => boolean; any( predicate: Predicate | OPredicate, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): boolean; sortBy( iteratees: | $ReadOnlyArray | OIteratee> | Iteratee | OIteratee - ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; + ): (collection: $ReadOnlyArray | { [id: any]: T, ... }) => Array; sortBy( iteratees: | $ReadOnlyArray | OIteratee> | Iteratee | OIteratee, - collection: $ReadOnlyArray | { [id: any]: T } + collection: $ReadOnlyArray | { [id: any]: T, ... } ): Array; // Date @@ -2395,7 +2437,7 @@ declare module "lodash/fp" { spreadFrom(start: number, func: Function): Function; throttle(wait: number): (func: (...A) => R) => (...A) => R; throttle(wait: number, func: (...A) => R): (...A) => R; - unary(func: (T, ...any[]) => R): (T) => R; + unary(func: (T, ...any[]) => R): T => R; wrap(wrapper: Function): (value: any) => Function; wrap(wrapper: Function, value: any): Function; @@ -2417,25 +2459,25 @@ declare module "lodash/fp" { customizer: (value: T, key: number | string, object: T, stack: any) => U, value: T ): U; - conformsTo( - predicates: T & { [key: string]: (x: any) => boolean } + conformsTo( + predicates: T & { [key: string]: (x: any) => boolean, ... } ): (source: T) => boolean; - conformsTo( - predicates: T & { [key: string]: (x: any) => boolean }, + conformsTo( + predicates: T & { [key: string]: (x: any) => boolean, ... }, source: T ): boolean; - where( - predicates: T & { [key: string]: (x: any) => boolean } + where( + predicates: T & { [key: string]: (x: any) => boolean, ... } ): (source: T) => boolean; - where( - predicates: T & { [key: string]: (x: any) => boolean }, + where( + predicates: T & { [key: string]: (x: any) => boolean, ... }, source: T ): boolean; - conforms( - predicates: T & { [key: string]: (x: any) => boolean } + conforms( + predicates: T & { [key: string]: (x: any) => boolean, ... } ): (source: T) => boolean; - conforms( - predicates: T & { [key: string]: (x: any) => boolean }, + conforms( + predicates: T & { [key: string]: (x: any) => boolean, ... }, source: T ): boolean; eq(value: any): (other: any) => boolean; @@ -2783,17 +2825,17 @@ declare module "lodash/fp" { object: T, s1: A ): Object; - findKey( + findKey( predicate: OPredicate ): (object: T) => string | void; - findKey( + findKey( predicate: OPredicate, object: T ): string | void; - findLastKey( + findLastKey( predicate: OPredicate ): (object: T) => string | void; - findLastKey( + findLastKey( predicate: OPredicate, object: T ): string | void; @@ -2810,23 +2852,15 @@ declare module "lodash/fp" { get( path: Path ): (object: Object | $ReadOnlyArray | void | null) => any; - get( - path: Path, - object: Object | $ReadOnlyArray | void | null - ): any; + get(path: Path, object: Object | $ReadOnlyArray | void | null): any; prop(path: Path): (object: Object | Array) => any; prop(path: Path, object: Object | Array): any; path(path: Path): (object: Object | Array) => any; path(path: Path, object: Object | Array): any; getOr( defaultValue: any - ): (( - path: Path - ) => (object: Object | Array) => any) & - (( - path: Path, - object: Object | $ReadOnlyArray | void | null - ) => any); + ): ((path: Path) => (object: Object | Array) => any) & + ((path: Path, object: Object | $ReadOnlyArray | void | null) => any); getOr( defaultValue: any, path: Path @@ -2838,34 +2872,16 @@ declare module "lodash/fp" { ): any; propOr( defaultValue: any - ): (( - path: Path - ) => (object: Object | Array) => any) & + ): ((path: Path) => (object: Object | Array) => any) & ((path: Path, object: Object | Array) => any); - propOr( - defaultValue: any, - path: Path - ): (object: Object | Array) => any; - propOr( - defaultValue: any, - path: Path, - object: Object | Array - ): any; + propOr(defaultValue: any, path: Path): (object: Object | Array) => any; + propOr(defaultValue: any, path: Path, object: Object | Array): any; pathOr( defaultValue: any - ): (( - path: Path - ) => (object: Object | Array) => any) & + ): ((path: Path) => (object: Object | Array) => any) & ((path: Path, object: Object | Array) => any); - pathOr( - defaultValue: any, - path: Path - ): (object: Object | Array) => any; - pathOr( - defaultValue: any, - path: Path, - object: Object | Array - ): any; + pathOr(defaultValue: any, path: Path): (object: Object | Array) => any; + pathOr(defaultValue: any, path: Path, object: Object | Array): any; has(path: Path): (object: Object) => boolean; has(path: Path, object: Object): boolean; hasIn(path: Path): (object: Object) => boolean; @@ -2880,16 +2896,9 @@ declare module "lodash/fp" { path: Path ): ((object: Object) => (args: Array) => any) & ((object: Object, args: Array) => any); - invokeArgs( - path: Path, - object: Object - ): (args: Array) => any; - invokeArgs( - path: Path, - object: Object, - args: Array - ): any; - keys(object: { [key: K]: any }): Array; + invokeArgs(path: Path, object: Object): (args: Array) => any; + invokeArgs(path: Path, object: Object, args: Array): any; + keys(object: { [key: K]: any, ... }): Array; keys(object: Object): Array; keysIn(object: Object): Array; mapKeys(iteratee: OIteratee<*>): (object: Object) => Object; @@ -2952,20 +2961,26 @@ declare module "lodash/fp" { omit(props: Array, object: Object): Object; omitAll(props: Array): (object: Object) => Object; omitAll(props: Array, object: Object): Object; - omitBy( + omitBy( predicate: OPredicate ): (object: T) => Object; - omitBy(predicate: OPredicate, object: T): Object; - pick(...props: Array): Object; + omitBy( + predicate: OPredicate, + object: T + ): Object; + pick(...props: Array): Object; pick(props: $ReadOnlyArray, object: Object): Object; pick(...props: Array): (object: Object) => Object; pick(props: $ReadOnlyArray): (object: Object) => Object; pickAll(props: Array): (object: Object) => Object; pickAll(props: Array, object: Object): Object; - pickBy( + pickBy( predicate: OPredicate ): (object: T) => Object; - pickBy(predicate: OPredicate, object: T): Object; + pickBy( + predicate: OPredicate, + object: T + ): Object; result(path: Path): (object: Object) => any; result(path: Path, object: Object): any; set( @@ -2984,10 +2999,7 @@ declare module "lodash/fp" { path: Path ): ((value: any) => (object: Object) => Object) & ((value: any, object: Object) => Object); - assocPath( - path: Path, - value: any - ): (object: Object) => Object; + assocPath(path: Path, value: any): (object: Object) => Object; assocPath(path: Path, value: any, object: Object): Object; setWith( customizer: (nsValue: any, key: string, nsObject: T) => any @@ -3040,10 +3052,7 @@ declare module "lodash/fp" { path: Path ): ((updater: Function) => (object: Object) => Object) & ((updater: Function, object: Object) => Object); - update( - path: Path, - updater: Function - ): (object: Object) => Object; + update(path: Path, updater: Function): (object: Object) => Object; update(path: Path, updater: Function, object: Object): Object; updateWith( customizer: Function @@ -3051,10 +3060,7 @@ declare module "lodash/fp" { path: Path ) => ((updater: Function) => (object: Object) => Object) & ((updater: Function, object: Object) => Object)) & - (( - path: Path, - updater: Function - ) => (object: Object) => Object) & + ((path: Path, updater: Function) => (object: Object) => Object) & ((path: Path, updater: Function, object: Object) => Object); updateWith( customizer: Function, @@ -3171,13 +3177,8 @@ declare module "lodash/fp" { always(value: T): () => T; defaultTo(defaultValue: T2): (value: T1) => T2; defaultTo(defaultValue: T2, value: T1): T2; - defaultTo( - defaultValue: T2 - ): (value: T1) => T1; - defaultTo( - defaultValue: T2, - value: T1 - ): T1; + defaultTo(defaultValue: T2): (value: T1) => T1; + defaultTo(defaultValue: T2, value: T1): T1; // NaN is a number instead of its own type, otherwise it would behave like null/void defaultTo(defaultValue: T2): (value: T1) => T1 | T2; defaultTo(defaultValue: T2, value: T1): T1 | T2; @@ -3200,16 +3201,16 @@ declare module "lodash/fp" { methodOf(object: Object): Function; mixin( object: T - ): ((source: Object) => (options: { chain: boolean }) => T) & - ((source: Object, options: { chain: boolean }) => T); + ): ((source: Object) => (options: { chain: boolean, ... }) => T) & + ((source: Object, options: { chain: boolean, ... }) => T); mixin( object: T, source: Object - ): (options: { chain: boolean }) => T; + ): (options: { chain: boolean, ... }) => T; mixin( object: T, source: Object, - options: { chain: boolean } + options: { chain: boolean, ... } ): T; noConflict(): Lodash; noop(...args: Array): void; @@ -3220,9 +3221,7 @@ declare module "lodash/fp" { allPass(predicates: Array): Function; overSome(predicates: Array): Function; anyPass(predicates: Array): Function; - property( - path: Path - ): (object: Object | Array) => any; + property(path: Path): (object: Object | Array) => any; property(path: Path, object: Object | Array): any; propertyOf(object: Object): (path: Path) => Function; propertyOf(object: Object, path: Path): Function; @@ -3247,7 +3246,7 @@ declare module "lodash/fp" { stubArray(): Array<*>; stubFalse(): false; F(): false; - stubObject(): {}; + stubObject(): { ... }; stubString(): ""; stubTrue(): true; T(): true; @@ -3264,7 +3263,8 @@ declare module "lodash/fp" { curry?: boolean, fixed?: boolean, immutable?: boolean, - rearg?: boolean + rearg?: boolean, + ... }): void; // Properties diff --git a/flow-typed/npm/nodejs-mobile-react-native_vx.x.x.js b/flow-typed/npm/nodejs-mobile-react-native_vx.x.x.js index aac8fea04..0d8d6fd9e 100644 --- a/flow-typed/npm/nodejs-mobile-react-native_vx.x.x.js +++ b/flow-typed/npm/nodejs-mobile-react-native_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: a0469f06dff4dc51b86eaecc7a89c309 -// flow-typed version: <>/nodejs-mobile-react-native_v^0.4.3/flow_v0.98.0 +// flow-typed signature: 9b018774ad2f63e426e6ee58b2c1dde7 +// flow-typed version: <>/nodejs-mobile-react-native_v^0.5.0/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'nodejs-mobile-react-native' { +declare module "nodejs-mobile-react-native" { declare module.exports: any; } @@ -22,186 +22,534 @@ declare module 'nodejs-mobile-react-native' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/constants' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/constants" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/loader' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/loader" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/binding' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/binding" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/chained-batch' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/chained-batch" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/iterator' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/iterator" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/leveldown' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/leveldown" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/example/example' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/example/example" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/bin' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/bin" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/build-test' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/build-test" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/optional' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/optional" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/server' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/example/example" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/status' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/install/resources/nodejs-assets/nodejs-project/sample-main' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/bin" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/build-test" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/create-node-structure' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/ios-create-plists-and-dlopen-override' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/optional" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/module-postlink' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/server" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/override-dlopen-paths-preload' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/status" { declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/patch-package' { +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/builtin_modules/rn-bridge" { declare module.exports: any; } -// Filename aliases -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge/index' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge'>; -} -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge/index.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge'>; +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/constants" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/constants.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/constants'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/index' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/loader" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/index.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/binding" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/loader.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/loader'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/chained-batch" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/binding.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/binding'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/iterator" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/chained-batch.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/chained-batch'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/leveldown" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/iterator.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/iterator'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/example/example" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/leveldown.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/leveldown'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/example/example.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/example/example'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/bin" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/index' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/build-test" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/index.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/bin.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/bin'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/optional" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/build-test.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/build-test'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/napi-macros/example/example" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/index' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/napi-macros" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/index.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/bin" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/optional.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/optional'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/build-test" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/server.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/server'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/status.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/status'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/optional" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/index' { - declare module.exports: $Exports<'nodejs-mobile-react-native'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/server" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/index.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native'>; + +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/status" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/install/resources/nodejs-assets/nodejs-project/sample-main.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/install/resources/nodejs-assets/nodejs-project/sample-main'>; + +declare module "nodejs-mobile-react-native/install/resources/nodejs-assets/nodejs-project/sample-main" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge/index' { - declare module.exports: $Exports<'nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge'>; + +declare module "nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge/index.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge'>; + +declare module "nodejs-mobile-react-native/react-native.config" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/create-node-structure.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/scripts/create-node-structure'>; + +declare module "nodejs-mobile-react-native/scripts/create-node-structure" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/ios-create-plists-and-dlopen-override.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/scripts/ios-create-plists-and-dlopen-override'>; + +declare module "nodejs-mobile-react-native/scripts/ios-create-plists-and-dlopen-override" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/module-postlink.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/scripts/module-postlink'>; + +declare module "nodejs-mobile-react-native/scripts/override-dlopen-paths-preload" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/override-dlopen-paths-preload.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/scripts/override-dlopen-paths-preload'>; + +declare module "nodejs-mobile-react-native/scripts/patch-package" { + declare module.exports: any; } -declare module 'nodejs-mobile-react-native/scripts/patch-package.js' { - declare module.exports: $Exports<'nodejs-mobile-react-native/scripts/patch-package'>; + +// Filename aliases +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/builtin_modules/rn-bridge" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/constants.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/constants" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/loader.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/loader" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/binding.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/binding" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/chained-batch.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/chained-batch" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/iterator.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/iterator" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/leveldown.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/leveldown" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/example/example.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/example/example" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/bin.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/bin" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/build-test.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/build-test" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/optional.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/optional" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/example/example.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/example/example" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/napi-macros" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/bin.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/bin" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/build-test.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/build-test" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/optional.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/node_modules/node-gyp-build/optional" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/server.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/server" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/status.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/debug/out/nodejs-project/status" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/builtin_modules/rn-bridge/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/builtin_modules/rn-bridge" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/builtin_modules/rn-bridge/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/builtin_modules/rn-bridge" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/constants.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/constants" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/loader.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/loader" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/binding.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/binding" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/chained-batch.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/chained-batch" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/iterator.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/iterator" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/leveldown.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/leveldown" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/example/example.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/example/example" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/napi-macros" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/bin.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/bin" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/build-test.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/build-test" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/optional.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/leveldown/node_modules/node-gyp-build/optional" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/napi-macros/example/example.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/napi-macros/example/example" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/napi-macros/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/napi-macros" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/napi-macros/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/napi-macros" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/bin.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/bin" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/build-test.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/build-test" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/optional.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/node_modules/node-gyp-build/optional" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/server.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/server" + >; +} +declare module "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/status.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/android/build/intermediates/library_assets/release/out/nodejs-project/status" + >; +} +declare module "nodejs-mobile-react-native/index" { + declare module.exports: $Exports<"nodejs-mobile-react-native">; +} +declare module "nodejs-mobile-react-native/index.js" { + declare module.exports: $Exports<"nodejs-mobile-react-native">; +} +declare module "nodejs-mobile-react-native/install/resources/nodejs-assets/nodejs-project/sample-main.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/install/resources/nodejs-assets/nodejs-project/sample-main" + >; +} +declare module "nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge/index" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge" + >; +} +declare module "nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge/index.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/install/resources/nodejs-modules/builtin_modules/rn-bridge" + >; +} +declare module "nodejs-mobile-react-native/react-native.config.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/react-native.config" + >; +} +declare module "nodejs-mobile-react-native/scripts/create-node-structure.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/scripts/create-node-structure" + >; +} +declare module "nodejs-mobile-react-native/scripts/ios-create-plists-and-dlopen-override.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/scripts/ios-create-plists-and-dlopen-override" + >; +} +declare module "nodejs-mobile-react-native/scripts/override-dlopen-paths-preload.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/scripts/override-dlopen-paths-preload" + >; +} +declare module "nodejs-mobile-react-native/scripts/patch-package.js" { + declare module.exports: $Exports< + "nodejs-mobile-react-native/scripts/patch-package" + >; } diff --git a/flow-typed/npm/path_vx.x.x.js b/flow-typed/npm/path_vx.x.x.js new file mode 100644 index 000000000..4450f55b0 --- /dev/null +++ b/flow-typed/npm/path_vx.x.x.js @@ -0,0 +1,32 @@ +// flow-typed signature: 1660be39f44e6835ad017a042cff83b8 +// flow-typed version: <>/path_v^0.12.7/flow_v0.121.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'path' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module "path" { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module "path/path" { + declare module.exports: any; +} + +// Filename aliases +declare module "path/path.js" { + declare module.exports: $Exports<"path/path">; +} diff --git a/flow-typed/npm/prop-types_v15.x.x.js b/flow-typed/npm/prop-types_v15.x.x.js index 390fde33d..417d73bc1 100644 --- a/flow-typed/npm/prop-types_v15.x.x.js +++ b/flow-typed/npm/prop-types_v15.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 4c227e658fff67d328126eb392cb3317 -// flow-typed version: c6154227d1/prop-types_v15.x.x/flow_>=v0.89.x <=v0.103.x +// flow-typed signature: c2be98acf88fa4c9915a337a66702bb5 +// flow-typed version: c6154227d1/prop-types_v15.x.x/flow_>=v0.104.x type $npm$propTypes$ReactPropsCheckType = ( props: any, @@ -9,12 +9,12 @@ type $npm$propTypes$ReactPropsCheckType = ( ) => ?Error; // Copied from: https://github.com/facebook/flow/blob/0938da8d7293d0077fbe95c3a3e0eebadb57b012/lib/react.js#L433-L449 -declare module 'prop-types' { +declare module "prop-types" { declare var array: React$PropType$Primitive>; declare var bool: React$PropType$Primitive; declare var func: React$PropType$Primitive<(...a: Array) => mixed>; declare var number: React$PropType$Primitive; - declare var object: React$PropType$Primitive<{ +[string]: mixed }>; + declare var object: React$PropType$Primitive<{ +[string]: mixed, ... }>; declare var string: React$PropType$Primitive; declare var symbol: React$PropType$Primitive; declare var any: React$PropType$Primitive; @@ -28,7 +28,7 @@ declare module 'prop-types' { declare var shape: React$PropType$Shape; declare function checkPropTypes( - propTypes: { [key: $Keys]: $npm$propTypes$ReactPropsCheckType }, + propTypes: { [key: $Keys]: $npm$propTypes$ReactPropsCheckType, ... }, values: V, location: string, componentName: string, diff --git a/flow-typed/npm/react-intl_vx.x.x.js b/flow-typed/npm/react-intl_vx.x.x.js new file mode 100644 index 000000000..0b565e4e3 --- /dev/null +++ b/flow-typed/npm/react-intl_vx.x.x.js @@ -0,0 +1,301 @@ +// flow-typed signature: ccd8e5e3e6aa5190db1ba844e8b2dacb +// flow-typed version: <>/react-intl_v^4.2.2/flow_v0.121.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-intl' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module "react-intl" { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module "react-intl/dist/components/createFormattedComponent" { + declare module.exports: any; +} + +declare module "react-intl/dist/components/injectIntl" { + declare module.exports: any; +} + +declare module "react-intl/dist/components/message" { + declare module.exports: any; +} + +declare module "react-intl/dist/components/plural" { + declare module.exports: any; +} + +declare module "react-intl/dist/components/provider" { + declare module.exports: any; +} + +declare module "react-intl/dist/components/relative" { + declare module.exports: any; +} + +declare module "react-intl/dist/components/useIntl" { + declare module.exports: any; +} + +declare module "react-intl/dist/error" { + declare module.exports: any; +} + +declare module "react-intl/dist/formatters/dateTime" { + declare module.exports: any; +} + +declare module "react-intl/dist/formatters/displayName" { + declare module.exports: any; +} + +declare module "react-intl/dist/formatters/list" { + declare module.exports: any; +} + +declare module "react-intl/dist/formatters/message" { + declare module.exports: any; +} + +declare module "react-intl/dist/formatters/number" { + declare module.exports: any; +} + +declare module "react-intl/dist/formatters/plural" { + declare module.exports: any; +} + +declare module "react-intl/dist/formatters/relativeTime" { + declare module.exports: any; +} + +declare module "react-intl/dist" { + declare module.exports: any; +} + +declare module "react-intl/dist/react-intl" { + declare module.exports: any; +} + +declare module "react-intl/dist/react-intl.min" { + declare module.exports: any; +} + +declare module "react-intl/dist/types" { + declare module.exports: any; +} + +declare module "react-intl/dist/utils" { + declare module.exports: any; +} + +declare module "react-intl/lib/components/createFormattedComponent" { + declare module.exports: any; +} + +declare module "react-intl/lib/components/injectIntl" { + declare module.exports: any; +} + +declare module "react-intl/lib/components/message" { + declare module.exports: any; +} + +declare module "react-intl/lib/components/plural" { + declare module.exports: any; +} + +declare module "react-intl/lib/components/provider" { + declare module.exports: any; +} + +declare module "react-intl/lib/components/relative" { + declare module.exports: any; +} + +declare module "react-intl/lib/components/useIntl" { + declare module.exports: any; +} + +declare module "react-intl/lib/error" { + declare module.exports: any; +} + +declare module "react-intl/lib/formatters/dateTime" { + declare module.exports: any; +} + +declare module "react-intl/lib/formatters/displayName" { + declare module.exports: any; +} + +declare module "react-intl/lib/formatters/list" { + declare module.exports: any; +} + +declare module "react-intl/lib/formatters/message" { + declare module.exports: any; +} + +declare module "react-intl/lib/formatters/number" { + declare module.exports: any; +} + +declare module "react-intl/lib/formatters/plural" { + declare module.exports: any; +} + +declare module "react-intl/lib/formatters/relativeTime" { + declare module.exports: any; +} + +declare module "react-intl/lib" { + declare module.exports: any; +} + +declare module "react-intl/lib/types" { + declare module.exports: any; +} + +declare module "react-intl/lib/utils" { + declare module.exports: any; +} + +// Filename aliases +declare module "react-intl/dist/components/createFormattedComponent.js" { + declare module.exports: $Exports< + "react-intl/dist/components/createFormattedComponent" + >; +} +declare module "react-intl/dist/components/injectIntl.js" { + declare module.exports: $Exports<"react-intl/dist/components/injectIntl">; +} +declare module "react-intl/dist/components/message.js" { + declare module.exports: $Exports<"react-intl/dist/components/message">; +} +declare module "react-intl/dist/components/plural.js" { + declare module.exports: $Exports<"react-intl/dist/components/plural">; +} +declare module "react-intl/dist/components/provider.js" { + declare module.exports: $Exports<"react-intl/dist/components/provider">; +} +declare module "react-intl/dist/components/relative.js" { + declare module.exports: $Exports<"react-intl/dist/components/relative">; +} +declare module "react-intl/dist/components/useIntl.js" { + declare module.exports: $Exports<"react-intl/dist/components/useIntl">; +} +declare module "react-intl/dist/error.js" { + declare module.exports: $Exports<"react-intl/dist/error">; +} +declare module "react-intl/dist/formatters/dateTime.js" { + declare module.exports: $Exports<"react-intl/dist/formatters/dateTime">; +} +declare module "react-intl/dist/formatters/displayName.js" { + declare module.exports: $Exports<"react-intl/dist/formatters/displayName">; +} +declare module "react-intl/dist/formatters/list.js" { + declare module.exports: $Exports<"react-intl/dist/formatters/list">; +} +declare module "react-intl/dist/formatters/message.js" { + declare module.exports: $Exports<"react-intl/dist/formatters/message">; +} +declare module "react-intl/dist/formatters/number.js" { + declare module.exports: $Exports<"react-intl/dist/formatters/number">; +} +declare module "react-intl/dist/formatters/plural.js" { + declare module.exports: $Exports<"react-intl/dist/formatters/plural">; +} +declare module "react-intl/dist/formatters/relativeTime.js" { + declare module.exports: $Exports<"react-intl/dist/formatters/relativeTime">; +} +declare module "react-intl/dist/index" { + declare module.exports: $Exports<"react-intl/dist">; +} +declare module "react-intl/dist/index.js" { + declare module.exports: $Exports<"react-intl/dist">; +} +declare module "react-intl/dist/react-intl.js" { + declare module.exports: $Exports<"react-intl/dist/react-intl">; +} +declare module "react-intl/dist/react-intl.min.js" { + declare module.exports: $Exports<"react-intl/dist/react-intl.min">; +} +declare module "react-intl/dist/types.js" { + declare module.exports: $Exports<"react-intl/dist/types">; +} +declare module "react-intl/dist/utils.js" { + declare module.exports: $Exports<"react-intl/dist/utils">; +} +declare module "react-intl/lib/components/createFormattedComponent.js" { + declare module.exports: $Exports< + "react-intl/lib/components/createFormattedComponent" + >; +} +declare module "react-intl/lib/components/injectIntl.js" { + declare module.exports: $Exports<"react-intl/lib/components/injectIntl">; +} +declare module "react-intl/lib/components/message.js" { + declare module.exports: $Exports<"react-intl/lib/components/message">; +} +declare module "react-intl/lib/components/plural.js" { + declare module.exports: $Exports<"react-intl/lib/components/plural">; +} +declare module "react-intl/lib/components/provider.js" { + declare module.exports: $Exports<"react-intl/lib/components/provider">; +} +declare module "react-intl/lib/components/relative.js" { + declare module.exports: $Exports<"react-intl/lib/components/relative">; +} +declare module "react-intl/lib/components/useIntl.js" { + declare module.exports: $Exports<"react-intl/lib/components/useIntl">; +} +declare module "react-intl/lib/error.js" { + declare module.exports: $Exports<"react-intl/lib/error">; +} +declare module "react-intl/lib/formatters/dateTime.js" { + declare module.exports: $Exports<"react-intl/lib/formatters/dateTime">; +} +declare module "react-intl/lib/formatters/displayName.js" { + declare module.exports: $Exports<"react-intl/lib/formatters/displayName">; +} +declare module "react-intl/lib/formatters/list.js" { + declare module.exports: $Exports<"react-intl/lib/formatters/list">; +} +declare module "react-intl/lib/formatters/message.js" { + declare module.exports: $Exports<"react-intl/lib/formatters/message">; +} +declare module "react-intl/lib/formatters/number.js" { + declare module.exports: $Exports<"react-intl/lib/formatters/number">; +} +declare module "react-intl/lib/formatters/plural.js" { + declare module.exports: $Exports<"react-intl/lib/formatters/plural">; +} +declare module "react-intl/lib/formatters/relativeTime.js" { + declare module.exports: $Exports<"react-intl/lib/formatters/relativeTime">; +} +declare module "react-intl/lib/index" { + declare module.exports: $Exports<"react-intl/lib">; +} +declare module "react-intl/lib/index.js" { + declare module.exports: $Exports<"react-intl/lib">; +} +declare module "react-intl/lib/types.js" { + declare module.exports: $Exports<"react-intl/lib/types">; +} +declare module "react-intl/lib/utils.js" { + declare module.exports: $Exports<"react-intl/lib/utils">; +} diff --git a/flow-typed/npm/react-native-android-open-settings_vx.x.x.js b/flow-typed/npm/react-native-android-open-settings_vx.x.x.js index ed8e3bf48..1bf2a72d6 100644 --- a/flow-typed/npm/react-native-android-open-settings_vx.x.x.js +++ b/flow-typed/npm/react-native-android-open-settings_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: ed26dd956ae2b792f69f582196fae0c9 -// flow-typed version: <>/react-native-android-open-settings_v^1.3.0/flow_v0.98.0 +// flow-typed signature: ad077c79a611f10e92f799070ada9f83 +// flow-typed version: <>/react-native-android-open-settings_v^1.3.0/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-android-open-settings' { +declare module "react-native-android-open-settings" { declare module.exports: any; } @@ -23,11 +23,10 @@ declare module 'react-native-android-open-settings' { * needed. */ - // Filename aliases -declare module 'react-native-android-open-settings/index' { - declare module.exports: $Exports<'react-native-android-open-settings'>; +declare module "react-native-android-open-settings/index" { + declare module.exports: $Exports<"react-native-android-open-settings">; } -declare module 'react-native-android-open-settings/index.js' { - declare module.exports: $Exports<'react-native-android-open-settings'>; +declare module "react-native-android-open-settings/index.js" { + declare module.exports: $Exports<"react-native-android-open-settings">; } diff --git a/flow-typed/npm/react-native-build-config_vx.x.x.js b/flow-typed/npm/react-native-build-config_vx.x.x.js new file mode 100644 index 000000000..6ec859281 --- /dev/null +++ b/flow-typed/npm/react-native-build-config_vx.x.x.js @@ -0,0 +1,44 @@ +// flow-typed signature: dcf6f2b7295c754891ee34d3b5ca9340 +// flow-typed version: <>/react-native-build-config_v^0.3.2/flow_v0.121.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-native-build-config' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module "react-native-build-config" { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module "react-native-build-config/lib" { + declare module.exports: any; +} + +declare module "react-native-build-config/react-native.config" { + declare module.exports: any; +} + +// Filename aliases +declare module "react-native-build-config/lib/index" { + declare module.exports: $Exports<"react-native-build-config/lib">; +} +declare module "react-native-build-config/lib/index.js" { + declare module.exports: $Exports<"react-native-build-config/lib">; +} +declare module "react-native-build-config/react-native.config.js" { + declare module.exports: $Exports< + "react-native-build-config/react-native.config" + >; +} diff --git a/flow-typed/npm/react-native-fs_vx.x.x.js b/flow-typed/npm/react-native-fs_vx.x.x.js index ad236cee4..12c0a4933 100644 --- a/flow-typed/npm/react-native-fs_vx.x.x.js +++ b/flow-typed/npm/react-native-fs_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: c5569dbe0f3f92504362c718f89ed808 -// flow-typed version: <>/react-native-fs_v^2.13.3/flow_v0.98.0 +// flow-typed signature: 075e9d29b6b75eea43c5bcb06ebb4c9f +// flow-typed version: <>/react-native-fs_v^2.16.6/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-fs' { +declare module "react-native-fs" { declare module.exports: any; } @@ -22,32 +22,36 @@ declare module 'react-native-fs' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-native-fs/FS.common' { +declare module "react-native-fs/FS.common" { declare module.exports: any; } -declare module 'react-native-fs/IntegrationTests/FSTest' { +declare module "react-native-fs/IntegrationTests/FSTest" { declare module.exports: any; } -declare module 'react-native-fs/IntegrationTests/IntegrationTestHarnessTest' { +declare module "react-native-fs/IntegrationTests/IntegrationTestHarnessTest" { declare module.exports: any; } -declare module 'react-native-fs/IntegrationTests/IntegrationTestsApp' { +declare module "react-native-fs/IntegrationTests/IntegrationTestsApp" { declare module.exports: any; } // Filename aliases -declare module 'react-native-fs/FS.common.js' { - declare module.exports: $Exports<'react-native-fs/FS.common'>; +declare module "react-native-fs/FS.common.js" { + declare module.exports: $Exports<"react-native-fs/FS.common">; } -declare module 'react-native-fs/IntegrationTests/FSTest.js' { - declare module.exports: $Exports<'react-native-fs/IntegrationTests/FSTest'>; +declare module "react-native-fs/IntegrationTests/FSTest.js" { + declare module.exports: $Exports<"react-native-fs/IntegrationTests/FSTest">; } -declare module 'react-native-fs/IntegrationTests/IntegrationTestHarnessTest.js' { - declare module.exports: $Exports<'react-native-fs/IntegrationTests/IntegrationTestHarnessTest'>; +declare module "react-native-fs/IntegrationTests/IntegrationTestHarnessTest.js" { + declare module.exports: $Exports< + "react-native-fs/IntegrationTests/IntegrationTestHarnessTest" + >; } -declare module 'react-native-fs/IntegrationTests/IntegrationTestsApp.js' { - declare module.exports: $Exports<'react-native-fs/IntegrationTests/IntegrationTestsApp'>; +declare module "react-native-fs/IntegrationTests/IntegrationTestsApp.js" { + declare module.exports: $Exports< + "react-native-fs/IntegrationTests/IntegrationTestsApp" + >; } diff --git a/flow-typed/npm/react-native-gesture-handler_v1.x.x.js b/flow-typed/npm/react-native-gesture-handler_v1.x.x.js index f7fba7897..40977d830 100644 --- a/flow-typed/npm/react-native-gesture-handler_v1.x.x.js +++ b/flow-typed/npm/react-native-gesture-handler_v1.x.x.js @@ -1,8 +1,8 @@ -// flow-typed signature: 47808246d526c5a98bec48b699ac5569 -// flow-typed version: a5104a7a2f/react-native-gesture-handler_v1.x.x/flow_>=v0.88.0 <=v0.103.x +// flow-typed signature: e713862bfbd0572be771fa894e481ef6 +// flow-typed version: c6154227d1/react-native-gesture-handler_v1.x.x/flow_>=v0.104.x // Since now there is no possibility to import types from other libraries I had to use such a crutch -declare module 'react-native-gesture-handler/@react-native' { +declare module "react-native-gesture-handler/@react-native" { // https://github.com/facebook/react-native/blob/1151c096dab17e5d9a6ac05b61aacecd4305f3db/flow/Stringish.js#L14 declare export type Stringish = string; @@ -17,7 +17,7 @@ declare module 'react-native-gesture-handler/@react-native' { top?: ?number, left?: ?number, bottom?: ?number, - right?: ?number, + right?: ?number |}>; declare export type TouchableProps = {| @@ -41,7 +41,7 @@ declare module 'react-native-gesture-handler/@react-native' { onPressOut?: (event: PressEvent) => mixed, rejectResponderTermination?: boolean, - testID?: string, + testID?: string // https://kmagiera.github.io/react-native-gesture-handler/docs/component-touchables.html // pressRetentionOffset?: EdgeInsetsProp, @@ -57,7 +57,7 @@ declare module 'react-native-gesture-handler/@react-native' { declare export type PressEvent = any; } -declare module 'react-native-gesture-handler/Directions' { +declare module "react-native-gesture-handler/Directions" { // https://github.com/kmagiera/react-native-gesture-handler/blob/c5c1cfbfade75beea3746ebf13814f505aa1ec01/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.java#L26-L29 declare export type DirectionRight = 1; declare export type DirectionLeft = 2; @@ -68,10 +68,10 @@ declare module 'react-native-gesture-handler/Directions' { RIGHT: DirectionRight, LEFT: DirectionLeft, UP: DirectionUp, - DOWN: DirectionDown, + DOWN: DirectionDown |}; } -declare module 'react-native-gesture-handler/State' { +declare module "react-native-gesture-handler/State" { // https://github.com/kmagiera/react-native-gesture-handler/blob/c5c1cfbfade75beea3746ebf13814f505aa1ec01/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.java#L10-L15 declare export type StateUndetermined = 0; declare export type StateFailed = 1; @@ -92,31 +92,30 @@ declare module 'react-native-gesture-handler/State' { BEGAN: StateBegan, CANCELLED: StateCancelled, ACTIVE: StateActive, - END: StateEnd, + END: StateEnd |}; } -declare module 'react-native-gesture-handler/DrawerLayout' { +declare module "react-native-gesture-handler/DrawerLayout" { import type { AnimatedValue, - ViewStyle, - } from 'react-native-gesture-handler/@react-native'; - declare export type StatusBarAnimation = 'slide' | 'none' | 'fade'; + ViewStyle + } from "react-native-gesture-handler/@react-native"; + declare export type StatusBarAnimation = "slide" | "none" | "fade"; declare export type DrawerLockMode = - | 'unlocked' - | 'locked-closed' - | 'locked-open'; - declare export type DrawerPosition = 'left' | 'right'; + | "unlocked" + | "locked-closed" + | "locked-open"; + declare export type DrawerPosition = "left" | "right"; - declare export type DrawerState = 'Idle' | 'Dragging' | 'Settling'; + declare export type DrawerState = "Idle" | "Dragging" | "Settling"; - declare export type DrawerType = 'front' | 'back' | 'slide'; + declare export type DrawerType = "front" | "back" | "slide"; - declare export type DrawerKeyboardDismissMode = 'none' | 'on-drag'; + declare export type DrawerKeyboardDismissMode = "none" | "on-drag"; declare export type DrawerLayoutProps = $ReadOnly<{ renderNavigationView: (progressAnimatedValue: AnimatedValue) => React$Node, - contentContainerStyle?: ViewStyle, drawerBackgroundColor?: string, drawerContainerStyle?: ViewStyle, @@ -138,17 +137,18 @@ declare module 'react-native-gesture-handler/DrawerLayout' { overlayColor?: string, statusBarAnimation?: StatusBarAnimation, useNativeAnimations?: boolean, + ... }>; declare export type DrawerMovementOptionType = {| - velocity?: number, + velocity?: number |}; declare export type DrawerLayoutState = {| dragX: AnimatedValue, touchX: AnimatedValue, drawerTranslation: AnimatedValue, - containerWidth: number, + containerWidth: number |}; declare export default class DrawerLayout extends React$Component< @@ -158,27 +158,27 @@ declare module 'react-native-gesture-handler/DrawerLayout' { openDrawer(options?: DrawerMovementOptionType): void; closeDrawer(options?: DrawerMovementOptionType): void; static positions: {| - Left: 'left', - Right: 'right', + Left: "left", + Right: "right" |}; } } -declare module 'react-native-gesture-handler/Swipeable' { +declare module "react-native-gesture-handler/Swipeable" { import type { AnimatedValue, - ViewStyle, - } from 'react-native-gesture-handler/@react-native'; + ViewStyle + } from "react-native-gesture-handler/@react-native"; declare export type SwipeableState = {| dragX: AnimatedValue, rowTranslation: AnimatedValue, rowState: number, leftWidth: ?number, rightOffset: ?number, - rowWidth: ?number, + rowWidth: ?number |}; declare export type SwipeableProps = $ReadOnly<{ - animationOptions?: {}, + animationOptions?: { ... }, childrenContainerStyle?: ViewStyle, containerStyle?: ViewStyle, friction?: number, @@ -204,6 +204,7 @@ declare module 'react-native-gesture-handler/Swipeable' { ) => React$Node, rightThreshold?: number, useNativeAnimations?: boolean, + ... }>; declare export default class Swipeable extends React$Component< @@ -216,68 +217,72 @@ declare module 'react-native-gesture-handler/Swipeable' { } } -declare module 'react-native-gesture-handler/gestureHandlerRootHOC' { - import type { ViewStyle } from 'react-native-gesture-handler/@react-native'; +declare module "react-native-gesture-handler/gestureHandlerRootHOC" { + import type { ViewStyle } from "react-native-gesture-handler/@react-native"; declare export default { - ( + ( Component: React$ComponentType, containerStyles: ?ViewStyle ): React$ComponentType, + ... }; } -declare module 'react-native-gesture-handler/touchables/TouchableNativeFeedback' { - import type { TouchableProps } from 'react-native-gesture-handler/@react-native'; +declare module "react-native-gesture-handler/touchables/TouchableNativeFeedback" { + import type { TouchableProps } from "react-native-gesture-handler/@react-native"; declare type TouchableNativeFeedbackProps = $ReadOnly<{ ...TouchableProps, + ... }>; declare export default class TouchableNativeFeedback extends React$Component { - static SelectableBackground(): {| type: 'SelectableBackground' |}; + static SelectableBackground(): {| type: "SelectableBackground" |}; static SelectableBackgroundBorderless(): {| - type: 'SelectableBackgroundBorderless', + type: "SelectableBackgroundBorderless" |}; static Ripple( color: string, borderless: boolean ): {| - type: 'Ripple', + type: "Ripple", color: string, - borderless: boolean, + borderless: boolean |}; static canUseNativeForeground(): boolean; } } -declare module 'react-native-gesture-handler/touchables/TouchableWithoutFeedback' { - import type { TouchableProps } from 'react-native-gesture-handler/@react-native'; +declare module "react-native-gesture-handler/touchables/TouchableWithoutFeedback" { + import type { TouchableProps } from "react-native-gesture-handler/@react-native"; declare type TouchableWithoutFeedbackProps = $ReadOnly<{ ...TouchableProps, + ... }>; declare export default class TouchableWithoutFeedback extends React$Component {} } -declare module 'react-native-gesture-handler/touchables/TouchableOpacity' { +declare module "react-native-gesture-handler/touchables/TouchableOpacity" { import type { TouchableProps, - ViewStyle, - } from 'react-native-gesture-handler/@react-native'; + ViewStyle + } from "react-native-gesture-handler/@react-native"; declare type TouchableOpacityProps = $ReadOnly<{ ...TouchableProps, style?: ViewStyle, activeOpacity?: number, + ... }>; declare export default class TouchableOpacity extends React$Component {} } -declare module 'react-native-gesture-handler/touchables/TouchableHighlight' { +declare module "react-native-gesture-handler/touchables/TouchableHighlight" { import type { TouchableProps, - ViewStyle, - } from 'react-native-gesture-handler/@react-native'; + ViewStyle + } from "react-native-gesture-handler/@react-native"; declare type TouchableHighlightProps = $ReadOnly<{ ...TouchableProps, @@ -286,86 +291,52 @@ declare module 'react-native-gesture-handler/touchables/TouchableHighlight' { style?: ViewStyle, onShowUnderlay?: () => mixed, onHideUnderlay?: () => mixed, + ... }>; declare export default class TouchableHighlight extends React$Component {} } -declare module 'react-native-gesture-handler/touchables' { - declare export { - default as TouchableNativeFeedback, - } from 'react-native-gesture-handler/touchables/TouchableNativeFeedback'; - declare export { - default as TouchableWithoutFeedback, - } from 'react-native-gesture-handler/touchables/TouchableWithoutFeedback'; - declare export { - default as TouchableOpacity, - } from 'react-native-gesture-handler/touchables/TouchableOpacity'; - declare export { - default as TouchableHighlight, - } from 'react-native-gesture-handler/touchables/TouchableHighlight'; +declare module "react-native-gesture-handler/touchables" { + declare export { default as TouchableNativeFeedback } from "react-native-gesture-handler/touchables/TouchableNativeFeedback"; + declare export { default as TouchableWithoutFeedback } from "react-native-gesture-handler/touchables/TouchableWithoutFeedback"; + declare export { default as TouchableOpacity } from "react-native-gesture-handler/touchables/TouchableOpacity"; + declare export { default as TouchableHighlight } from "react-native-gesture-handler/touchables/TouchableHighlight"; } -declare module 'react-native-gesture-handler/GestureHandler' { - import type { State } from 'react-native-gesture-handler/State'; - import type { ViewStyle } from 'react-native-gesture-handler/@react-native'; +declare module "react-native-gesture-handler/GestureHandler" { + import type { State } from "react-native-gesture-handler/State"; + import type { ViewStyle } from "react-native-gesture-handler/@react-native"; ///////////////////////////////////////////////////////////////////////////// // Utils for *GestureHandler - declare type $SyntheticEvent = { + declare type $SyntheticEvent = { +nativeEvent: $ReadOnly<$Exact>, + ... }; - declare type $Event = $SyntheticEvent<{ + declare type $Event = $SyntheticEvent<{ handlerTag: number, numberOfPointers: number, state: State, oldState: State, ...$Exact, + ... }>; - declare type $EventHandlers = {| + declare type $EventHandlers = {| onGestureEvent?: ($Event) => mixed, onHandlerStateChange?: ($Event) => mixed, onBegan?: ($Event) => mixed, onFailed?: ($Event) => mixed, onCancelled?: ($Event) => mixed, onActivated?: ($Event) => mixed, - onEnded?: ($Event) => mixed, + onEnded?: ($Event) => mixed |}; - declare type HitSlop = - | number - | {| - left?: number, - top?: number, - right?: number, - bottom?: number, - vertical?: number, - horizontal?: number, - width?: number, - height?: number, - |} - | {| - width: number, - left: number, - |} - | {| - width: number, - right: number, - |} - | {| - height: number, - top: number, - |} - | {| - height: number, - bottom: number, - |}; - declare type $GestureHandlerProps< - AdditionalProps: {}, - ExtraEventsProps: {} + AdditionalProps: { ... }, + ExtraEventsProps: { ... } > = $ReadOnly<{| ...$Exact, ...$EventHandlers, @@ -375,8 +346,18 @@ declare module 'react-native-gesture-handler/GestureHandler' { simultaneousHandlers?: React$Ref | Array>, shouldCancelWhenOutside?: boolean, minPointers?: number, - hitSlop?: HitSlop, - children?: React$Node, + hitSlop?: + | number + | {| + left?: number, + top?: number, + right?: number, + bottom?: number, + vertical?: number, + horizontal?: number, + width?: number, + height?: number + |} |}>; ///////////////////////////////////////////////////////////////////////////// @@ -385,10 +366,9 @@ declare module 'react-native-gesture-handler/GestureHandler' { { shouldActivateOnStart?: boolean, disallowInterruption?: boolean, + ... }, - { - pointerInside: boolean, - } + { pointerInside: boolean, ... } >; declare export class NativeViewGestureHandler extends React$Component {} @@ -405,12 +385,14 @@ declare module 'react-native-gesture-handler/GestureHandler' { maxDeltaY?: number, maxDist?: number, minPointers?: number, + ... }, { x: number, y: number, absoluteX: number, absoluteY: number, + ... } >; @@ -423,12 +405,14 @@ declare module 'react-native-gesture-handler/GestureHandler' { { numberOfPointers?: number, direction?: number, + ... }, { x: number, y: number, absoluteX: number, absoluteY: number, + ... } >; @@ -442,10 +426,9 @@ declare module 'react-native-gesture-handler/GestureHandler' { minForce?: number, maxForce?: number, feedbackOnActivation?: boolean, + ... }, - { - force: number, - } + { force: number, ... } >; declare export class ForceTouchGestureHandler extends React$Component { @@ -459,12 +442,14 @@ declare module 'react-native-gesture-handler/GestureHandler' { { minDurationMs?: number, maxDist?: number, + ... }, { x: number, y: number, absoluteX: number, absoluteY: number, + ... } >; @@ -486,6 +471,7 @@ declare module 'react-native-gesture-handler/GestureHandler' { minPointers?: number, maxPointers?: number, avgTouches?: boolean, + ... }, { x: number, @@ -496,6 +482,7 @@ declare module 'react-native-gesture-handler/GestureHandler' { translationY: number, velocityX: number, velocityY: number, + ... } >; @@ -505,12 +492,13 @@ declare module 'react-native-gesture-handler/GestureHandler' { // Pinch declare export type PinchGestureHandlerProps = $GestureHandlerProps< - {}, + { ... }, { scale: number, focalX: number, focalY: number, velocity: number, + ... } >; @@ -520,12 +508,13 @@ declare module 'react-native-gesture-handler/GestureHandler' { // Rotation declare export type RotationGestureHandlerProps = $GestureHandlerProps< - {}, + { ... }, { rotation: number, anchorX: number, anchorY: number, velocity: number, + ... } >; @@ -536,6 +525,7 @@ declare module 'react-native-gesture-handler/GestureHandler' { declare export type RawButtonProps = { ...NativeViewGestureHandlerProps, testID?: string, + ... }; declare export class RawButton extends React$Component {} @@ -551,6 +541,7 @@ declare module 'react-native-gesture-handler/GestureHandler' { rippleColor?: string, // iOS only exclusive?: boolean, + ... }; declare export class BaseButton extends React$Component {} @@ -562,6 +553,7 @@ declare module 'react-native-gesture-handler/GestureHandler' { underlayColor?: string, // iOS only activeOpacity?: number, + ... }; declare export class RectButton extends React$Component {} @@ -572,19 +564,16 @@ declare module 'react-native-gesture-handler/GestureHandler' { borderless?: boolean, // iOS only activeOpacity?: number, + ... }; declare export class BorderlessButton extends React$Component {} ///////////////////////////////////////////////////////////////////////////// // Other - declare export { - default as gestureHandlerRootHOC, - } from 'react-native-gesture-handler/gestureHandlerRootHOC'; - declare export { default as State } from 'react-native-gesture-handler/State'; - declare export { - default as Directions, - } from 'react-native-gesture-handler/Directions'; + declare export { default as gestureHandlerRootHOC } from "react-native-gesture-handler/gestureHandlerRootHOC"; + declare export { default as State } from "react-native-gesture-handler/State"; + declare export { default as Directions } from "react-native-gesture-handler/Directions"; declare export var FlatList: React$ComponentType; declare export var ScrollView: React$ComponentType; @@ -594,22 +583,19 @@ declare module 'react-native-gesture-handler/GestureHandler' { declare export var DrawerLayoutAndroid: React$ComponentType; declare export var PureNativeButton: React$ComponentType; - declare export function createNativeWrapper( + declare export function createNativeWrapper( Com: React$ComponentType, - config?: {} + config?: { ... } ): React$ComponentType<{ ...NativeViewGestureHandlerProps, ...$Exact, + ... }>; } -declare module 'react-native-gesture-handler' { - declare export { - default as Swipeable, - } from 'react-native-gesture-handler/Swipeable'; - declare export { - default as DrawerLayout, - } from 'react-native-gesture-handler/DrawerLayout'; - declare export * from 'react-native-gesture-handler/GestureHandler' - declare export * from 'react-native-gesture-handler/touchables' +declare module "react-native-gesture-handler" { + declare export { default as Swipeable } from "react-native-gesture-handler/Swipeable"; + declare export { default as DrawerLayout } from "react-native-gesture-handler/DrawerLayout"; + declare export * from "react-native-gesture-handler/GestureHandler" + declare export * from "react-native-gesture-handler/touchables" } diff --git a/flow-typed/npm/react-native-hooks_vx.x.x.js b/flow-typed/npm/react-native-hooks_vx.x.x.js new file mode 100644 index 000000000..d12c2bb3c --- /dev/null +++ b/flow-typed/npm/react-native-hooks_vx.x.x.js @@ -0,0 +1,107 @@ +// flow-typed signature: cffe39cc86d6aa3103b1d482f2b1bfa7 +// flow-typed version: <>/react-native-hooks_v^0.9.0/flow_v0.121.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-native-hooks' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module "react-native-hooks" { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module "react-native-hooks/lib/useAccessibilityInfo" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useAppState" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useBackHandler" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useCameraRoll" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useClipboard" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useDeviceOrientation" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useDimensions" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useInteractionManager" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useKeyboard" { + declare module.exports: any; +} + +declare module "react-native-hooks/lib/useLayout" { + declare module.exports: any; +} + +// Filename aliases +declare module "react-native-hooks/index" { + declare module.exports: $Exports<"react-native-hooks">; +} +declare module "react-native-hooks/index.js" { + declare module.exports: $Exports<"react-native-hooks">; +} +declare module "react-native-hooks/lib/useAccessibilityInfo.js" { + declare module.exports: $Exports< + "react-native-hooks/lib/useAccessibilityInfo" + >; +} +declare module "react-native-hooks/lib/useAppState.js" { + declare module.exports: $Exports<"react-native-hooks/lib/useAppState">; +} +declare module "react-native-hooks/lib/useBackHandler.js" { + declare module.exports: $Exports<"react-native-hooks/lib/useBackHandler">; +} +declare module "react-native-hooks/lib/useCameraRoll.js" { + declare module.exports: $Exports<"react-native-hooks/lib/useCameraRoll">; +} +declare module "react-native-hooks/lib/useClipboard.js" { + declare module.exports: $Exports<"react-native-hooks/lib/useClipboard">; +} +declare module "react-native-hooks/lib/useDeviceOrientation.js" { + declare module.exports: $Exports< + "react-native-hooks/lib/useDeviceOrientation" + >; +} +declare module "react-native-hooks/lib/useDimensions.js" { + declare module.exports: $Exports<"react-native-hooks/lib/useDimensions">; +} +declare module "react-native-hooks/lib/useInteractionManager.js" { + declare module.exports: $Exports< + "react-native-hooks/lib/useInteractionManager" + >; +} +declare module "react-native-hooks/lib/useKeyboard.js" { + declare module.exports: $Exports<"react-native-hooks/lib/useKeyboard">; +} +declare module "react-native-hooks/lib/useLayout.js" { + declare module.exports: $Exports<"react-native-hooks/lib/useLayout">; +} diff --git a/flow-typed/npm/react-native-indicators_vx.x.x.js b/flow-typed/npm/react-native-indicators_vx.x.x.js index aadb003dd..3ce432b45 100644 --- a/flow-typed/npm/react-native-indicators_vx.x.x.js +++ b/flow-typed/npm/react-native-indicators_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 5991f38841762bbda929b33172326b1c -// flow-typed version: <>/react-native-indicators_v^0.13.0/flow_v0.98.0 +// flow-typed signature: 9d1d66da60c2c7b3af321833f72c521a +// flow-typed version: <>/react-native-indicators_v^0.17.0/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-indicators' { +declare module "react-native-indicators" { declare module.exports: any; } @@ -22,173 +22,231 @@ declare module 'react-native-indicators' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-native-indicators/src/components/ball-indicator' { +declare module "react-native-indicators/src/components/ball-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/ball-indicator/styles' { +declare module "react-native-indicators/src/components/ball-indicator/styles" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/bar-indicator' { +declare module "react-native-indicators/src/components/bar-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/bar-indicator/styles' { +declare module "react-native-indicators/src/components/bar-indicator/styles" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/dot-indicator' { +declare module "react-native-indicators/src/components/dot-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/dot-indicator/styles' { +declare module "react-native-indicators/src/components/dot-indicator/styles" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/indicator' { +declare module "react-native-indicators/src/components/indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/material-indicator' { +declare module "react-native-indicators/src/components/material-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/material-indicator/styles' { +declare module "react-native-indicators/src/components/material-indicator/styles" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/pacman-indicator' { +declare module "react-native-indicators/src/components/pacman-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/pacman-indicator/styles' { +declare module "react-native-indicators/src/components/pacman-indicator/styles" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/pulse-indicator' { +declare module "react-native-indicators/src/components/pulse-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/pulse-indicator/styles' { +declare module "react-native-indicators/src/components/pulse-indicator/styles" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/skype-indicator' { +declare module "react-native-indicators/src/components/skype-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/skype-indicator/styles' { +declare module "react-native-indicators/src/components/skype-indicator/styles" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/ui-activity-indicator' { +declare module "react-native-indicators/src/components/ui-activity-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/ui-activity-indicator/styles' { +declare module "react-native-indicators/src/components/ui-activity-indicator/styles" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/wave-indicator' { +declare module "react-native-indicators/src/components/wave-indicator" { declare module.exports: any; } -declare module 'react-native-indicators/src/components/wave-indicator/styles' { +declare module "react-native-indicators/src/components/wave-indicator/styles" { declare module.exports: any; } // Filename aliases -declare module 'react-native-indicators/index' { - declare module.exports: $Exports<'react-native-indicators'>; -} -declare module 'react-native-indicators/index.js' { - declare module.exports: $Exports<'react-native-indicators'>; -} -declare module 'react-native-indicators/src/components/ball-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/ball-indicator'>; -} -declare module 'react-native-indicators/src/components/ball-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/ball-indicator'>; -} -declare module 'react-native-indicators/src/components/ball-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/ball-indicator/styles'>; -} -declare module 'react-native-indicators/src/components/bar-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/bar-indicator'>; -} -declare module 'react-native-indicators/src/components/bar-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/bar-indicator'>; -} -declare module 'react-native-indicators/src/components/bar-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/bar-indicator/styles'>; -} -declare module 'react-native-indicators/src/components/dot-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/dot-indicator'>; -} -declare module 'react-native-indicators/src/components/dot-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/dot-indicator'>; -} -declare module 'react-native-indicators/src/components/dot-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/dot-indicator/styles'>; -} -declare module 'react-native-indicators/src/components/indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/indicator'>; -} -declare module 'react-native-indicators/src/components/indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/indicator'>; -} -declare module 'react-native-indicators/src/components/material-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/material-indicator'>; -} -declare module 'react-native-indicators/src/components/material-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/material-indicator'>; -} -declare module 'react-native-indicators/src/components/material-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/material-indicator/styles'>; -} -declare module 'react-native-indicators/src/components/pacman-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/pacman-indicator'>; -} -declare module 'react-native-indicators/src/components/pacman-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/pacman-indicator'>; -} -declare module 'react-native-indicators/src/components/pacman-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/pacman-indicator/styles'>; -} -declare module 'react-native-indicators/src/components/pulse-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/pulse-indicator'>; -} -declare module 'react-native-indicators/src/components/pulse-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/pulse-indicator'>; -} -declare module 'react-native-indicators/src/components/pulse-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/pulse-indicator/styles'>; -} -declare module 'react-native-indicators/src/components/skype-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/skype-indicator'>; -} -declare module 'react-native-indicators/src/components/skype-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/skype-indicator'>; -} -declare module 'react-native-indicators/src/components/skype-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/skype-indicator/styles'>; -} -declare module 'react-native-indicators/src/components/ui-activity-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/ui-activity-indicator'>; -} -declare module 'react-native-indicators/src/components/ui-activity-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/ui-activity-indicator'>; -} -declare module 'react-native-indicators/src/components/ui-activity-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/ui-activity-indicator/styles'>; -} -declare module 'react-native-indicators/src/components/wave-indicator/index' { - declare module.exports: $Exports<'react-native-indicators/src/components/wave-indicator'>; -} -declare module 'react-native-indicators/src/components/wave-indicator/index.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/wave-indicator'>; -} -declare module 'react-native-indicators/src/components/wave-indicator/styles.js' { - declare module.exports: $Exports<'react-native-indicators/src/components/wave-indicator/styles'>; +declare module "react-native-indicators/index" { + declare module.exports: $Exports<"react-native-indicators">; +} +declare module "react-native-indicators/index.js" { + declare module.exports: $Exports<"react-native-indicators">; +} +declare module "react-native-indicators/src/components/ball-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/ball-indicator" + >; +} +declare module "react-native-indicators/src/components/ball-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/ball-indicator" + >; +} +declare module "react-native-indicators/src/components/ball-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/ball-indicator/styles" + >; +} +declare module "react-native-indicators/src/components/bar-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/bar-indicator" + >; +} +declare module "react-native-indicators/src/components/bar-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/bar-indicator" + >; +} +declare module "react-native-indicators/src/components/bar-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/bar-indicator/styles" + >; +} +declare module "react-native-indicators/src/components/dot-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/dot-indicator" + >; +} +declare module "react-native-indicators/src/components/dot-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/dot-indicator" + >; +} +declare module "react-native-indicators/src/components/dot-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/dot-indicator/styles" + >; +} +declare module "react-native-indicators/src/components/indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/indicator" + >; +} +declare module "react-native-indicators/src/components/indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/indicator" + >; +} +declare module "react-native-indicators/src/components/material-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/material-indicator" + >; +} +declare module "react-native-indicators/src/components/material-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/material-indicator" + >; +} +declare module "react-native-indicators/src/components/material-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/material-indicator/styles" + >; +} +declare module "react-native-indicators/src/components/pacman-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/pacman-indicator" + >; +} +declare module "react-native-indicators/src/components/pacman-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/pacman-indicator" + >; +} +declare module "react-native-indicators/src/components/pacman-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/pacman-indicator/styles" + >; +} +declare module "react-native-indicators/src/components/pulse-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/pulse-indicator" + >; +} +declare module "react-native-indicators/src/components/pulse-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/pulse-indicator" + >; +} +declare module "react-native-indicators/src/components/pulse-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/pulse-indicator/styles" + >; +} +declare module "react-native-indicators/src/components/skype-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/skype-indicator" + >; +} +declare module "react-native-indicators/src/components/skype-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/skype-indicator" + >; +} +declare module "react-native-indicators/src/components/skype-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/skype-indicator/styles" + >; +} +declare module "react-native-indicators/src/components/ui-activity-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/ui-activity-indicator" + >; +} +declare module "react-native-indicators/src/components/ui-activity-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/ui-activity-indicator" + >; +} +declare module "react-native-indicators/src/components/ui-activity-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/ui-activity-indicator/styles" + >; +} +declare module "react-native-indicators/src/components/wave-indicator/index" { + declare module.exports: $Exports< + "react-native-indicators/src/components/wave-indicator" + >; +} +declare module "react-native-indicators/src/components/wave-indicator/index.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/wave-indicator" + >; +} +declare module "react-native-indicators/src/components/wave-indicator/styles.js" { + declare module.exports: $Exports< + "react-native-indicators/src/components/wave-indicator/styles" + >; } diff --git a/flow-typed/npm/react-native-keep-awake_vx.x.x.js b/flow-typed/npm/react-native-keep-awake_vx.x.x.js index f4a2fdfdb..ed789833e 100644 --- a/flow-typed/npm/react-native-keep-awake_vx.x.x.js +++ b/flow-typed/npm/react-native-keep-awake_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: c5904d38c368a06c2538185f207dda1b -// flow-typed version: <>/react-native-keep-awake_v^4.0.0/flow_v0.98.0 +// flow-typed signature: 06b6cda4585ec15f27bac9bcf43528e6 +// flow-typed version: <>/react-native-keep-awake_v^4.0.0/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-keep-awake' { +declare module "react-native-keep-awake" { declare module.exports: any; } @@ -23,11 +23,10 @@ declare module 'react-native-keep-awake' { * needed. */ - // Filename aliases -declare module 'react-native-keep-awake/index' { - declare module.exports: $Exports<'react-native-keep-awake'>; +declare module "react-native-keep-awake/index" { + declare module.exports: $Exports<"react-native-keep-awake">; } -declare module 'react-native-keep-awake/index.js' { - declare module.exports: $Exports<'react-native-keep-awake'>; +declare module "react-native-keep-awake/index.js" { + declare module.exports: $Exports<"react-native-keep-awake">; } diff --git a/flow-typed/npm/react-native-linear-gradient_vx.x.x.js b/flow-typed/npm/react-native-linear-gradient_vx.x.x.js index bb6d863e4..33ed7727a 100644 --- a/flow-typed/npm/react-native-linear-gradient_vx.x.x.js +++ b/flow-typed/npm/react-native-linear-gradient_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 73048ee9560a2c9fec3d8bfc7b44131c -// flow-typed version: <>/react-native-linear-gradient_v^2.5.4/flow_v0.98.0 +// flow-typed signature: 2d4d6e48ed24648fea76c8f73e3f047f +// flow-typed version: <>/react-native-linear-gradient_v^2.5.4/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-linear-gradient' { +declare module "react-native-linear-gradient" { declare module.exports: any; } @@ -22,38 +22,42 @@ declare module 'react-native-linear-gradient' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-native-linear-gradient/common' { +declare module "react-native-linear-gradient/common" { declare module.exports: any; } -declare module 'react-native-linear-gradient/index.android' { +declare module "react-native-linear-gradient/index.android" { declare module.exports: any; } -declare module 'react-native-linear-gradient/index.ios' { +declare module "react-native-linear-gradient/index.ios" { declare module.exports: any; } -declare module 'react-native-linear-gradient/index.windows' { +declare module "react-native-linear-gradient/index.windows" { declare module.exports: any; } // Filename aliases -declare module 'react-native-linear-gradient/common.js' { - declare module.exports: $Exports<'react-native-linear-gradient/common'>; +declare module "react-native-linear-gradient/common.js" { + declare module.exports: $Exports<"react-native-linear-gradient/common">; } -declare module 'react-native-linear-gradient/index.android.js' { - declare module.exports: $Exports<'react-native-linear-gradient/index.android'>; +declare module "react-native-linear-gradient/index.android.js" { + declare module.exports: $Exports< + "react-native-linear-gradient/index.android" + >; } -declare module 'react-native-linear-gradient/index.ios.js' { - declare module.exports: $Exports<'react-native-linear-gradient/index.ios'>; +declare module "react-native-linear-gradient/index.ios.js" { + declare module.exports: $Exports<"react-native-linear-gradient/index.ios">; } -declare module 'react-native-linear-gradient/index' { - declare module.exports: $Exports<'react-native-linear-gradient'>; +declare module "react-native-linear-gradient/index" { + declare module.exports: $Exports<"react-native-linear-gradient">; } -declare module 'react-native-linear-gradient/index.js' { - declare module.exports: $Exports<'react-native-linear-gradient'>; +declare module "react-native-linear-gradient/index.js" { + declare module.exports: $Exports<"react-native-linear-gradient">; } -declare module 'react-native-linear-gradient/index.windows.js' { - declare module.exports: $Exports<'react-native-linear-gradient/index.windows'>; +declare module "react-native-linear-gradient/index.windows.js" { + declare module.exports: $Exports< + "react-native-linear-gradient/index.windows" + >; } diff --git a/flow-typed/npm/react-native-network-info_vx.x.x.js b/flow-typed/npm/react-native-network-info_vx.x.x.js index 26470f1d7..e2cbcefb8 100644 --- a/flow-typed/npm/react-native-network-info_vx.x.x.js +++ b/flow-typed/npm/react-native-network-info_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: ca9d51f3355918963a3ca9639417343f -// flow-typed version: <>/react-native-network-info_v^5/flow_v0.98.0 +// flow-typed signature: fbc00bdee01fe5a3f95871c6bff925af +// flow-typed version: <>/react-native-network-info_v^5/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-network-info' { +declare module "react-native-network-info" { declare module.exports: any; } @@ -22,11 +22,11 @@ declare module 'react-native-network-info' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-native-network-info/NetworkInfo' { +declare module "react-native-network-info/NetworkInfo" { declare module.exports: any; } // Filename aliases -declare module 'react-native-network-info/NetworkInfo.js' { - declare module.exports: $Exports<'react-native-network-info/NetworkInfo'>; +declare module "react-native-network-info/NetworkInfo.js" { + declare module.exports: $Exports<"react-native-network-info/NetworkInfo">; } diff --git a/flow-typed/npm/react-native-progress_vx.x.x.js b/flow-typed/npm/react-native-progress_vx.x.x.js index 96dcb9c66..5f23fcd6c 100644 --- a/flow-typed/npm/react-native-progress_vx.x.x.js +++ b/flow-typed/npm/react-native-progress_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: b0c34bf0f42f117cf446d5782a5155e7 -// flow-typed version: <>/react-native-progress_v^3.6.0/flow_v0.98.0 +// flow-typed signature: 378b2f5c2ec4a34df8e17ce8343a7692 +// flow-typed version: <>/react-native-progress_v^4.0.3/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-progress' { +declare module "react-native-progress" { declare module.exports: any; } @@ -22,66 +22,66 @@ declare module 'react-native-progress' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-native-progress/Bar' { +declare module "react-native-progress/Bar" { declare module.exports: any; } -declare module 'react-native-progress/Circle' { +declare module "react-native-progress/Circle" { declare module.exports: any; } -declare module 'react-native-progress/CircleSnail' { +declare module "react-native-progress/CircleSnail" { declare module.exports: any; } -declare module 'react-native-progress/Pie' { +declare module "react-native-progress/Pie" { declare module.exports: any; } -declare module 'react-native-progress/Shapes/Arc' { +declare module "react-native-progress/Shapes/Arc" { declare module.exports: any; } -declare module 'react-native-progress/Shapes/Circle' { +declare module "react-native-progress/Shapes/Circle" { declare module.exports: any; } -declare module 'react-native-progress/Shapes/Sector' { +declare module "react-native-progress/Shapes/Sector" { declare module.exports: any; } -declare module 'react-native-progress/withAnimation' { +declare module "react-native-progress/withAnimation" { declare module.exports: any; } // Filename aliases -declare module 'react-native-progress/Bar.js' { - declare module.exports: $Exports<'react-native-progress/Bar'>; +declare module "react-native-progress/Bar.js" { + declare module.exports: $Exports<"react-native-progress/Bar">; } -declare module 'react-native-progress/Circle.js' { - declare module.exports: $Exports<'react-native-progress/Circle'>; +declare module "react-native-progress/Circle.js" { + declare module.exports: $Exports<"react-native-progress/Circle">; } -declare module 'react-native-progress/CircleSnail.js' { - declare module.exports: $Exports<'react-native-progress/CircleSnail'>; +declare module "react-native-progress/CircleSnail.js" { + declare module.exports: $Exports<"react-native-progress/CircleSnail">; } -declare module 'react-native-progress/index' { - declare module.exports: $Exports<'react-native-progress'>; +declare module "react-native-progress/index" { + declare module.exports: $Exports<"react-native-progress">; } -declare module 'react-native-progress/index.js' { - declare module.exports: $Exports<'react-native-progress'>; +declare module "react-native-progress/index.js" { + declare module.exports: $Exports<"react-native-progress">; } -declare module 'react-native-progress/Pie.js' { - declare module.exports: $Exports<'react-native-progress/Pie'>; +declare module "react-native-progress/Pie.js" { + declare module.exports: $Exports<"react-native-progress/Pie">; } -declare module 'react-native-progress/Shapes/Arc.js' { - declare module.exports: $Exports<'react-native-progress/Shapes/Arc'>; +declare module "react-native-progress/Shapes/Arc.js" { + declare module.exports: $Exports<"react-native-progress/Shapes/Arc">; } -declare module 'react-native-progress/Shapes/Circle.js' { - declare module.exports: $Exports<'react-native-progress/Shapes/Circle'>; +declare module "react-native-progress/Shapes/Circle.js" { + declare module.exports: $Exports<"react-native-progress/Shapes/Circle">; } -declare module 'react-native-progress/Shapes/Sector.js' { - declare module.exports: $Exports<'react-native-progress/Shapes/Sector'>; +declare module "react-native-progress/Shapes/Sector.js" { + declare module.exports: $Exports<"react-native-progress/Shapes/Sector">; } -declare module 'react-native-progress/withAnimation.js' { - declare module.exports: $Exports<'react-native-progress/withAnimation'>; +declare module "react-native-progress/withAnimation.js" { + declare module.exports: $Exports<"react-native-progress/withAnimation">; } diff --git a/flow-typed/npm/react-native-reanimated_vx.x.x.js b/flow-typed/npm/react-native-reanimated_vx.x.x.js index dbf66e5e3..d7f2c2710 100644 --- a/flow-typed/npm/react-native-reanimated_vx.x.x.js +++ b/flow-typed/npm/react-native-reanimated_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: bfd1b381c1cbbaf3a5606d1d261dfb76 -// flow-typed version: <>/react-native-reanimated_v1.1.0/flow_v0.98.0 +// flow-typed signature: 9cbb5efe81f54a73e4478ac9a2e038d7 +// flow-typed version: <>/react-native-reanimated_v^1.3.0/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-reanimated' { +declare module "react-native-reanimated" { declare module.exports: any; } @@ -22,462 +22,590 @@ declare module 'react-native-reanimated' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-native-reanimated/mock' { +declare module "react-native-reanimated/android/build/docs/javadoc/script" { declare module.exports: any; } -declare module 'react-native-reanimated/src/__mocks__/ReanimatedEventEmitter' { +declare module "react-native-reanimated/mock" { declare module.exports: any; } -declare module 'react-native-reanimated/src/__mocks__/ReanimatedModule' { +declare module "react-native-reanimated/src/__mocks__/ReanimatedEventEmitter" { declare module.exports: any; } -declare module 'react-native-reanimated/src/Animated' { +declare module "react-native-reanimated/src/__mocks__/ReanimatedModule" { declare module.exports: any; } -declare module 'react-native-reanimated/src/Animated.test' { +declare module "react-native-reanimated/src/Animated" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/Animation' { +declare module "react-native-reanimated/src/Animated.test" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/backwardCompatibleAnimWrapper' { +declare module "react-native-reanimated/src/animations/Animation" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/decay' { +declare module "react-native-reanimated/src/animations/backwardCompatibleAnimWrapper" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/DecayAnimation' { +declare module "react-native-reanimated/src/animations/decay" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/spring' { +declare module "react-native-reanimated/src/animations/DecayAnimation" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/SpringAnimation' { +declare module "react-native-reanimated/src/animations/spring" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/SpringUtils' { +declare module "react-native-reanimated/src/animations/SpringAnimation" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/timing' { +declare module "react-native-reanimated/src/animations/SpringUtils" { declare module.exports: any; } -declare module 'react-native-reanimated/src/animations/TimingAnimation' { +declare module "react-native-reanimated/src/animations/timing" { declare module.exports: any; } -declare module 'react-native-reanimated/src/base' { +declare module "react-native-reanimated/src/animations/TimingAnimation" { declare module.exports: any; } -declare module 'react-native-reanimated/src/ConfigHelper' { +declare module "react-native-reanimated/src/base" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/__mocks__/AnimatedProps' { +declare module "react-native-reanimated/src/ConfigHelper" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedAlways' { +declare module "react-native-reanimated/src/core/__mocks__/AnimatedProps" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedBezier' { +declare module "react-native-reanimated/src/core/AnimatedAlways" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedBlock' { +declare module "react-native-reanimated/src/core/AnimatedBezier" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedCall' { +declare module "react-native-reanimated/src/core/AnimatedBlock" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedClock' { +declare module "react-native-reanimated/src/core/AnimatedCall" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedClockTest' { +declare module "react-native-reanimated/src/core/AnimatedCallFunc" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedCode' { +declare module "react-native-reanimated/src/core/AnimatedClock" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedConcat' { +declare module "react-native-reanimated/src/core/AnimatedClockTest" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedCond' { +declare module "react-native-reanimated/src/core/AnimatedCode" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedDebug' { +declare module "react-native-reanimated/src/core/AnimatedConcat" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedEvent' { +declare module "react-native-reanimated/src/core/AnimatedCond" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedNode' { +declare module "react-native-reanimated/src/core/AnimatedDebug" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedOperator' { +declare module "react-native-reanimated/src/core/AnimatedEvent" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedProps' { +declare module "react-native-reanimated/src/core/AnimatedFunction" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedSet' { +declare module "react-native-reanimated/src/core/AnimatedNode" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedStartClock' { +declare module "react-native-reanimated/src/core/AnimatedOperator" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedStopClock' { +declare module "react-native-reanimated/src/core/AnimatedParam" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedStyle' { +declare module "react-native-reanimated/src/core/AnimatedProps" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedTransform' { +declare module "react-native-reanimated/src/core/AnimatedSet" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/AnimatedValue' { +declare module "react-native-reanimated/src/core/AnimatedStartClock" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/Core.test' { +declare module "react-native-reanimated/src/core/AnimatedStopClock" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/createEventObjectProxyPolyfill' { +declare module "react-native-reanimated/src/core/AnimatedStyle" { declare module.exports: any; } -declare module 'react-native-reanimated/src/core/InternalAnimatedValue' { +declare module "react-native-reanimated/src/core/AnimatedTransform" { declare module.exports: any; } -declare module 'react-native-reanimated/src/createAnimatedComponent' { +declare module "react-native-reanimated/src/core/AnimatedValue" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/__mocks__/evaluateOnce' { +declare module "react-native-reanimated/src/core/Core.test" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/abs' { +declare module "react-native-reanimated/src/core/createEventObjectProxyPolyfill" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/acc' { +declare module "react-native-reanimated/src/core/InternalAnimatedValue" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/ceil' { +declare module "react-native-reanimated/src/createAnimatedComponent" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/color' { +declare module "react-native-reanimated/src/derived/__mocks__/evaluateOnce" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/diff' { +declare module "react-native-reanimated/src/derived/abs" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/diffClamp' { +declare module "react-native-reanimated/src/derived/acc" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/evaluateOnce' { +declare module "react-native-reanimated/src/derived/ceil" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/floor' { +declare module "react-native-reanimated/src/derived/color" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived' { +declare module "react-native-reanimated/src/derived/diff" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/interpolate' { +declare module "react-native-reanimated/src/derived/diffClamp" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/interpolate.test' { +declare module "react-native-reanimated/src/derived/evaluateOnce" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/max' { +declare module "react-native-reanimated/src/derived/floor" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/min' { +declare module "react-native-reanimated/src/derived" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/onChange' { +declare module "react-native-reanimated/src/derived/interpolate" { declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/useCode' { +declare module "react-native-reanimated/src/derived/interpolate.test" { declare module.exports: any; } -declare module 'react-native-reanimated/src/Easing' { +declare module "react-native-reanimated/src/derived/max" { declare module.exports: any; } -declare module 'react-native-reanimated/src/operators' { +declare module "react-native-reanimated/src/derived/min" { declare module.exports: any; } -declare module 'react-native-reanimated/src/ReanimatedEventEmitter' { +declare module "react-native-reanimated/src/derived/onChange" { declare module.exports: any; } -declare module 'react-native-reanimated/src/ReanimatedModule' { +declare module "react-native-reanimated/src/derived/useCode" { declare module.exports: any; } -declare module 'react-native-reanimated/src/ReanimatedModule.web' { +declare module "react-native-reanimated/src/Easing" { declare module.exports: any; } -declare module 'react-native-reanimated/src/SpringConfig' { +declare module "react-native-reanimated/src/operators" { declare module.exports: any; } -declare module 'react-native-reanimated/src/Transitioning' { +declare module "react-native-reanimated/src/ReanimatedEventEmitter" { declare module.exports: any; } -declare module 'react-native-reanimated/src/val' { +declare module "react-native-reanimated/src/ReanimatedModule" { declare module.exports: any; } -// Filename aliases -declare module 'react-native-reanimated/mock.js' { - declare module.exports: $Exports<'react-native-reanimated/mock'>; -} -declare module 'react-native-reanimated/src/__mocks__/ReanimatedEventEmitter.js' { - declare module.exports: $Exports<'react-native-reanimated/src/__mocks__/ReanimatedEventEmitter'>; -} -declare module 'react-native-reanimated/src/__mocks__/ReanimatedModule.js' { - declare module.exports: $Exports<'react-native-reanimated/src/__mocks__/ReanimatedModule'>; -} -declare module 'react-native-reanimated/src/Animated.js' { - declare module.exports: $Exports<'react-native-reanimated/src/Animated'>; -} -declare module 'react-native-reanimated/src/Animated.test.js' { - declare module.exports: $Exports<'react-native-reanimated/src/Animated.test'>; -} -declare module 'react-native-reanimated/src/animations/Animation.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/Animation'>; -} -declare module 'react-native-reanimated/src/animations/backwardCompatibleAnimWrapper.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/backwardCompatibleAnimWrapper'>; -} -declare module 'react-native-reanimated/src/animations/decay.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/decay'>; -} -declare module 'react-native-reanimated/src/animations/DecayAnimation.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/DecayAnimation'>; -} -declare module 'react-native-reanimated/src/animations/spring.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/spring'>; -} -declare module 'react-native-reanimated/src/animations/SpringAnimation.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/SpringAnimation'>; -} -declare module 'react-native-reanimated/src/animations/SpringUtils.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/SpringUtils'>; -} -declare module 'react-native-reanimated/src/animations/timing.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/timing'>; -} -declare module 'react-native-reanimated/src/animations/TimingAnimation.js' { - declare module.exports: $Exports<'react-native-reanimated/src/animations/TimingAnimation'>; -} -declare module 'react-native-reanimated/src/base.js' { - declare module.exports: $Exports<'react-native-reanimated/src/base'>; -} -declare module 'react-native-reanimated/src/ConfigHelper.js' { - declare module.exports: $Exports<'react-native-reanimated/src/ConfigHelper'>; -} -declare module 'react-native-reanimated/src/core/__mocks__/AnimatedProps.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/__mocks__/AnimatedProps'>; -} -declare module 'react-native-reanimated/src/core/AnimatedAlways.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedAlways'>; -} -declare module 'react-native-reanimated/src/core/AnimatedBezier.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedBezier'>; -} -declare module 'react-native-reanimated/src/core/AnimatedBlock.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedBlock'>; -} -declare module 'react-native-reanimated/src/core/AnimatedCall.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedCall'>; -} -declare module 'react-native-reanimated/src/core/AnimatedClock.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedClock'>; -} -declare module 'react-native-reanimated/src/core/AnimatedClockTest.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedClockTest'>; -} -declare module 'react-native-reanimated/src/core/AnimatedCode.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedCode'>; -} -declare module 'react-native-reanimated/src/core/AnimatedConcat.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedConcat'>; -} -declare module 'react-native-reanimated/src/core/AnimatedCond.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedCond'>; -} -declare module 'react-native-reanimated/src/core/AnimatedDebug.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedDebug'>; -} -declare module 'react-native-reanimated/src/core/AnimatedEvent.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedEvent'>; -} -declare module 'react-native-reanimated/src/core/AnimatedNode.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedNode'>; -} -declare module 'react-native-reanimated/src/core/AnimatedOperator.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedOperator'>; -} -declare module 'react-native-reanimated/src/core/AnimatedProps.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedProps'>; -} -declare module 'react-native-reanimated/src/core/AnimatedSet.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedSet'>; -} -declare module 'react-native-reanimated/src/core/AnimatedStartClock.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedStartClock'>; -} -declare module 'react-native-reanimated/src/core/AnimatedStopClock.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedStopClock'>; -} -declare module 'react-native-reanimated/src/core/AnimatedStyle.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedStyle'>; -} -declare module 'react-native-reanimated/src/core/AnimatedTransform.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedTransform'>; -} -declare module 'react-native-reanimated/src/core/AnimatedValue.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/AnimatedValue'>; -} -declare module 'react-native-reanimated/src/core/Core.test.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/Core.test'>; -} -declare module 'react-native-reanimated/src/core/createEventObjectProxyPolyfill.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/createEventObjectProxyPolyfill'>; -} -declare module 'react-native-reanimated/src/core/InternalAnimatedValue.js' { - declare module.exports: $Exports<'react-native-reanimated/src/core/InternalAnimatedValue'>; -} -declare module 'react-native-reanimated/src/createAnimatedComponent.js' { - declare module.exports: $Exports<'react-native-reanimated/src/createAnimatedComponent'>; -} -declare module 'react-native-reanimated/src/derived/__mocks__/evaluateOnce.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/__mocks__/evaluateOnce'>; -} -declare module 'react-native-reanimated/src/derived/abs.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/abs'>; -} -declare module 'react-native-reanimated/src/derived/acc.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/acc'>; -} -declare module 'react-native-reanimated/src/derived/ceil.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/ceil'>; -} -declare module 'react-native-reanimated/src/derived/color.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/color'>; -} -declare module 'react-native-reanimated/src/derived/diff.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/diff'>; -} -declare module 'react-native-reanimated/src/derived/diffClamp.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/diffClamp'>; -} -declare module 'react-native-reanimated/src/derived/evaluateOnce.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/evaluateOnce'>; -} -declare module 'react-native-reanimated/src/derived/floor.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/floor'>; -} -declare module 'react-native-reanimated/src/derived/index' { - declare module.exports: $Exports<'react-native-reanimated/src/derived'>; -} -declare module 'react-native-reanimated/src/derived/index.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived'>; -} -declare module 'react-native-reanimated/src/derived/interpolate.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/interpolate'>; -} -declare module 'react-native-reanimated/src/derived/interpolate.test.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/interpolate.test'>; +declare module "react-native-reanimated/src/ReanimatedModule.web" { + declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/max.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/max'>; + +declare module "react-native-reanimated/src/SpringConfig" { + declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/min.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/min'>; + +declare module "react-native-reanimated/src/Transitioning" { + declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/onChange.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/onChange'>; + +declare module "react-native-reanimated/src/val" { + declare module.exports: any; } -declare module 'react-native-reanimated/src/derived/useCode.js' { - declare module.exports: $Exports<'react-native-reanimated/src/derived/useCode'>; + +// Filename aliases +declare module "react-native-reanimated/android/build/docs/javadoc/script.js" { + declare module.exports: $Exports< + "react-native-reanimated/android/build/docs/javadoc/script" + >; +} +declare module "react-native-reanimated/mock.js" { + declare module.exports: $Exports<"react-native-reanimated/mock">; +} +declare module "react-native-reanimated/src/__mocks__/ReanimatedEventEmitter.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/__mocks__/ReanimatedEventEmitter" + >; +} +declare module "react-native-reanimated/src/__mocks__/ReanimatedModule.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/__mocks__/ReanimatedModule" + >; +} +declare module "react-native-reanimated/src/Animated.js" { + declare module.exports: $Exports<"react-native-reanimated/src/Animated">; +} +declare module "react-native-reanimated/src/Animated.test.js" { + declare module.exports: $Exports<"react-native-reanimated/src/Animated.test">; +} +declare module "react-native-reanimated/src/animations/Animation.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/Animation" + >; +} +declare module "react-native-reanimated/src/animations/backwardCompatibleAnimWrapper.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/backwardCompatibleAnimWrapper" + >; +} +declare module "react-native-reanimated/src/animations/decay.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/decay" + >; +} +declare module "react-native-reanimated/src/animations/DecayAnimation.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/DecayAnimation" + >; +} +declare module "react-native-reanimated/src/animations/spring.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/spring" + >; +} +declare module "react-native-reanimated/src/animations/SpringAnimation.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/SpringAnimation" + >; +} +declare module "react-native-reanimated/src/animations/SpringUtils.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/SpringUtils" + >; +} +declare module "react-native-reanimated/src/animations/timing.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/timing" + >; +} +declare module "react-native-reanimated/src/animations/TimingAnimation.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/animations/TimingAnimation" + >; +} +declare module "react-native-reanimated/src/base.js" { + declare module.exports: $Exports<"react-native-reanimated/src/base">; +} +declare module "react-native-reanimated/src/ConfigHelper.js" { + declare module.exports: $Exports<"react-native-reanimated/src/ConfigHelper">; +} +declare module "react-native-reanimated/src/core/__mocks__/AnimatedProps.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/__mocks__/AnimatedProps" + >; +} +declare module "react-native-reanimated/src/core/AnimatedAlways.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedAlways" + >; +} +declare module "react-native-reanimated/src/core/AnimatedBezier.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedBezier" + >; +} +declare module "react-native-reanimated/src/core/AnimatedBlock.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedBlock" + >; +} +declare module "react-native-reanimated/src/core/AnimatedCall.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedCall" + >; +} +declare module "react-native-reanimated/src/core/AnimatedCallFunc.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedCallFunc" + >; +} +declare module "react-native-reanimated/src/core/AnimatedClock.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedClock" + >; +} +declare module "react-native-reanimated/src/core/AnimatedClockTest.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedClockTest" + >; +} +declare module "react-native-reanimated/src/core/AnimatedCode.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedCode" + >; +} +declare module "react-native-reanimated/src/core/AnimatedConcat.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedConcat" + >; +} +declare module "react-native-reanimated/src/core/AnimatedCond.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedCond" + >; +} +declare module "react-native-reanimated/src/core/AnimatedDebug.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedDebug" + >; +} +declare module "react-native-reanimated/src/core/AnimatedEvent.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedEvent" + >; +} +declare module "react-native-reanimated/src/core/AnimatedFunction.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedFunction" + >; +} +declare module "react-native-reanimated/src/core/AnimatedNode.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedNode" + >; +} +declare module "react-native-reanimated/src/core/AnimatedOperator.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedOperator" + >; +} +declare module "react-native-reanimated/src/core/AnimatedParam.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedParam" + >; +} +declare module "react-native-reanimated/src/core/AnimatedProps.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedProps" + >; +} +declare module "react-native-reanimated/src/core/AnimatedSet.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedSet" + >; +} +declare module "react-native-reanimated/src/core/AnimatedStartClock.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedStartClock" + >; +} +declare module "react-native-reanimated/src/core/AnimatedStopClock.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedStopClock" + >; +} +declare module "react-native-reanimated/src/core/AnimatedStyle.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedStyle" + >; +} +declare module "react-native-reanimated/src/core/AnimatedTransform.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedTransform" + >; +} +declare module "react-native-reanimated/src/core/AnimatedValue.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/AnimatedValue" + >; +} +declare module "react-native-reanimated/src/core/Core.test.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/Core.test" + >; +} +declare module "react-native-reanimated/src/core/createEventObjectProxyPolyfill.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/createEventObjectProxyPolyfill" + >; +} +declare module "react-native-reanimated/src/core/InternalAnimatedValue.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/core/InternalAnimatedValue" + >; +} +declare module "react-native-reanimated/src/createAnimatedComponent.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/createAnimatedComponent" + >; +} +declare module "react-native-reanimated/src/derived/__mocks__/evaluateOnce.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/derived/__mocks__/evaluateOnce" + >; +} +declare module "react-native-reanimated/src/derived/abs.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived/abs">; +} +declare module "react-native-reanimated/src/derived/acc.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived/acc">; +} +declare module "react-native-reanimated/src/derived/ceil.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived/ceil">; +} +declare module "react-native-reanimated/src/derived/color.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived/color">; +} +declare module "react-native-reanimated/src/derived/diff.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived/diff">; +} +declare module "react-native-reanimated/src/derived/diffClamp.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/derived/diffClamp" + >; +} +declare module "react-native-reanimated/src/derived/evaluateOnce.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/derived/evaluateOnce" + >; +} +declare module "react-native-reanimated/src/derived/floor.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived/floor">; +} +declare module "react-native-reanimated/src/derived/index" { + declare module.exports: $Exports<"react-native-reanimated/src/derived">; +} +declare module "react-native-reanimated/src/derived/index.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived">; +} +declare module "react-native-reanimated/src/derived/interpolate.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/derived/interpolate" + >; +} +declare module "react-native-reanimated/src/derived/interpolate.test.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/derived/interpolate.test" + >; +} +declare module "react-native-reanimated/src/derived/max.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived/max">; +} +declare module "react-native-reanimated/src/derived/min.js" { + declare module.exports: $Exports<"react-native-reanimated/src/derived/min">; +} +declare module "react-native-reanimated/src/derived/onChange.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/derived/onChange" + >; } -declare module 'react-native-reanimated/src/Easing.js' { - declare module.exports: $Exports<'react-native-reanimated/src/Easing'>; +declare module "react-native-reanimated/src/derived/useCode.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/derived/useCode" + >; } -declare module 'react-native-reanimated/src/operators.js' { - declare module.exports: $Exports<'react-native-reanimated/src/operators'>; +declare module "react-native-reanimated/src/Easing.js" { + declare module.exports: $Exports<"react-native-reanimated/src/Easing">; } -declare module 'react-native-reanimated/src/ReanimatedEventEmitter.js' { - declare module.exports: $Exports<'react-native-reanimated/src/ReanimatedEventEmitter'>; +declare module "react-native-reanimated/src/operators.js" { + declare module.exports: $Exports<"react-native-reanimated/src/operators">; +} +declare module "react-native-reanimated/src/ReanimatedEventEmitter.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/ReanimatedEventEmitter" + >; } -declare module 'react-native-reanimated/src/ReanimatedModule.js' { - declare module.exports: $Exports<'react-native-reanimated/src/ReanimatedModule'>; +declare module "react-native-reanimated/src/ReanimatedModule.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/ReanimatedModule" + >; } -declare module 'react-native-reanimated/src/ReanimatedModule.web.js' { - declare module.exports: $Exports<'react-native-reanimated/src/ReanimatedModule.web'>; +declare module "react-native-reanimated/src/ReanimatedModule.web.js" { + declare module.exports: $Exports< + "react-native-reanimated/src/ReanimatedModule.web" + >; } -declare module 'react-native-reanimated/src/SpringConfig.js' { - declare module.exports: $Exports<'react-native-reanimated/src/SpringConfig'>; +declare module "react-native-reanimated/src/SpringConfig.js" { + declare module.exports: $Exports<"react-native-reanimated/src/SpringConfig">; } -declare module 'react-native-reanimated/src/Transitioning.js' { - declare module.exports: $Exports<'react-native-reanimated/src/Transitioning'>; +declare module "react-native-reanimated/src/Transitioning.js" { + declare module.exports: $Exports<"react-native-reanimated/src/Transitioning">; } -declare module 'react-native-reanimated/src/val.js' { - declare module.exports: $Exports<'react-native-reanimated/src/val'>; +declare module "react-native-reanimated/src/val.js" { + declare module.exports: $Exports<"react-native-reanimated/src/val">; } diff --git a/flow-typed/npm/react-native-screens_vx.x.x.js b/flow-typed/npm/react-native-screens_vx.x.x.js new file mode 100644 index 000000000..766eacabc --- /dev/null +++ b/flow-typed/npm/react-native-screens_vx.x.x.js @@ -0,0 +1,48 @@ +// flow-typed signature: bfbbf3f6408bfb8a20b37f8f87045d14 +// flow-typed version: <>/react-native-screens_v^2.4.0/flow_v0.121.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-native-screens' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module "react-native-screens" { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module "react-native-screens/createNativeStackNavigator" { + declare module.exports: any; +} + +declare module "react-native-screens/src/screens.native" { + declare module.exports: any; +} + +declare module "react-native-screens/src/screens.web" { + declare module.exports: any; +} + +// Filename aliases +declare module "react-native-screens/createNativeStackNavigator.js" { + declare module.exports: $Exports< + "react-native-screens/createNativeStackNavigator" + >; +} +declare module "react-native-screens/src/screens.native.js" { + declare module.exports: $Exports<"react-native-screens/src/screens.native">; +} +declare module "react-native-screens/src/screens.web.js" { + declare module.exports: $Exports<"react-native-screens/src/screens.web">; +} diff --git a/flow-typed/npm/react-native-share_vx.x.x.js b/flow-typed/npm/react-native-share_vx.x.x.js index 9bdccc3b3..d26cca3e4 100644 --- a/flow-typed/npm/react-native-share_vx.x.x.js +++ b/flow-typed/npm/react-native-share_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: bd4c481dc5e4effcb86ee0fff48bb0b0 -// flow-typed version: <>/react-native-share_v^2.0.0/flow_v0.98.0 +// flow-typed signature: 32e61b54dab745d2888180bc5cd916db +// flow-typed version: <>/react-native-share_v^3.1.1/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-share' { +declare module "react-native-share" { declare module.exports: any; } @@ -22,45 +22,38 @@ declare module 'react-native-share' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-native-share/changelog' { +declare module "react-native-share/changelog" { declare module.exports: any; } -declare module 'react-native-share/components/Button' { +declare module "react-native-share/components/Button" { declare module.exports: any; } -declare module 'react-native-share/components/Overlay' { +declare module "react-native-share/components/Overlay" { declare module.exports: any; } -declare module 'react-native-share/components/Sheet' { - declare module.exports: any; -} - -declare module 'react-native-share/prettier.config' { +declare module "react-native-share/components/Sheet" { declare module.exports: any; } // Filename aliases -declare module 'react-native-share/changelog.js' { - declare module.exports: $Exports<'react-native-share/changelog'>; -} -declare module 'react-native-share/components/Button.js' { - declare module.exports: $Exports<'react-native-share/components/Button'>; +declare module "react-native-share/changelog.js" { + declare module.exports: $Exports<"react-native-share/changelog">; } -declare module 'react-native-share/components/Overlay.js' { - declare module.exports: $Exports<'react-native-share/components/Overlay'>; +declare module "react-native-share/components/Button.js" { + declare module.exports: $Exports<"react-native-share/components/Button">; } -declare module 'react-native-share/components/Sheet.js' { - declare module.exports: $Exports<'react-native-share/components/Sheet'>; +declare module "react-native-share/components/Overlay.js" { + declare module.exports: $Exports<"react-native-share/components/Overlay">; } -declare module 'react-native-share/index' { - declare module.exports: $Exports<'react-native-share'>; +declare module "react-native-share/components/Sheet.js" { + declare module.exports: $Exports<"react-native-share/components/Sheet">; } -declare module 'react-native-share/index.js' { - declare module.exports: $Exports<'react-native-share'>; +declare module "react-native-share/index" { + declare module.exports: $Exports<"react-native-share">; } -declare module 'react-native-share/prettier.config.js' { - declare module.exports: $Exports<'react-native-share/prettier.config'>; +declare module "react-native-share/index.js" { + declare module.exports: $Exports<"react-native-share">; } diff --git a/flow-typed/npm/react-native-splash-screen_vx.x.x.js b/flow-typed/npm/react-native-splash-screen_vx.x.x.js index 58c69d96e..5e6a96577 100644 --- a/flow-typed/npm/react-native-splash-screen_vx.x.x.js +++ b/flow-typed/npm/react-native-splash-screen_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 152f9ebf7f642cb4f9e006e578c80852 -// flow-typed version: <>/react-native-splash-screen_v^3.2.0/flow_v0.98.0 +// flow-typed signature: dfd4c08ea9426e464f4b3c2b0f9cf562 +// flow-typed version: <>/react-native-splash-screen_v^3.2.0/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-splash-screen' { +declare module "react-native-splash-screen" { declare module.exports: any; } @@ -23,11 +23,10 @@ declare module 'react-native-splash-screen' { * needed. */ - // Filename aliases -declare module 'react-native-splash-screen/index' { - declare module.exports: $Exports<'react-native-splash-screen'>; +declare module "react-native-splash-screen/index" { + declare module.exports: $Exports<"react-native-splash-screen">; } -declare module 'react-native-splash-screen/index.js' { - declare module.exports: $Exports<'react-native-splash-screen'>; +declare module "react-native-splash-screen/index.js" { + declare module.exports: $Exports<"react-native-splash-screen">; } diff --git a/flow-typed/npm/react-native-tab-view_vx.x.x.js b/flow-typed/npm/react-native-tab-view_vx.x.x.js index 5596bffd9..df452defd 100644 --- a/flow-typed/npm/react-native-tab-view_vx.x.x.js +++ b/flow-typed/npm/react-native-tab-view_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 5f3cec37d036a7ab39dc56b31b3cee1c -// flow-typed version: <>/react-native-tab-view_v^2.6.1/flow_v0.98.0 +// flow-typed signature: 2734df6b8ea116f24a23bba9f0af7caa +// flow-typed version: <>/react-native-tab-view_v^2.12.0/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-native-tab-view' { +declare module "react-native-tab-view" { declare module.exports: any; } @@ -22,164 +22,204 @@ declare module 'react-native-tab-view' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-native-tab-view/lib/commonjs' { +declare module "react-native-tab-view/lib/commonjs" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/memoize' { +declare module "react-native-tab-view/lib/commonjs/memoize" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/Pager' { +declare module "react-native-tab-view/lib/commonjs/Pager" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/SceneMap' { +declare module "react-native-tab-view/lib/commonjs/SceneMap" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/SceneView' { +declare module "react-native-tab-view/lib/commonjs/SceneView" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/TabBar' { +declare module "react-native-tab-view/lib/commonjs/ScrollPager" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/TabBarIndicator' { +declare module "react-native-tab-view/lib/commonjs/TabBar" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/TabBarItem' { +declare module "react-native-tab-view/lib/commonjs/TabBarIndicator" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/TabView' { +declare module "react-native-tab-view/lib/commonjs/TabBarItem" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/TouchableItem' { +declare module "react-native-tab-view/lib/commonjs/TabView" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/commonjs/types' { +declare module "react-native-tab-view/lib/commonjs/TouchableItem" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module' { +declare module "react-native-tab-view/lib/commonjs/types" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/memoize' { +declare module "react-native-tab-view/lib/module" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/Pager' { +declare module "react-native-tab-view/lib/module/memoize" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/SceneMap' { +declare module "react-native-tab-view/lib/module/Pager" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/SceneView' { +declare module "react-native-tab-view/lib/module/SceneMap" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/TabBar' { +declare module "react-native-tab-view/lib/module/SceneView" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/TabBarIndicator' { +declare module "react-native-tab-view/lib/module/ScrollPager" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/TabBarItem' { +declare module "react-native-tab-view/lib/module/TabBar" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/TabView' { +declare module "react-native-tab-view/lib/module/TabBarIndicator" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/TouchableItem' { +declare module "react-native-tab-view/lib/module/TabBarItem" { declare module.exports: any; } -declare module 'react-native-tab-view/lib/module/types' { +declare module "react-native-tab-view/lib/module/TabView" { + declare module.exports: any; +} + +declare module "react-native-tab-view/lib/module/TouchableItem" { + declare module.exports: any; +} + +declare module "react-native-tab-view/lib/module/types" { declare module.exports: any; } // Filename aliases -declare module 'react-native-tab-view/lib/commonjs/index' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs'>; +declare module "react-native-tab-view/lib/commonjs/index" { + declare module.exports: $Exports<"react-native-tab-view/lib/commonjs">; +} +declare module "react-native-tab-view/lib/commonjs/index.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/commonjs">; +} +declare module "react-native-tab-view/lib/commonjs/memoize.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/commonjs/memoize" + >; } -declare module 'react-native-tab-view/lib/commonjs/index.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs'>; +declare module "react-native-tab-view/lib/commonjs/Pager.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/commonjs/Pager">; } -declare module 'react-native-tab-view/lib/commonjs/memoize.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/memoize'>; +declare module "react-native-tab-view/lib/commonjs/SceneMap.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/commonjs/SceneMap" + >; } -declare module 'react-native-tab-view/lib/commonjs/Pager.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/Pager'>; +declare module "react-native-tab-view/lib/commonjs/SceneView.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/commonjs/SceneView" + >; } -declare module 'react-native-tab-view/lib/commonjs/SceneMap.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/SceneMap'>; +declare module "react-native-tab-view/lib/commonjs/ScrollPager.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/commonjs/ScrollPager" + >; } -declare module 'react-native-tab-view/lib/commonjs/SceneView.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/SceneView'>; +declare module "react-native-tab-view/lib/commonjs/TabBar.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/commonjs/TabBar">; } -declare module 'react-native-tab-view/lib/commonjs/TabBar.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/TabBar'>; +declare module "react-native-tab-view/lib/commonjs/TabBarIndicator.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/commonjs/TabBarIndicator" + >; } -declare module 'react-native-tab-view/lib/commonjs/TabBarIndicator.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/TabBarIndicator'>; +declare module "react-native-tab-view/lib/commonjs/TabBarItem.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/commonjs/TabBarItem" + >; } -declare module 'react-native-tab-view/lib/commonjs/TabBarItem.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/TabBarItem'>; +declare module "react-native-tab-view/lib/commonjs/TabView.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/commonjs/TabView" + >; } -declare module 'react-native-tab-view/lib/commonjs/TabView.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/TabView'>; +declare module "react-native-tab-view/lib/commonjs/TouchableItem.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/commonjs/TouchableItem" + >; } -declare module 'react-native-tab-view/lib/commonjs/TouchableItem.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/TouchableItem'>; +declare module "react-native-tab-view/lib/commonjs/types.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/commonjs/types">; } -declare module 'react-native-tab-view/lib/commonjs/types.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/commonjs/types'>; +declare module "react-native-tab-view/lib/module/index" { + declare module.exports: $Exports<"react-native-tab-view/lib/module">; } -declare module 'react-native-tab-view/lib/module/index' { - declare module.exports: $Exports<'react-native-tab-view/lib/module'>; +declare module "react-native-tab-view/lib/module/index.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/module">; } -declare module 'react-native-tab-view/lib/module/index.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module'>; +declare module "react-native-tab-view/lib/module/memoize.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/module/memoize">; } -declare module 'react-native-tab-view/lib/module/memoize.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/memoize'>; +declare module "react-native-tab-view/lib/module/Pager.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/module/Pager">; } -declare module 'react-native-tab-view/lib/module/Pager.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/Pager'>; +declare module "react-native-tab-view/lib/module/SceneMap.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/module/SceneMap">; } -declare module 'react-native-tab-view/lib/module/SceneMap.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/SceneMap'>; +declare module "react-native-tab-view/lib/module/SceneView.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/module/SceneView" + >; } -declare module 'react-native-tab-view/lib/module/SceneView.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/SceneView'>; +declare module "react-native-tab-view/lib/module/ScrollPager.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/module/ScrollPager" + >; } -declare module 'react-native-tab-view/lib/module/TabBar.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/TabBar'>; +declare module "react-native-tab-view/lib/module/TabBar.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/module/TabBar">; } -declare module 'react-native-tab-view/lib/module/TabBarIndicator.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/TabBarIndicator'>; +declare module "react-native-tab-view/lib/module/TabBarIndicator.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/module/TabBarIndicator" + >; } -declare module 'react-native-tab-view/lib/module/TabBarItem.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/TabBarItem'>; +declare module "react-native-tab-view/lib/module/TabBarItem.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/module/TabBarItem" + >; } -declare module 'react-native-tab-view/lib/module/TabView.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/TabView'>; +declare module "react-native-tab-view/lib/module/TabView.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/module/TabView">; } -declare module 'react-native-tab-view/lib/module/TouchableItem.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/TouchableItem'>; +declare module "react-native-tab-view/lib/module/TouchableItem.js" { + declare module.exports: $Exports< + "react-native-tab-view/lib/module/TouchableItem" + >; } -declare module 'react-native-tab-view/lib/module/types.js' { - declare module.exports: $Exports<'react-native-tab-view/lib/module/types'>; +declare module "react-native-tab-view/lib/module/types.js" { + declare module.exports: $Exports<"react-native-tab-view/lib/module/types">; } diff --git a/flow-typed/npm/react-native-unimodules_v0.x.x.js b/flow-typed/npm/react-native-unimodules_v0.x.x.js index 49d16faac..bb17bf95e 100644 --- a/flow-typed/npm/react-native-unimodules_v0.x.x.js +++ b/flow-typed/npm/react-native-unimodules_v0.x.x.js @@ -1,7 +1,7 @@ -// flow-typed signature: 1b667230b360dec24ddf8776480f4725 -// flow-typed version: c6154227d1/react-native-unimodules_v0.x.x/flow_>=v0.69.0 <=v0.103.x +// flow-typed signature: 495375b917340c57fa3b501dfacab2ab +// flow-typed version: c6154227d1/react-native-unimodules_v0.x.x/flow_>=v0.104.x -declare module 'react-native-unimodules/@@expo-asset' { +declare module "react-native-unimodules/@@expo-asset" { declare export type AssetMetadata = {| hash: string, name: string, @@ -13,7 +13,7 @@ declare module 'react-native-unimodules/@@expo-asset' { height?: number, uri?: string, fileHashes?: Array, - fileUris?: Array, + fileUris?: Array |}; declare export type AssetDescriptor = {| @@ -23,7 +23,7 @@ declare module 'react-native-unimodules/@@expo-asset' { hash?: ?string, width?: ?number, - height?: ?number, + height?: ?number |}; declare export class Asset { @@ -49,10 +49,10 @@ declare module 'react-native-unimodules/@@expo-asset' { } } -declare module 'react-native-unimodules/@@expo-constants' { - declare export type AppOwnership = 'standalone' | 'expo' | 'guest'; +declare module "react-native-unimodules/@@expo-constants" { + declare export type AppOwnership = "standalone" | "expo" | "guest"; - declare export type UserInterfaceIdiom = 'handset' | 'tablet' | 'unsupported'; + declare export type UserInterfaceIdiom = "handset" | "tablet" | "unsupported"; declare export type IOSManifest = { buildNumber: string, @@ -60,13 +60,12 @@ declare module 'react-native-unimodules/@@expo-constants' { model: string, userInterfaceIdiom: UserInterfaceIdiom, systemVersion: string, + ... }; - declare export type AndroidManifest = { - versionCode: number, - }; + declare export type AndroidManifest = { versionCode: number, ... }; - declare export type WebManifest = {}; + declare export type WebManifest = { ... }; declare export type AppManifest = { name?: string, @@ -80,10 +79,9 @@ declare module 'react-native-unimodules/@@expo-constants' { notification?: { icon?: string, color?: string, + ... }, - loading?: { - icon?: string, - }, + loading?: { icon?: string, ... }, entryPoint?: string, packagerOpts?: { hostType?: string, @@ -93,28 +91,27 @@ declare module 'react-native-unimodules/@@expo-constants' { urlType?: string, urlRandomness?: string, lanType?: string, + ... }, xde?: boolean, - developer?: { - tool?: string, - }, + developer?: { tool?: string, ... }, bundleUrl: string, debuggerHost?: string, mainModuleName?: string, logUrl?: string, + ... }; declare export type PlatformManifest = { ios?: IOSManifest, android?: AndroidManifest, web?: WebManifest, - detach?: { - scheme?: string, - }, + detach?: { scheme?: string, ... }, logUrl?: string, scheme?: string, hostUri?: string, developer?: string, + ... }; declare export type NativeConstants = { @@ -138,31 +135,29 @@ declare module 'react-native-unimodules/@@expo-constants' { manifest: AppManifest, platform?: PlatformManifest, getWebViewUserAgentAsync: () => Promise, + ... }; declare export default { deviceId?: string, linkingUrl?: string, + ... } & NativeConstants; } -declare module 'react-native-unimodules/@@expo-file-system' { +declare module "react-native-unimodules/@@expo-file-system" { // Types declare export type DownloadOptions = {| md5?: boolean, cache?: boolean, - headers?: { - [name: string]: string, - }, + headers?: { [name: string]: string, ... } |}; declare export type DownloadResult = {| uri: string, status: number, - headers: { - [name: string]: string, - }, - md5?: string, + headers: { [name: string]: string, ... }, + md5?: string |}; declare export type DownloadProgressCallback = ( @@ -171,14 +166,14 @@ declare module 'react-native-unimodules/@@expo-file-system' { declare export type DownloadProgressData = {| totalBytesWritten: number, - totalBytesExpectedToWrite: number, + totalBytesExpectedToWrite: number |}; declare export type DownloadPauseState = {| url: string, fileUri: string, options: DownloadOptions, - resumeData?: string, + resumeData?: string |}; declare export type FileInfo = @@ -188,7 +183,7 @@ declare module 'react-native-unimodules/@@expo-file-system' { size: number, isDirectory: boolean, modificationTime: number, - md5?: string, + md5?: string |} | {| exists: false, @@ -196,29 +191,29 @@ declare module 'react-native-unimodules/@@expo-file-system' { size: void, isDirectory: false, modificationTime: void, - md5: void, + md5: void |}; - declare export type EncodingType = 'utf8' | 'base64'; + declare export type EncodingType = "utf8" | "base64"; declare export type GetInfoOptions = {| md5?: boolean, - cache?: boolean, + cache?: boolean |}; declare export type ReadingOptions = {| encoding?: EncodingType, position?: number, - length?: number, + length?: number |}; declare export type WritingOptions = {| - encoding?: EncodingType, + encoding?: EncodingType |}; declare export type FromToDescriptor = {| from: string, - to: string, + to: string |}; // Variables @@ -249,7 +244,7 @@ declare module 'react-native-unimodules/@@expo-file-system' { declare export function deleteAsync( fileUri: string, options?: {| - idempotent?: boolean, + idempotent?: boolean |} ): Promise; @@ -260,7 +255,7 @@ declare module 'react-native-unimodules/@@expo-file-system' { declare export function makeDirectoryAsync( fileUri: string, options?: {| - intermediates?: boolean, + intermediates?: boolean |} ): Promise; @@ -297,55 +292,55 @@ declare module 'react-native-unimodules/@@expo-file-system' { } } -declare module 'react-native-unimodules/@@expo-permissions' { +declare module "react-native-unimodules/@@expo-permissions" { declare export type PermissionResponse = $ReadOnly<{| status: PermissionStatus, expires: PermissionExpiration, - permissions: PermissionMap, + permissions: PermissionMap |}>; declare export type PermissionMap = $ReadOnly<{| - [permissionType: PermissionType]: PermissionInfo, + [permissionType: PermissionType]: PermissionInfo |}>; declare export type PermissionInfo = $ReadOnly<{| status: PermissionStatus, expires: PermissionExpiration, ios?: PermissionDetailsLocationIOS, - android?: PermissionDetailsLocationAndroid, + android?: PermissionDetailsLocationAndroid |}>; - declare export type PermissionStatus = 'undetermined' | 'granted' | 'denied'; + declare export type PermissionStatus = "undetermined" | "granted" | "denied"; - declare export type PermissionExpiration = 'never' | number; + declare export type PermissionExpiration = "never" | number; declare export type PermissionDetailsLocationIOS = $ReadOnly<{| - scope: 'whenInUse' | 'always', + scope: "whenInUse" | "always" |}>; declare export type PermissionDetailsLocationAndroid = $ReadOnly<{| - scope: 'fine' | 'coarse' | 'none', + scope: "fine" | "coarse" | "none" |}>; - declare export var CAMERA: 'camera'; + declare export var CAMERA: "camera"; - declare export var CAMERA_ROLL: 'cameraRoll'; + declare export var CAMERA_ROLL: "cameraRoll"; - declare export var AUDIO_RECORDING: 'audioRecording'; + declare export var AUDIO_RECORDING: "audioRecording"; - declare export var LOCATION: 'location'; + declare export var LOCATION: "location"; - declare export var USER_FACING_NOTIFICATIONS: 'userFacingNotifications'; + declare export var USER_FACING_NOTIFICATIONS: "userFacingNotifications"; - declare export var NOTIFICATIONS: 'notifications'; + declare export var NOTIFICATIONS: "notifications"; - declare export var CONTACTS: 'contacts'; + declare export var CONTACTS: "contacts"; - declare export var CALENDAR: 'calendar'; + declare export var CALENDAR: "calendar"; - declare export var REMINDERS: 'reminders'; + declare export var REMINDERS: "reminders"; - declare export var SYSTEM_BRIGHTNESS: 'systemBrightness'; + declare export var SYSTEM_BRIGHTNESS: "systemBrightness"; declare export type PermissionType = | typeof CAMERA @@ -368,18 +363,16 @@ declare module 'react-native-unimodules/@@expo-permissions' { ): Promise; } -declare module 'react-native-unimodules' { - declare export { Asset } from 'react-native-unimodules/@@expo-asset'; +declare module "react-native-unimodules" { + declare export { Asset } from "react-native-unimodules/@@expo-asset"; - declare export { - default as Constants, - } from 'react-native-unimodules/@@expo-constants'; + declare export { default as Constants } from "react-native-unimodules/@@expo-constants"; declare export var FileSystem: $Exports< - 'react-native-unimodules/@@expo-file-system' + "react-native-unimodules/@@expo-file-system" >; declare export var Permissions: $Exports< - 'react-native-unimodules/@@expo-permissions' + "react-native-unimodules/@@expo-permissions" >; } diff --git a/flow-typed/npm/react-native-v8_vx.x.x.js b/flow-typed/npm/react-native-v8_vx.x.x.js new file mode 100644 index 000000000..d3b9c1066 --- /dev/null +++ b/flow-typed/npm/react-native-v8_vx.x.x.js @@ -0,0 +1,18 @@ +// flow-typed signature: b25b299c68574da96675fbf90396f62d +// flow-typed version: <>/react-native-v8_v0.61.5-patch.0/flow_v0.121.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'react-native-v8' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module "react-native-v8" { + declare module.exports: any; +} diff --git a/flow-typed/npm/react-navigation-hooks_vx.x.x.js b/flow-typed/npm/react-navigation-hooks_vx.x.x.js index 617a9df08..610152ac6 100644 --- a/flow-typed/npm/react-navigation-hooks_vx.x.x.js +++ b/flow-typed/npm/react-navigation-hooks_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: d49b6088b22138a8ecb3fe535524024e -// flow-typed version: <>/react-navigation-hooks_v^1.0.1/flow_v0.98.0 +// flow-typed signature: 03155ee3f27dc4109d685b7b5aaba0ab +// flow-typed version: <>/react-navigation-hooks_v^1.0.1/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'react-navigation-hooks' { +declare module "react-navigation-hooks" { declare module.exports: any; } @@ -22,11 +22,20 @@ declare module 'react-navigation-hooks' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'react-navigation-hooks/dist/Hooks' { +declare module "react-navigation-hooks/dist/commonjs/Hooks" { + declare module.exports: any; +} + +declare module "react-navigation-hooks/dist/module/Hooks" { declare module.exports: any; } // Filename aliases -declare module 'react-navigation-hooks/dist/Hooks.js' { - declare module.exports: $Exports<'react-navigation-hooks/dist/Hooks'>; +declare module "react-navigation-hooks/dist/commonjs/Hooks.js" { + declare module.exports: $Exports< + "react-navigation-hooks/dist/commonjs/Hooks" + >; +} +declare module "react-navigation-hooks/dist/module/Hooks.js" { + declare module.exports: $Exports<"react-navigation-hooks/dist/module/Hooks">; } diff --git a/flow-typed/npm/react-navigation_v3.x.x.js b/flow-typed/npm/react-navigation_v3.x.x.js index eb0ddda90..d4700343d 100644 --- a/flow-typed/npm/react-navigation_v3.x.x.js +++ b/flow-typed/npm/react-navigation_v3.x.x.js @@ -1,9 +1,9 @@ -// flow-typed signature: 1e0a14aaec551bd339f7b5eea186a9e1 -// flow-typed version: 16cbaddecd/react-navigation_v3.x.x/flow_>=v0.92.x <=v0.103.x +// flow-typed signature: b3ed730c3b98dec0176da39d20436cd6 +// flow-typed version: c6154227d1/react-navigation_v3.x.x/flow_>=v0.104.x // @flow -declare module 'react-navigation' { +declare module "react-navigation" { /** * First, a bunch of things we would love to import but instead must * reconstruct (mostly copy-pasted). @@ -18,9 +18,9 @@ declare module 'react-navigation' { | void | number | false - | '' + | "" | $ReadOnlyArray - | { [name: string]: any }; + | { [name: string]: any, ... }; declare type ViewStyleProp = StyleObj; declare type TextStyleProp = StyleObj; declare type AnimatedViewStyleProp = StyleObj; @@ -31,6 +31,7 @@ declare module 'react-navigation' { declare type TabViewLayout = { height: number, width: number, + ... }; // This is copied from react-native/Libraries/Image/ImageSource.js @@ -40,16 +41,17 @@ declare module 'react-navigation' { method?: string, headers?: Object, body?: string, - cache?: 'default' | 'reload' | 'force-cache' | 'only-if-cached', + cache?: "default" | "reload" | "force-cache" | "only-if-cached", width?: number, height?: number, scale?: number, + ... }; declare type ImageSource = ImageURISource | number | Array; // This is copied from // react-native/Libraries/Animated/src/nodes/AnimatedInterpolation.js - declare type ExtrapolateType = 'extend' | 'identity' | 'clamp'; + declare type ExtrapolateType = "extend" | "identity" | "clamp"; declare type InterpolationConfigType = { inputRange: Array, outputRange: Array | Array, @@ -57,6 +59,7 @@ declare module 'react-navigation' { extrapolate?: ExtrapolateType, extrapolateLeft?: ExtrapolateType, extrapolateRight?: ExtrapolateType, + ... }; declare class AnimatedInterpolation { interpolate(config: InterpolationConfigType): AnimatedInterpolation; @@ -64,7 +67,7 @@ declare module 'react-navigation' { // This is copied from // react-native/Libraries/Animated/src/animations/Animation.js - declare type EndResult = { finished: boolean }; + declare type EndResult = { finished: boolean, ... }; declare type EndCallback = (result: EndResult) => void; declare class Animation { start( @@ -72,7 +75,7 @@ declare module 'react-navigation' { onUpdate: (value: number) => void, onEnd: ?EndCallback, previousAnimation: ?Animation, - animatedValue: AnimatedValue, + animatedValue: AnimatedValue ): void; stop(): void; } @@ -85,14 +88,14 @@ declare module 'react-navigation' { parent: any, animationClass: any, animationConfig: Object, - callback?: ?EndCallback, + callback?: ?EndCallback ): void; update(): void; } // This is vaguely copied from // react-native/Libraries/Animated/src/nodes/AnimatedValue.js - declare type ValueListenerCallback = (state: { value: number }) => void; + declare type ValueListenerCallback = (state: { value: number, ... }) => void; declare class AnimatedValue { constructor(value: number): void; setValue(value: number): void; @@ -118,91 +121,89 @@ declare module 'react-navigation' { * Navigation State + Action */ - declare export type NavigationParams = { - [key: string]: mixed, - }; + declare export type NavigationParams = { [key: string]: mixed, ... }; declare export type NavigationBackAction = {| - type: 'Navigation/BACK', - key?: ?string, + type: "Navigation/BACK", + key?: ?string |}; declare export type NavigationInitAction = {| - type: 'Navigation/INIT', - params?: NavigationParams, + type: "Navigation/INIT", + params?: NavigationParams |}; declare export type NavigationNavigateAction = {| - type: 'Navigation/NAVIGATE', + type: "Navigation/NAVIGATE", routeName: string, params?: NavigationParams, // The action to run inside the sub-router action?: NavigationNavigateAction, - key?: string, + key?: string |}; declare export type NavigationSetParamsAction = {| - type: 'Navigation/SET_PARAMS', + type: "Navigation/SET_PARAMS", // The key of the route where the params should be set key: string, // The new params to merge into the existing route params - params: NavigationParams, + params: NavigationParams |}; declare export type NavigationPopAction = {| - +type: 'Navigation/POP', + +type: "Navigation/POP", +n?: number, - +immediate?: boolean, + +immediate?: boolean |}; declare export type NavigationPopToTopAction = {| - +type: 'Navigation/POP_TO_TOP', - +immediate?: boolean, + +type: "Navigation/POP_TO_TOP", + +immediate?: boolean |}; declare export type NavigationPushAction = {| - +type: 'Navigation/PUSH', + +type: "Navigation/PUSH", +routeName: string, +params?: NavigationParams, +action?: NavigationNavigateAction, - +key?: string, + +key?: string |}; declare export type NavigationResetAction = {| - type: 'Navigation/RESET', + type: "Navigation/RESET", index: number, key?: ?string, - actions: Array, + actions: Array |}; declare export type NavigationReplaceAction = {| - +type: 'Navigation/REPLACE', + +type: "Navigation/REPLACE", +key: string, +routeName: string, +params?: NavigationParams, - +action?: NavigationNavigateAction, + +action?: NavigationNavigateAction |}; declare export type NavigationCompleteTransitionAction = {| - +type: 'Navigation/COMPLETE_TRANSITION', - +key?: string, + +type: "Navigation/COMPLETE_TRANSITION", + +key?: string |}; declare export type NavigationOpenDrawerAction = {| - +type: 'Navigation/OPEN_DRAWER', - +key?: string, + +type: "Navigation/OPEN_DRAWER", + +key?: string |}; declare export type NavigationCloseDrawerAction = {| - +type: 'Navigation/CLOSE_DRAWER', - +key?: string, + +type: "Navigation/CLOSE_DRAWER", + +key?: string |}; declare export type NavigationToggleDrawerAction = {| - +type: 'Navigation/TOGGLE_DRAWER', - +key?: string, + +type: "Navigation/TOGGLE_DRAWER", + +key?: string |}; declare export type NavigationDrawerOpenedAction = {| - +type: 'Navigation/DRAWER_OPENED', - +key?: string, + +type: "Navigation/DRAWER_OPENED", + +key?: string |}; declare export type NavigationDrawerClosedAction = {| - +type: 'Navigation/DRAWER_CLOSED', - +key?: string, + +type: "Navigation/DRAWER_CLOSED", + +key?: string |}; declare export type NavigationAction = @@ -241,7 +242,8 @@ declare module 'react-navigation' { */ index: number, routes: Array, - isTransitioning?: bool, + isTransitioning?: boolean, + ... }; declare export type NavigationRoute = @@ -267,31 +269,33 @@ declare module 'react-navigation' { * Params passed to this route when navigating to it, * e.g. `{ car_id: 123 }` in a route that displays a car. */ - params?: NavigationParams, + params?: NavigationParams |}; declare export type NavigationStateRoute = {| ...NavigationLeafRoute, - ...$Exact, + ...$Exact |}; /** * Router */ - declare export type NavigationScreenOptionsGetter = ( + declare export type NavigationScreenOptionsGetter = ( navigation: NavigationScreenProp, - screenProps?: {} + screenProps?: { ... } ) => Options; - declare export type NavigationRouter = { + declare export type NavigationRouter< + State: NavigationState, + Options: { ... } + > = { /** * The reducer that outputs the new navigation state for a given action, * with an optional previous state. When the action is considered handled * but the state is unchanged, the output state is null. */ getStateForAction: (action: NavigationAction, lastState: ?State) => ?State, - /** * Maps a URI-like string to an action. This can be mapped to a state * using `getStateForAction`. @@ -300,18 +304,15 @@ declare module 'react-navigation' { path: string, params?: NavigationParams ) => ?NavigationAction, - getPathAndParamsForState: ( state: State ) => { path: string, params?: NavigationParams, + ... }, - getComponentForRouteName: (routeName: string) => NavigationComponent, - getComponentForState: (state: State) => NavigationComponent, - /** * Gets the screen navigation options for a given screen. * @@ -321,21 +322,22 @@ declare module 'react-navigation' { * {routeName: 'Foo', key: '123'} */ getScreenOptions: NavigationScreenOptionsGetter, + ... }; declare export type NavigationScreenDetails = { options: T, state: NavigationRoute, navigation: NavigationScreenProp, + ... }; - declare export type NavigationScreenOptions = { - title?: string, - }; + declare export type NavigationScreenOptions = { title?: string, ... }; declare export type NavigationScreenConfigProps = $Shape<{ navigation: NavigationScreenProp, - screenProps: {}, + screenProps: { ... }, + ... }>; declare export type NavigationScreenConfig = @@ -343,6 +345,7 @@ declare module 'react-navigation' { | (({ ...$Exact, navigationOptions: Options, + ... }) => Options); declare export type NavigationComponent = @@ -355,10 +358,9 @@ declare module 'react-navigation' { declare export type NavigationScreenComponent< Route: NavigationRoute, - Options: {}, - Props: NavigationNavigatorProps, - > = React$ComponentType & - withOptionalNavigationOptions; + Options: { ... }, + Props: NavigationNavigatorProps + > = React$ComponentType & withOptionalNavigationOptions; declare interface withRouter { router: NavigationRouter; @@ -366,8 +368,8 @@ declare module 'react-navigation' { declare export type NavigationNavigator< State: NavigationState, - Options: {}, - Props: NavigationNavigatorProps, + Options: { ... }, + Props: NavigationNavigatorProps > = React$ComponentType & withRouter & withOptionalNavigationOptions; @@ -377,40 +379,38 @@ declare module 'react-navigation' { | ({ navigationOptions?: NavigationScreenConfig<*>, path?: string, + ... } & NavigationScreenRouteConfig); declare export type NavigationScreenRouteConfig = - | { - screen: NavigationComponent, - } - | { - getScreen: () => NavigationComponent, - }; + | { screen: NavigationComponent, ... } + | { getScreen: () => NavigationComponent, ... }; declare export type NavigationPathsConfig = { [routeName: string]: string, + ... }; declare export type NavigationRouteConfigMap = { [routeName: string]: NavigationRouteConfig, + ... }; /** * Header */ - declare export type HeaderMode = 'float' | 'screen' | 'none'; + declare export type HeaderMode = "float" | "screen" | "none"; declare export type HeaderProps = $Shape< NavigationSceneRendererProps & { mode: HeaderMode, router: NavigationRouter, - getScreenDetails: NavigationScene => NavigationScreenDetails< - NavigationStackScreenOptions - >, - leftInterpolator: (props: NavigationSceneRendererProps) => {}, - titleInterpolator: (props: NavigationSceneRendererProps) => {}, - rightInterpolator: (props: NavigationSceneRendererProps) => {}, + getScreenDetails: NavigationScene => NavigationScreenDetails, + leftInterpolator: (props: NavigationSceneRendererProps) => { ... }, + titleInterpolator: (props: NavigationSceneRendererProps) => { ... }, + rightInterpolator: (props: NavigationSceneRendererProps) => { ... }, + ... } >; @@ -426,7 +426,7 @@ declare module 'react-navigation' { headerTitleAllowFontScaling?: boolean, headerTintColor?: string, headerLeft?: React$Node | React$ElementType, - headerBackTitle?: ?string, + headerBackTitle?: string, headerBackImage?: React$Node | React$ElementType, headerTruncatedBackTitle?: string, headerBackTitleStyle?: TextStyleProp, @@ -436,8 +436,13 @@ declare module 'react-navigation' { headerForceInset?: _SafeAreaViewInsets, headerBackground?: React$Node | React$ElementType, gesturesEnabled?: boolean, - gestureResponseDistance?: { vertical?: number, horizontal?: number }, - gestureDirection?: 'default' | 'inverted', + gestureResponseDistance?: { + vertical?: number, + horizontal?: number, + ... + }, + gestureDirection?: "default" | "inverted", + ... }; declare export type NavigationStackRouterConfig = {| @@ -445,14 +450,14 @@ declare module 'react-navigation' { initialRouteParams?: NavigationParams, paths?: NavigationPathsConfig, defaultNavigationOptions?: NavigationScreenConfig<*>, - initialRouteKey?: string, + initialRouteKey?: string |}; declare export type NavigationStackViewConfig = {| - mode?: 'card' | 'modal', + mode?: "card" | "modal", headerMode?: HeaderMode, - headerTransitionPreset?: 'fade-in-place' | 'uikit', - headerLayoutPreset?: 'left' | 'center', + headerTransitionPreset?: "fade-in-place" | "uikit", + headerLayoutPreset?: "left" | "center", headerBackTitleVisible?: boolean, cardShadowEnabled?: boolean, cardOverlayEnabled?: boolean, @@ -464,19 +469,19 @@ declare module 'react-navigation' { ) => TransitionConfig, onTransitionStart?: ( transitionProps: NavigationTransitionProps, - prevTransitionProps: ?NavigationTransitionProps, + prevTransitionProps: ?NavigationTransitionProps ) => void, onTransitionEnd?: ( transitionProps: NavigationTransitionProps, - prevTransitionProps: ?NavigationTransitionProps, + prevTransitionProps: ?NavigationTransitionProps ) => void, transparentCard?: boolean, - disableKeyboardHandling?: boolean, + disableKeyboardHandling?: boolean |}; declare export type StackNavigatorConfig = $Shape<{| ...NavigationStackViewConfig, - ...NavigationStackRouterConfig, + ...NavigationStackRouterConfig |}>; /** @@ -489,8 +494,8 @@ declare module 'react-navigation' { paths?: NavigationPathsConfig, defaultNavigationOptions?: NavigationScreenConfig<*>, order?: Array, - backBehavior?: 'none' | 'initialRoute', // defaults to `'none'` - resetOnBlur?: boolean, // defaults to `true` + backBehavior?: "none" | "initialRoute", // defaults to `'none'` + resetOnBlur?: boolean // defaults to `true` |}; /** @@ -505,7 +510,7 @@ declare module 'react-navigation' { // todo: type these as the real route names rather than 'string' order?: Array, // Does the back button cause the router to switch to the initial tab - backBehavior?: 'none' | 'initialRoute', // defaults `initialRoute` + backBehavior?: "none" | "initialRoute" // defaults `initialRoute` |}; declare type TabScene = { @@ -513,23 +518,37 @@ declare module 'react-navigation' { focused: boolean, index: number, tintColor?: ?string, + ... }; declare export type NavigationTabScreenOptions = {| ...$Exact, tabBarIcon?: | React$Node - | ((options: { tintColor: ?string, focused: boolean }) => ?React$Node), + | ((options: { + tintColor: ?string, + focused: boolean, + ... + }) => ?React$Node), tabBarLabel?: | string | React$Node - | ((options: { tintColor: ?string, focused: boolean }) => ?React$Node), + | ((options: { + tintColor: ?string, + focused: boolean, + ... + }) => ?React$Node), tabBarVisible?: boolean, - tabBarTestIDProps?: { testID?: string, accessibilityLabel?: string }, + tabBarTestIDProps?: { + testID?: string, + accessibilityLabel?: string, + ... + }, tabBarOnPress?: ({ navigation: NavigationScreenProp, defaultHandler: () => void, - }) => void, + ... + }) => void |}; /** @@ -540,11 +559,19 @@ declare module 'react-navigation' { ...$Exact, drawerIcon?: | React$Node - | ((options: { tintColor: ?string, focused: boolean }) => ?React$Node), + | ((options: { + tintColor: ?string, + focused: boolean, + ... + }) => ?React$Node), drawerLabel?: | React$Node - | ((options: { tintColor: ?string, focused: boolean }) => ?React$Node), - drawerLockMode?: 'unlocked' | 'locked-closed' | 'locked-open', + | ((options: { + tintColor: ?string, + focused: boolean, + ... + }) => ?React$Node), + drawerLockMode?: "unlocked" | "locked-closed" | "locked-open" |}; /** @@ -558,29 +585,29 @@ declare module 'react-navigation' { declare export type NavigationProp = { +state: S, dispatch: NavigationDispatch, + ... }; declare export type EventType = - | 'willFocus' - | 'didFocus' - | 'willBlur' - | 'didBlur' - | 'action'; + | "willFocus" + | "didFocus" + | "willBlur" + | "didBlur" + | "action"; declare export type NavigationEventPayload = { type: EventType, action: NavigationAction, state: NavigationState, lastState: ?NavigationState, + ... }; declare export type NavigationEventCallback = ( payload: NavigationEventPayload ) => void; - declare export type NavigationEventSubscription = { - remove: () => void, - }; + declare export type NavigationEventSubscription = { remove: () => void, ... }; declare export type NavigationScreenProp<+S> = { +state: S, @@ -594,20 +621,20 @@ declare module 'react-navigation' { fallback?: $ElementType< $PropertyType< {| - ...{| params: { } |}, - ...$Exact, + ...{| params: { ... } |}, + ...$Exact |}, - 'params' + "params" >, ParamName > ) => $ElementType< $PropertyType< {| - ...{| params: { } |}, - ...$Exact, + ...{| params: { ... } |}, + ...$Exact |}, - 'params' + "params" >, ParamName >, @@ -623,14 +650,15 @@ declare module 'react-navigation' { params?: NavigationParams, action?: NavigationNavigateAction, key?: string, + ... }, params?: NavigationParams, action?: NavigationNavigateAction ) => boolean, setParams: (newParams: NavigationParams) => boolean, // StackRouter action creators - pop?: (n?: number, params?: { immediate?: boolean }) => boolean, - popToTop?: (params?: { immediate?: boolean }) => boolean, + pop?: (n?: number, params?: { immediate?: boolean, ... }) => boolean, + popToTop?: (params?: { immediate?: boolean, ... }) => boolean, push?: ( routeName: string, params?: NavigationParams, @@ -647,12 +675,17 @@ declare module 'react-navigation' { openDrawer?: () => boolean, closeDrawer?: () => boolean, toggleDrawer?: () => boolean, + ... }; - declare export type NavigationNavigatorProps = $Shape<{ + declare export type NavigationNavigatorProps< + O: { ... }, + S: { ... } + > = $Shape<{ navigation: NavigationScreenProp, - screenProps?: {}, + screenProps?: { ... }, navigationOptions?: O, + ... }>; /** @@ -665,10 +698,9 @@ declare module 'react-navigation' { onDidFocus?: NavigationEventCallback, onWillBlur?: NavigationEventCallback, onDidBlur?: NavigationEventCallback, + ... }; - declare export var NavigationEvents: React$ComponentType< - _NavigationEventsProps - >; + declare export var NavigationEvents: React$ComponentType<_NavigationEventsProps>; /** * Navigation container @@ -676,13 +708,16 @@ declare module 'react-navigation' { declare export type NavigationContainer< State: NavigationState, - Options: {}, - Props: NavigationContainerProps, + Options: { ... }, + Props: NavigationContainerProps > = React$ComponentType & withRouter & withOptionalNavigationOptions; - declare export type NavigationContainerProps = $Shape<{ + declare export type NavigationContainerProps< + S: { ... }, + O: { ... } + > = $Shape<{ uriPrefix?: string | RegExp, onNavigationStateChange?: ?( NavigationState, @@ -691,16 +726,17 @@ declare module 'react-navigation' { ) => void, navigation?: NavigationScreenProp, persistenceKey?: ?string, - renderLoadingExperimental?: React$ComponentType<{}>, + renderLoadingExperimental?: React$ComponentType<{ ... }>, screenProps?: *, navigationOptions?: O, + ... }>; /** * Gestures, Animations, and Interpolators */ - declare export type NavigationGestureDirection = 'horizontal' | 'vertical'; + declare export type NavigationGestureDirection = "horizontal" | "vertical"; declare export type NavigationLayout = { height: AnimatedValue, @@ -708,6 +744,7 @@ declare module 'react-navigation' { initWidth: number, isMeasured: boolean, width: AnimatedValue, + ... }; declare export type NavigationScene = { @@ -717,28 +754,24 @@ declare module 'react-navigation' { key: string, route: NavigationRoute, descriptor: ?NavigationDescriptor, + ... }; declare export type NavigationTransitionProps = $Shape<{ // The layout of the screen container layout: NavigationLayout, - // The destination navigation state of the transition navigation: NavigationScreenProp, - // The progressive index of the transitioner's navigation state. position: AnimatedValue, - // The value that represents the progress of the transition when navigation // state changes from one to another. Its numeric value will range from 0 // to 1. // progress.__getAnimatedValue() < 1 : transition is happening. // progress.__getAnimatedValue() == 1 : transition completes. progress: AnimatedValue, - // All the scenes of the transitioner. scenes: Array, - // The active scene, corresponding to the route at // `navigation.state.routes[navigation.state.index]`. When rendering // NavigationSceneRendererPropsIndex, the scene does not refer to the active @@ -746,8 +779,8 @@ declare module 'react-navigation' { // is the index of the scene scene: NavigationScene, index: number, - - screenProps?: {}, + screenProps?: { ... }, + ... }>; // The scene renderer props are nearly identical to the props used for @@ -762,6 +795,7 @@ declare module 'react-navigation' { easing?: (t: number) => number, // A timing function such as `Animated.timing`. timing?: (value: AnimatedValue, config: any) => any, + ... }; /** @@ -772,15 +806,16 @@ declare module 'react-navigation' { transitionSpec?: NavigationTransitionSpec, // How to animate position and opacity of the screen // based on the value generated by the transitionSpec - screenInterpolator?: (props: NavigationSceneRendererProps) => {}, + screenInterpolator?: (props: NavigationSceneRendererProps) => { ... }, // How to animate position and opacity of the header componetns // based on the value generated by the transitionSpec - headerLeftInterpolator?: (props: NavigationSceneRendererProps) => {}, - headerTitleInterpolator?: (props: NavigationSceneRendererProps) => {}, - headerRightInterpolator?: (props: NavigationSceneRendererProps) => {}, + headerLeftInterpolator?: (props: NavigationSceneRendererProps) => { ... }, + headerTitleInterpolator?: (props: NavigationSceneRendererProps) => { ... }, + headerRightInterpolator?: (props: NavigationSceneRendererProps) => { ... }, // The style of the container. Useful when a scene doesn't have // 100% opacity and the underlying container is visible. containerStyle?: ViewStyleProp, + ... }; declare export type NavigationAnimationSetter = ( @@ -802,23 +837,30 @@ declare module 'react-navigation' { y: number, width: number, height: number, + ... }, + ... }, + ... }; declare export type SceneIndicesForInterpolationInputRange = { first: number, last: number, + ... }; /** * Now we type the actual exported module */ - declare export function createAppContainer( + declare export function createAppContainer( Component: NavigationNavigator ): NavigationContainer; - declare export function createNavigationContainer( + declare export function createNavigationContainer< + S: NavigationState, + O: { ... } + >( Component: NavigationNavigator ): NavigationContainer; @@ -847,98 +889,113 @@ declare module 'react-navigation' { routes: Array, index?: number ) => NavigationState, + ... }; declare export var NavigationActions: { - BACK: 'Navigation/BACK', - INIT: 'Navigation/INIT', - NAVIGATE: 'Navigation/NAVIGATE', - SET_PARAMS: 'Navigation/SET_PARAMS', - - back: (payload?: { key?: ?string }) => NavigationBackAction, - init: (payload?: { params?: NavigationParams }) => NavigationInitAction, + BACK: "Navigation/BACK", + INIT: "Navigation/INIT", + NAVIGATE: "Navigation/NAVIGATE", + SET_PARAMS: "Navigation/SET_PARAMS", + back: (payload?: { key?: ?string, ... }) => NavigationBackAction, + init: (payload?: { + params?: NavigationParams, + ... + }) => NavigationInitAction, navigate: (payload: { routeName: string, params?: ?NavigationParams, action?: ?NavigationNavigateAction, key?: string, + ... }) => NavigationNavigateAction, setParams: (payload: { key: string, params: NavigationParams, + ... }) => NavigationSetParamsAction, + ... }; declare export var StackActions: { - POP: 'Navigation/POP', - POP_TO_TOP: 'Navigation/POP_TO_TOP', - PUSH: 'Navigation/PUSH', - RESET: 'Navigation/RESET', - REPLACE: 'Navigation/REPLACE', - COMPLETE_TRANSITION: 'Navigation/COMPLETE_TRANSITION', - + POP: "Navigation/POP", + POP_TO_TOP: "Navigation/POP_TO_TOP", + PUSH: "Navigation/PUSH", + RESET: "Navigation/RESET", + REPLACE: "Navigation/REPLACE", + COMPLETE_TRANSITION: "Navigation/COMPLETE_TRANSITION", pop: (payload: { n?: number, immediate?: boolean, + ... }) => NavigationPopAction, popToTop: (payload: { immediate?: boolean, + ... }) => NavigationPopToTopAction, push: (payload: { routeName: string, params?: NavigationParams, action?: NavigationNavigateAction, key?: string, + ... }) => NavigationPushAction, reset: (payload: { index: number, key?: ?string, actions: Array, + ... }) => NavigationResetAction, replace: (payload: { key?: string, routeName: string, params?: NavigationParams, action?: NavigationNavigateAction, + ... }) => NavigationReplaceAction, completeTransition: (payload: { key?: string, + ... }) => NavigationCompleteTransitionAction, + ... }; declare export var DrawerActions: { - OPEN_DRAWER: 'Navigation/OPEN_DRAWER', - CLOSE_DRAWER: 'Navigation/CLOSE_DRAWER', - TOGGLE_DRAWER: 'Navigation/TOGGLE_DRAWER', - DRAWER_OPENED: 'Navigation/DRAWER_OPENED', - DRAWER_CLOSED: 'Navigation/DRAWER_CLOSED', - - openDrawer: (payload: { - key?: string, - }) => NavigationOpenDrawerAction, + OPEN_DRAWER: "Navigation/OPEN_DRAWER", + CLOSE_DRAWER: "Navigation/CLOSE_DRAWER", + TOGGLE_DRAWER: "Navigation/TOGGLE_DRAWER", + DRAWER_OPENED: "Navigation/DRAWER_OPENED", + DRAWER_CLOSED: "Navigation/DRAWER_CLOSED", + openDrawer: (payload: { key?: string, ... }) => NavigationOpenDrawerAction, closeDrawer: (payload: { key?: string, + ... }) => NavigationCloseDrawerAction, toggleDrawer: (payload: { key?: string, + ... }) => NavigationToggleDrawerAction, + ... }; - declare type _RouterProp = { + declare type _RouterProp = { router: NavigationRouter, + ... }; declare export type NavigationDescriptor = { key: string, state: NavigationRoute, navigation: NavigationScreenProp<*>, - getComponent: () => React$ComponentType<{}>, + getComponent: () => React$ComponentType<{ ... }>, + ... }; declare type NavigationView = React$ComponentType<{ - descriptors: { [key: string]: NavigationDescriptor }, + descriptors: { [key: string]: NavigationDescriptor, ... }, navigation: NavigationScreenProp, navigationConfig: *, + ... }>; declare export function createNavigator( @@ -954,22 +1011,22 @@ declare module 'react-navigation' { declare type _TabViewConfig = {| tabBarComponent?: React$ElementType, - tabBarPosition?: 'top' | 'bottom', - tabBarOptions?: {}, + tabBarPosition?: "top" | "bottom", + tabBarOptions?: { ... }, swipeEnabled?: boolean, animationEnabled?: boolean, configureTransition?: ( currentTransitionProps: Object, nextTransitionProps: Object ) => Object, - initialLayout?: TabViewLayout, + initialLayout?: TabViewLayout |}; declare type _TabNavigatorConfig = {| ...NavigationTabRouterConfig, ..._TabViewConfig, lazy?: boolean, removeClippedSubviews?: boolean, - containerOptions?: void, + containerOptions?: void |}; /* TODO: fix the config for each of these tab navigator types */ declare export function createBottomTabNavigator( @@ -981,7 +1038,7 @@ declare module 'react-navigation' { config?: _TabNavigatorConfig ): NavigationNavigator<*, *, *>; declare type _SwitchNavigatorConfig = {| - ...NavigationSwitchRouterConfig, + ...NavigationSwitchRouterConfig |}; declare export function createSwitchNavigator( routeConfigs: NavigationRouteConfigMap, @@ -989,20 +1046,21 @@ declare module 'react-navigation' { ): NavigationNavigator<*, *, *>; declare type _DrawerViewConfig = {| - drawerLockMode?: 'unlocked' | 'locked-closed' | 'locked-open', + drawerLockMode?: "unlocked" | "locked-closed" | "locked-open", drawerWidth?: number | (() => number), - drawerPosition?: 'left' | 'right', + drawerPosition?: "left" | "right", contentComponent?: React$ElementType, - contentOptions?: {}, + contentOptions?: { ... }, style?: ViewStyleProp, useNativeAnimations?: boolean, drawerBackgroundColor?: string, - screenProps?: {}, + screenProps?: { ... } |}; declare type _DrawerNavigatorConfig = $Exact<{ ...NavigationTabRouterConfig, ..._DrawerViewConfig, containerConfig?: void, + ... }>; declare export function createDrawerNavigator( routeConfigs: NavigationRouteConfigMap, @@ -1031,12 +1089,13 @@ declare module 'react-navigation' { transitionProps: NavigationTransitionProps, prevTransitionProps: ?NavigationTransitionProps ) => React$Node, + ... }; declare export var Transitioner: React$ComponentType<_TransitionerProps>; declare type _CardStackTransitionerProps = { headerMode: HeaderMode, - mode: 'card' | 'modal', + mode: "card" | "modal", router: NavigationRouter, cardStyle?: ViewStyleProp, onTransitionStart?: () => void, @@ -1045,16 +1104,15 @@ declare module 'react-navigation' { * Optional custom animation when transitioning between screens. */ transitionConfig?: () => TransitionConfig, + ... } & NavigationNavigatorProps; - declare export var CardStackTransitioner: React$ComponentType< - _CardStackTransitionerProps - >; + declare export var CardStackTransitioner: React$ComponentType<_CardStackTransitionerProps>; declare type _CardStackProps = { - screenProps?: {}, + screenProps?: { ... }, headerMode: HeaderMode, headerComponent?: React$ElementType, - mode: 'card' | 'modal', + mode: "card" | "modal", router: NavigationRouter, cardStyle?: ViewStyleProp, onTransitionStart?: () => void, @@ -1071,6 +1129,7 @@ declare module 'react-navigation' { scenes: Array, scene: NavigationScene, index: number, + ... }; declare export var CardStack: React$ComponentType<_CardStackProps>; @@ -1080,10 +1139,11 @@ declare module 'react-navigation' { onComponentRef: React$Ref<*>, pointerEvents: string, style: any, + ... }; declare export var Card: React$ComponentType<_CardProps>; - declare type _SafeAreaViewForceInsetValue = 'always' | 'never' | number; + declare type _SafeAreaViewForceInsetValue = "always" | "never" | number; declare type _SafeAreaViewInsets = $Shape<{ top: _SafeAreaViewForceInsetValue, bottom: _SafeAreaViewForceInsetValue, @@ -1091,22 +1151,26 @@ declare module 'react-navigation' { right: _SafeAreaViewForceInsetValue, vertical: _SafeAreaViewForceInsetValue, horizontal: _SafeAreaViewForceInsetValue, + ... }>; declare type _SafeAreaViewProps = { forceInset?: _SafeAreaViewInsets, children?: React$Node, style?: AnimatedViewStyleProp, + ... }; declare export var SafeAreaView: React$ComponentType<_SafeAreaViewProps>; declare export var Header: React$ComponentType & { HEIGHT: number, + ... }; declare type _HeaderTitleProps = { children: React$Node, selectionColor?: string | number, style?: AnimatedTextStyleProp, + ... }; declare export var HeaderTitle: React$ComponentType<_HeaderTitleProps>; @@ -1118,23 +1182,23 @@ declare module 'react-navigation' { tintColor?: ?string, truncatedTitle?: ?string, width?: ?number, + ... }; - declare export var HeaderBackButton: React$ComponentType< - _HeaderBackButtonProps - >; + declare export var HeaderBackButton: React$ComponentType<_HeaderBackButtonProps>; declare type _DrawerViewProps = { - drawerLockMode?: 'unlocked' | 'locked-closed' | 'locked-open', + drawerLockMode?: "unlocked" | "locked-closed" | "locked-open", drawerWidth: number | (() => number), - drawerPosition: 'left' | 'right', + drawerPosition: "left" | "right", contentComponent: React$ElementType, - contentOptions?: {}, + contentOptions?: { ... }, style?: ViewStyleProp, useNativeAnimations: boolean, drawerBackgroundColor: string, - screenProps?: {}, + screenProps?: { ... }, navigation: NavigationScreenProp, router: NavigationRouter, + ... }; declare export var DrawerView: React$ComponentType<_DrawerViewProps>; @@ -1143,10 +1207,12 @@ declare module 'react-navigation' { focused: boolean, index: number, tintColor?: string, + ... }; declare type _DrawerItem = { route: NavigationRoute, focused: boolean, + ... }; declare type _DrawerItemsProps = { navigation: NavigationScreenProp, @@ -1166,14 +1232,15 @@ declare module 'react-navigation' { activeLabelStyle?: TextStyleProp, inactiveLabelStyle?: TextStyleProp, iconContainerStyle?: ViewStyleProp, - drawerPosition: 'left' | 'right', + drawerPosition: "left" | "right", + ... }; declare export var DrawerItems: React$ComponentType<_DrawerItemsProps>; declare type _TabViewProps = { tabBarComponent?: React$ElementType, - tabBarPosition?: 'top' | 'bottom', - tabBarOptions?: {}, + tabBarPosition?: "top" | "bottom", + tabBarOptions?: { ... }, swipeEnabled?: boolean, animationEnabled?: boolean, configureTransition?: ( @@ -1181,9 +1248,10 @@ declare module 'react-navigation' { nextTransitionProps: Object ) => Object, initialLayout: TabViewLayout, - screenProps?: {}, + screenProps?: { ... }, navigation: NavigationScreenProp, router: NavigationRouter, + ... }; declare export var TabView: React$ComponentType<_TabViewProps>; @@ -1206,14 +1274,14 @@ declare module 'react-navigation' { previousScene: NavigationRoute, scene: TabScene, jumpToIndex: (index: number) => void, + ... }) => void, renderIcon: (scene: TabScene) => React$Element<*>, labelStyle?: TextStyleProp, iconStyle?: ViewStyleProp, + ... }; - declare export var MaterialTopTabBar: React$ComponentType< - _MaterialTopTabBarProps - >; + declare export var MaterialTopTabBar: React$ComponentType<_MaterialTopTabBarProps>; declare type _BottomTabBarButtonComponentProps = { onPress: () => void, @@ -1221,6 +1289,7 @@ declare module 'react-navigation' { testID: string, accessibilityLabel: string, style: ViewStyleProp, + ... }; declare type _BottomTabBarProps = { activeTintColor: string, @@ -1242,6 +1311,7 @@ declare module 'react-navigation' { previousScene: NavigationRoute, scene: TabScene, jumpToIndex: (index: number) => void, + ... }) => void, getTestIDProps: (scene: TabScene) => (scene: TabScene) => any, renderIcon: (scene: TabScene) => React$Node, @@ -1253,37 +1323,50 @@ declare module 'react-navigation' { labelStyle?: TextStyleProp, tabStyle?: ViewStyleProp, showIcon?: boolean, + ... }; declare export var BottomTabBar: React$ComponentType<_BottomTabBarProps>; - declare export function withNavigation>( + declare export function withNavigation< + Props: { ... }, + ComponentType: React$ComponentType + >( Component: ComponentType ): React$ComponentType< $Diff< React$ElementConfig, - { - navigation: NavigationScreenProp | void, - } + { navigation: NavigationScreenProp | void, ... } > >; - declare export function withNavigationFocus>( + declare export function withNavigationFocus< + Props: { ... }, + ComponentType: React$ComponentType + >( Component: ComponentType - ): React$ComponentType<$Diff, { isFocused: boolean | void }>>; + ): React$ComponentType< + $Diff< + React$ElementConfig, + { isFocused: boolean | void, ... } + > + >; - declare export function getNavigation( + declare export function getNavigation< + State: NavigationState, + Options: { ... } + >( router: NavigationRouter, state: State, dispatch: NavigationDispatch, actionSubscribers: Set, - getScreenProps: () => {}, + getScreenProps: () => { ... }, getCurrentNavigation: () => ?NavigationScreenProp ): NavigationScreenProp; declare export function getActiveChildNavigationOptions< State: NavigationState, - Options: {} + Options: { ... } >( navigation: NavigationScreenProp, - screenProps?: {} + screenProps?: { ... } ): Options; } diff --git a/flow-typed/npm/semver_vx.x.x.js b/flow-typed/npm/semver_vx.x.x.js index cca6edd90..ea84b3231 100644 --- a/flow-typed/npm/semver_vx.x.x.js +++ b/flow-typed/npm/semver_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: a3d5ee2f6b4a19c6925e4a8ddfe476cf -// flow-typed version: <>/semver_v^6.1.1/flow_v0.98.0 +// flow-typed signature: a04ee654c6692bceb489496614f1f479 +// flow-typed version: <>/semver_v^7.1.3/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'semver' { +declare module "semver" { declare module.exports: any; } @@ -22,18 +22,314 @@ declare module 'semver' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'semver/bin/semver' { +declare module "semver/bin/semver" { declare module.exports: any; } -declare module 'semver/semver' { +declare module "semver/classes/comparator" { + declare module.exports: any; +} + +declare module "semver/classes" { + declare module.exports: any; +} + +declare module "semver/classes/range" { + declare module.exports: any; +} + +declare module "semver/classes/semver" { + declare module.exports: any; +} + +declare module "semver/functions/clean" { + declare module.exports: any; +} + +declare module "semver/functions/cmp" { + declare module.exports: any; +} + +declare module "semver/functions/coerce" { + declare module.exports: any; +} + +declare module "semver/functions/compare-build" { + declare module.exports: any; +} + +declare module "semver/functions/compare-loose" { + declare module.exports: any; +} + +declare module "semver/functions/compare" { + declare module.exports: any; +} + +declare module "semver/functions/diff" { + declare module.exports: any; +} + +declare module "semver/functions/eq" { + declare module.exports: any; +} + +declare module "semver/functions/gt" { + declare module.exports: any; +} + +declare module "semver/functions/gte" { + declare module.exports: any; +} + +declare module "semver/functions/inc" { + declare module.exports: any; +} + +declare module "semver/functions/lt" { + declare module.exports: any; +} + +declare module "semver/functions/lte" { + declare module.exports: any; +} + +declare module "semver/functions/major" { + declare module.exports: any; +} + +declare module "semver/functions/minor" { + declare module.exports: any; +} + +declare module "semver/functions/neq" { + declare module.exports: any; +} + +declare module "semver/functions/parse" { + declare module.exports: any; +} + +declare module "semver/functions/patch" { + declare module.exports: any; +} + +declare module "semver/functions/prerelease" { + declare module.exports: any; +} + +declare module "semver/functions/rcompare" { + declare module.exports: any; +} + +declare module "semver/functions/rsort" { + declare module.exports: any; +} + +declare module "semver/functions/satisfies" { + declare module.exports: any; +} + +declare module "semver/functions/sort" { + declare module.exports: any; +} + +declare module "semver/functions/valid" { + declare module.exports: any; +} + +declare module "semver/internal/constants" { + declare module.exports: any; +} + +declare module "semver/internal/debug" { + declare module.exports: any; +} + +declare module "semver/internal/identifiers" { + declare module.exports: any; +} + +declare module "semver/internal/re" { + declare module.exports: any; +} + +declare module "semver/preload" { + declare module.exports: any; +} + +declare module "semver/ranges/gtr" { + declare module.exports: any; +} + +declare module "semver/ranges/intersects" { + declare module.exports: any; +} + +declare module "semver/ranges/ltr" { + declare module.exports: any; +} + +declare module "semver/ranges/max-satisfying" { + declare module.exports: any; +} + +declare module "semver/ranges/min-satisfying" { + declare module.exports: any; +} + +declare module "semver/ranges/min-version" { + declare module.exports: any; +} + +declare module "semver/ranges/outside" { + declare module.exports: any; +} + +declare module "semver/ranges/to-comparators" { + declare module.exports: any; +} + +declare module "semver/ranges/valid" { declare module.exports: any; } // Filename aliases -declare module 'semver/bin/semver.js' { - declare module.exports: $Exports<'semver/bin/semver'>; +declare module "semver/bin/semver.js" { + declare module.exports: $Exports<"semver/bin/semver">; +} +declare module "semver/classes/comparator.js" { + declare module.exports: $Exports<"semver/classes/comparator">; +} +declare module "semver/classes/index" { + declare module.exports: $Exports<"semver/classes">; +} +declare module "semver/classes/index.js" { + declare module.exports: $Exports<"semver/classes">; +} +declare module "semver/classes/range.js" { + declare module.exports: $Exports<"semver/classes/range">; +} +declare module "semver/classes/semver.js" { + declare module.exports: $Exports<"semver/classes/semver">; +} +declare module "semver/functions/clean.js" { + declare module.exports: $Exports<"semver/functions/clean">; +} +declare module "semver/functions/cmp.js" { + declare module.exports: $Exports<"semver/functions/cmp">; +} +declare module "semver/functions/coerce.js" { + declare module.exports: $Exports<"semver/functions/coerce">; +} +declare module "semver/functions/compare-build.js" { + declare module.exports: $Exports<"semver/functions/compare-build">; +} +declare module "semver/functions/compare-loose.js" { + declare module.exports: $Exports<"semver/functions/compare-loose">; +} +declare module "semver/functions/compare.js" { + declare module.exports: $Exports<"semver/functions/compare">; +} +declare module "semver/functions/diff.js" { + declare module.exports: $Exports<"semver/functions/diff">; +} +declare module "semver/functions/eq.js" { + declare module.exports: $Exports<"semver/functions/eq">; +} +declare module "semver/functions/gt.js" { + declare module.exports: $Exports<"semver/functions/gt">; +} +declare module "semver/functions/gte.js" { + declare module.exports: $Exports<"semver/functions/gte">; +} +declare module "semver/functions/inc.js" { + declare module.exports: $Exports<"semver/functions/inc">; +} +declare module "semver/functions/lt.js" { + declare module.exports: $Exports<"semver/functions/lt">; +} +declare module "semver/functions/lte.js" { + declare module.exports: $Exports<"semver/functions/lte">; +} +declare module "semver/functions/major.js" { + declare module.exports: $Exports<"semver/functions/major">; +} +declare module "semver/functions/minor.js" { + declare module.exports: $Exports<"semver/functions/minor">; +} +declare module "semver/functions/neq.js" { + declare module.exports: $Exports<"semver/functions/neq">; +} +declare module "semver/functions/parse.js" { + declare module.exports: $Exports<"semver/functions/parse">; +} +declare module "semver/functions/patch.js" { + declare module.exports: $Exports<"semver/functions/patch">; +} +declare module "semver/functions/prerelease.js" { + declare module.exports: $Exports<"semver/functions/prerelease">; +} +declare module "semver/functions/rcompare.js" { + declare module.exports: $Exports<"semver/functions/rcompare">; +} +declare module "semver/functions/rsort.js" { + declare module.exports: $Exports<"semver/functions/rsort">; +} +declare module "semver/functions/satisfies.js" { + declare module.exports: $Exports<"semver/functions/satisfies">; +} +declare module "semver/functions/sort.js" { + declare module.exports: $Exports<"semver/functions/sort">; +} +declare module "semver/functions/valid.js" { + declare module.exports: $Exports<"semver/functions/valid">; +} +declare module "semver/index" { + declare module.exports: $Exports<"semver">; +} +declare module "semver/index.js" { + declare module.exports: $Exports<"semver">; +} +declare module "semver/internal/constants.js" { + declare module.exports: $Exports<"semver/internal/constants">; +} +declare module "semver/internal/debug.js" { + declare module.exports: $Exports<"semver/internal/debug">; +} +declare module "semver/internal/identifiers.js" { + declare module.exports: $Exports<"semver/internal/identifiers">; +} +declare module "semver/internal/re.js" { + declare module.exports: $Exports<"semver/internal/re">; +} +declare module "semver/preload.js" { + declare module.exports: $Exports<"semver/preload">; +} +declare module "semver/ranges/gtr.js" { + declare module.exports: $Exports<"semver/ranges/gtr">; +} +declare module "semver/ranges/intersects.js" { + declare module.exports: $Exports<"semver/ranges/intersects">; +} +declare module "semver/ranges/ltr.js" { + declare module.exports: $Exports<"semver/ranges/ltr">; +} +declare module "semver/ranges/max-satisfying.js" { + declare module.exports: $Exports<"semver/ranges/max-satisfying">; +} +declare module "semver/ranges/min-satisfying.js" { + declare module.exports: $Exports<"semver/ranges/min-satisfying">; +} +declare module "semver/ranges/min-version.js" { + declare module.exports: $Exports<"semver/ranges/min-version">; +} +declare module "semver/ranges/outside.js" { + declare module.exports: $Exports<"semver/ranges/outside">; +} +declare module "semver/ranges/to-comparators.js" { + declare module.exports: $Exports<"semver/ranges/to-comparators">; } -declare module 'semver/semver.js' { - declare module.exports: $Exports<'semver/semver'>; +declare module "semver/ranges/valid.js" { + declare module.exports: $Exports<"semver/ranges/valid">; } diff --git a/flow-typed/npm/utm_vx.x.x.js b/flow-typed/npm/utm_vx.x.x.js index 436c9cca9..962df214f 100644 --- a/flow-typed/npm/utm_vx.x.x.js +++ b/flow-typed/npm/utm_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: ca605fc2b0733710538bf8edea2a7583 -// flow-typed version: <>/utm_v^1.1.1/flow_v0.98.0 +// flow-typed signature: 7874d5e6e6d067aa19b3fd5bab6a96fe +// flow-typed version: <>/utm_v^1.1.1/flow_v0.121.0 /** * This is an autogenerated libdef stub for: @@ -13,7 +13,7 @@ * https://github.com/flowtype/flow-typed */ -declare module 'utm' { +declare module "utm" { declare module.exports: any; } @@ -22,24 +22,24 @@ declare module 'utm' { * require those files directly. Feel free to delete any files that aren't * needed. */ -declare module 'utm/index.es' { +declare module "utm/index.es" { declare module.exports: any; } -declare module 'utm/test' { +declare module "utm/test" { declare module.exports: any; } // Filename aliases -declare module 'utm/index.es.js' { - declare module.exports: $Exports<'utm/index.es'>; +declare module "utm/index.es.js" { + declare module.exports: $Exports<"utm/index.es">; } -declare module 'utm/index' { - declare module.exports: $Exports<'utm'>; +declare module "utm/index" { + declare module.exports: $Exports<"utm">; } -declare module 'utm/index.js' { - declare module.exports: $Exports<'utm'>; +declare module "utm/index.js" { + declare module.exports: $Exports<"utm">; } -declare module 'utm/test.js' { - declare module.exports: $Exports<'utm/test'>; +declare module "utm/test.js" { + declare module.exports: $Exports<"utm/test">; } diff --git a/package-lock.json b/package-lock.json index 941490240..69ca7004e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,12 +13,12 @@ } }, "@babel/compat-data": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.5.tgz", - "integrity": "sha512-jWYUqQX/ObOhG1UiEkbH5SANsE/8oKXiQWjj7p7xgj9Zmnt//aUvyz4dBkK0HNsS8/cbyC5NmmH87VekW+mXFg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.0.tgz", + "integrity": "sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g==", "dev": true, "requires": { - "browserslist": "^4.8.5", + "browserslist": "^4.9.1", "invariant": "^2.2.4", "semver": "^5.5.0" }, @@ -32,27 +32,118 @@ } }, "@babel/core": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", - "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", + "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", "requires": { "@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", + "@babel/generator": "^7.9.0", + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helpers": "^7.9.0", + "@babel/parser": "^7.9.0", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.9.0", + "@babel/types": "^7.9.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", + "json5": "^2.1.2", "lodash": "^4.17.13", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { + "@babel/generator": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.0.tgz", + "integrity": "sha512-onl4Oy46oGCzymOXtKMQpI7VXtCbTSHK1kqBydZ6AmzuNcacEVqGk9tZtAS+48IA9IstZcDCgIg8hQKnb7suRw==", + "requires": { + "@babel/types": "^7.9.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", + "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.9.0", + "lodash": "^4.17.13" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/parser": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.0.tgz", + "integrity": "sha512-Iwyp00CZsypoNJcpXCbq3G4tcDgphtlMwMVrMhhZ//XBkqjXF7LW6V511yk0+pBX3ZwwGnPea+pTKNJiqA7pUg==" + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz", + "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "json5": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", + "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -97,6 +188,30 @@ "esutils": "^2.0.0" } }, + "@babel/helper-builder-react-jsx-experimental": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.0.tgz", + "integrity": "sha512-3xJEiyuYU4Q/Ar9BsHisgdxZsRlsShMe90URZ0e6przL26CCs8NJbDoxH94kKT17PcxlMhsCAwZd90evCo26VQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-module-imports": "^7.8.3", + "@babel/types": "^7.9.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, "@babel/helper-call-delegate": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz", @@ -108,13 +223,13 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz", - "integrity": "sha512-3k3BsKMvPp5bjxgMdrFyq0UaEO48HciVrOVF0+lon8pp95cyJ2ujAh0TrBHNMnJGT2rr0iKOJPFFbSqjDyf/Pg==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz", + "integrity": "sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==", "dev": true, "requires": { - "@babel/compat-data": "^7.8.4", - "browserslist": "^4.8.5", + "@babel/compat-data": "^7.8.6", + "browserslist": "^4.9.1", "invariant": "^2.2.4", "levenary": "^1.1.1", "semver": "^5.5.0" @@ -285,6 +400,11 @@ "@babel/types": "^7.8.3" } }, + "@babel/helper-validator-identifier": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz", + "integrity": "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==" + }, "@babel/helper-wrap-function": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", @@ -297,13 +417,57 @@ } }, "@babel/helpers": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", - "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.0.tgz", + "integrity": "sha512-/9GvfYTCG1NWCNwDj9e+XlnSCmWW/r9T794Xi58vPF9WCcnZCAZ0kWLSn54oqP40SUvh1T2G6VwKmFO5AOlW3A==", "requires": { "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3" + "@babel/traverse": "^7.9.0", + "@babel/types": "^7.9.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.0.tgz", + "integrity": "sha512-onl4Oy46oGCzymOXtKMQpI7VXtCbTSHK1kqBydZ6AmzuNcacEVqGk9tZtAS+48IA9IstZcDCgIg8hQKnb7suRw==", + "requires": { + "@babel/types": "^7.9.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/parser": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.0.tgz", + "integrity": "sha512-Iwyp00CZsypoNJcpXCbq3G4tcDgphtlMwMVrMhhZ//XBkqjXF7LW6V511yk0+pBX3ZwwGnPea+pTKNJiqA7pUg==" + }, + "@babel/traverse": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz", + "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/highlight": { @@ -387,6 +551,16 @@ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", + "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3" + } + }, "@babel/plugin-proposal-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", @@ -415,13 +589,70 @@ } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", - "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", + "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-create-regexp-features-plugin": "^7.8.8", "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", + "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.7.0" + } + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regexpu-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + } } }, "@babel/plugin-syntax-async-generators": { @@ -433,6 +664,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, "@babel/plugin-syntax-class-properties": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz", @@ -490,6 +730,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz", + "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", @@ -668,14 +917,100 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", - "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz", + "integrity": "sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.0.tgz", + "integrity": "sha512-onl4Oy46oGCzymOXtKMQpI7VXtCbTSHK1kqBydZ6AmzuNcacEVqGk9tZtAS+48IA9IstZcDCgIg8hQKnb7suRw==", + "dev": true, + "requires": { + "@babel/types": "^7.9.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", + "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.9.0", + "lodash": "^4.17.13" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/parser": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.0.tgz", + "integrity": "sha512-Iwyp00CZsypoNJcpXCbq3G4tcDgphtlMwMVrMhhZ//XBkqjXF7LW6V511yk0+pBX3ZwwGnPea+pTKNJiqA7pUg==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz", + "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-modules-commonjs": { @@ -690,25 +1025,197 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", - "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz", + "integrity": "sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.0.tgz", + "integrity": "sha512-onl4Oy46oGCzymOXtKMQpI7VXtCbTSHK1kqBydZ6AmzuNcacEVqGk9tZtAS+48IA9IstZcDCgIg8hQKnb7suRw==", + "dev": true, + "requires": { + "@babel/types": "^7.9.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", + "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.9.0", + "lodash": "^4.17.13" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/parser": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.0.tgz", + "integrity": "sha512-Iwyp00CZsypoNJcpXCbq3G4tcDgphtlMwMVrMhhZ//XBkqjXF7LW6V511yk0+pBX3ZwwGnPea+pTKNJiqA7pUg==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz", + "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-modules-umd": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", - "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", + "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/generator": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.0.tgz", + "integrity": "sha512-onl4Oy46oGCzymOXtKMQpI7VXtCbTSHK1kqBydZ6AmzuNcacEVqGk9tZtAS+48IA9IstZcDCgIg8hQKnb7suRw==", + "dev": true, + "requires": { + "@babel/types": "^7.9.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", + "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.9.0", + "lodash": "^4.17.13" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/parser": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.0.tgz", + "integrity": "sha512-Iwyp00CZsypoNJcpXCbq3G4tcDgphtlMwMVrMhhZ//XBkqjXF7LW6V511yk0+pBX3ZwwGnPea+pTKNJiqA7pUg==", + "dev": true + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz", + "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-named-capturing-groups-regex": { @@ -765,12 +1272,11 @@ } }, "@babel/plugin-transform-react-constant-elements": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.8.3.tgz", - "integrity": "sha512-glrzN2U+egwRfkNFtL34xIBYTxbbUF2qJTP8HD3qETBBqzAWSeNB821X0GjU06+dNpq/UyCIjI72FmGE5NNkQQ==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.9.0.tgz", + "integrity": "sha512-wXMXsToAUOxJuBBEHajqKLFWcCkOSLshTI2ChCFFj1zDd7od4IOxiwLCOObNUvOpkxLpjIuaIdBMmNt6ocCPAw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", "@babel/helper-plugin-utils": "^7.8.3" } }, @@ -792,10 +1298,21 @@ "@babel/plugin-syntax-jsx": "^7.8.3" } }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz", + "integrity": "sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx-experimental": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.3.tgz", - "integrity": "sha512-01OT7s5oa0XTLf2I8XGsL8+KqV9lx3EZV+jxn/L2LQ97CGKila2YMroTkCEIE0HV/FF7CMSRsIAybopdN9NTdg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz", + "integrity": "sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", @@ -908,46 +1425,30 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, - "@babel/polyfill": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.3.tgz", - "integrity": "sha512-0QEgn2zkCzqGIkSWWAEmvxD7e00Nm9asTtQvi7HdlYvMhjy/J38V/1Y9ode0zEJeIuxAI0uftiAzqc7nVeWUGg==", - "dev": true, - "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.2" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true - } - } - }, "@babel/preset-env": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.4.tgz", - "integrity": "sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz", + "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.8.4", - "@babel/helper-compilation-targets": "^7.8.4", + "@babel/compat-data": "^7.9.0", + "@babel/helper-compilation-targets": "^7.8.7", "@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-numeric-separator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.9.0", "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.9.0", "@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-numeric-separator": "^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", @@ -956,26 +1457,26 @@ "@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-classes": "^7.9.0", "@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-for-of": "^7.9.0", "@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-modules-amd": "^7.9.0", + "@babel/plugin-transform-modules-commonjs": "^7.9.0", + "@babel/plugin-transform-modules-systemjs": "^7.9.0", + "@babel/plugin-transform-modules-umd": "^7.9.0", "@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-parameters": "^7.8.7", "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.3", + "@babel/plugin-transform-regenerator": "^7.8.7", "@babel/plugin-transform-reserved-words": "^7.8.3", "@babel/plugin-transform-shorthand-properties": "^7.8.3", "@babel/plugin-transform-spread": "^7.8.3", @@ -983,275 +1484,398 @@ "@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", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.9.0", + "browserslist": "^4.9.1", "core-js-compat": "^3.6.2", "invariant": "^2.2.2", "levenary": "^1.1.1", "semver": "^5.5.0" }, "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/preset-flow": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.8.3.tgz", - "integrity": "sha512-iCXFk+T4demnq+dNLLvlGOgvYF6sPZ/hS1EmswugOqh1Ysp2vuiqJzpgsnp5rW8+6dLJT/0CXDzye28ZH6BAfQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-transform-flow-strip-types": "^7.8.3" - } - }, - "@babel/preset-react": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.8.3.tgz", - "integrity": "sha512-9hx0CwZg92jGb7iHYQVgi0tOEHP/kM60CtWJQnmbATSPIQQ2xYzfoCI3EdqAhFBeeJwYMdWQuDUHMsuDbH9hyQ==", - "dev": true, - "requires": { - "@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/register": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.8.3.tgz", - "integrity": "sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg==", - "requires": { - "find-cache-dir": "^2.0.0", - "lodash": "^4.17.13", - "make-dir": "^2.1.0", - "pirates": "^4.0.0", - "source-map-support": "^0.5.16" - } - }, - "@babel/runtime": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", - "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", - "requires": { - "regenerator-runtime": "^0.13.2" - } - }, - "@babel/standalone": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.8.4.tgz", - "integrity": "sha512-c/PomWPyLeCAnldfMGL2wNbu4OcseDObGhpK6WGfwqHWW+t9TNB7ENF/uWw/GtWv1wOnbPOb6U+uj2Q5ki1HLg==", - "dev": true - }, - "@babel/template": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", - "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/traverse": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz", - "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==", - "requires": { - "@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/types": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", - "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "@base2/pretty-print-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz", - "integrity": "sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw==", - "dev": true - }, - "@chromaui/localtunnel": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@chromaui/localtunnel/-/localtunnel-1.10.1.tgz", - "integrity": "sha512-LXhAogVc9SOQ45+mtk2mhcQxW4bE8aadfx9WbDzuDlBXcDgDMFBaxOmd5VYsPxQYA+cLFkKeuKOpROzsZSEySA==", - "dev": true, - "requires": { - "axios": "0.19.0", - "debug": "^3.0.1", - "openurl": "1.1.1", - "yargs": "6.6.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "@babel/generator": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.0.tgz", + "integrity": "sha512-onl4Oy46oGCzymOXtKMQpI7VXtCbTSHK1kqBydZ6AmzuNcacEVqGk9tZtAS+48IA9IstZcDCgIg8hQKnb7suRw==", + "dev": true, + "requires": { + "@babel/types": "^7.9.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz", + "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", + "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.9.0", + "lodash": "^4.17.13" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/parser": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.0.tgz", + "integrity": "sha512-Iwyp00CZsypoNJcpXCbq3G4tcDgphtlMwMVrMhhZ//XBkqjXF7LW6V511yk0+pBX3ZwwGnPea+pTKNJiqA7pUg==", "dev": true }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.0.tgz", + "integrity": "sha512-UgqBv6bjq4fDb8uku9f+wcm1J7YxJ5nT7WO/jBr0cl0PLKb7t1O6RNR1kZbjgx2LQtsDI9hwoQVmn0yhXeQyow==", "dev": true, "requires": { - "ms": "^2.1.1" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", + "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "@babel/plugin-transform-classes": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.0.tgz", + "integrity": "sha512-xt/0CuBRBsBkqfk95ILxf0ge3gnXjEhOHrNxIiS8fdzSWgecuf9Vq2ogLUfaozJgt3LDO49ThMVWiyezGkei7A==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "@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.6", + "@babel/helper-split-export-declaration": "^7.8.3", + "globals": "^11.1.0" } }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "@babel/plugin-transform-for-of": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz", + "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==", "dev": true, "requires": { - "lcid": "^1.0.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz", + "integrity": "sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g==", "dev": true, "requires": { - "error-ex": "^1.2.0" + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" } }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "@babel/plugin-transform-parameters": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz", + "integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "@babel/helper-call-delegate": "^7.8.7", + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" } }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "@babel/plugin-transform-regenerator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", + "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "regenerator-transform": "^0.14.2" } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "@babel/traverse": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz", + "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" } }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "regenerator-transform": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "@babel/runtime": "^7.8.4", + "private": "^0.1.8" } }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true + } + } + }, + "@babel/preset-flow": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.9.0.tgz", + "integrity": "sha512-88uSmlshIrlmPkNkEcx3UpSZ6b8n0UGBq0/0ZMZCF/uxAW0XIAUuDHBhIOAh0pvweafH4RxOwi/H3rWhtqOYPA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-transform-flow-strip-types": "^7.9.0" + }, + "dependencies": { + "@babel/plugin-transform-flow-strip-types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz", + "integrity": "sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-flow": "^7.8.3" + } + } + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.9.1.tgz", + "integrity": "sha512-aJBYF23MPj0RNdp/4bHnAP0NVqqZRr9kl0NAOP4nJCex6OYVio59+dnQzsAWFuogdLyeaKA1hmfUIVZkY5J+TQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-transform-react-display-name": "^7.8.3", + "@babel/plugin-transform-react-jsx": "^7.9.1", + "@babel/plugin-transform-react-jsx-development": "^7.9.0", + "@babel/plugin-transform-react-jsx-self": "^7.9.0", + "@babel/plugin-transform-react-jsx-source": "^7.9.0" + }, + "dependencies": { + "@babel/helper-builder-react-jsx": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz", + "integrity": "sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/types": "^7.9.0" + } }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "@babel/plugin-transform-react-jsx": { + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.1.tgz", + "integrity": "sha512-+xIZ6fPoix7h57CNO/ZeYADchg1tFyX9NDsnmNFFua8e1JNPln156mzS+8AQe1On2X2GLlANHJWHIXbMCqWDkQ==", "dev": true, "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" + "@babel/helper-builder-react-jsx": "^7.9.0", + "@babel/helper-builder-react-jsx-experimental": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" } }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "@babel/plugin-transform-react-jsx-source": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz", + "integrity": "sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", "dev": true, "requires": { - "camelcase": "^3.0.0" + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } } } }, + "@babel/register": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.9.0.tgz", + "integrity": "sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q==", + "requires": { + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", + "pirates": "^4.0.0", + "source-map-support": "^0.5.16" + } + }, + "@babel/runtime": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.0.tgz", + "integrity": "sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==", + "requires": { + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + } + } + }, + "@babel/runtime-corejs3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.9.0.tgz", + "integrity": "sha512-Fe3z3yVZNCUTaOFBAofwkEtFiYi7a7Gg2F5S1QX+mqP403i2iKJtyHJYEp/PV2ijUheT0PiKWbmXcqtwLhmBzg==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + } + } + }, + "@babel/standalone": { + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.9.1.tgz", + "integrity": "sha512-teEo2Q2n+QQZeJypZbRHYXP7HorOCPVRqrcCJDQ0h0fTRq6y+27r1AwMZQHFlXF3Vze9daNaFiTXdzrBGefA/w==", + "dev": true + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz", + "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==", + "requires": { + "@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/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@base2/pretty-print-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz", + "integrity": "sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw==", + "dev": true + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "@cnakazawa/watch": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", @@ -1295,12 +1919,29 @@ "meow": "^5.0.0", "mkdirp": "^0.5.1", "sort-keys": "^3.0.0" - } - }, - "@digidem/wcmc-mapeo-mobile-intro": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@digidem/wcmc-mapeo-mobile-intro/-/wcmc-mapeo-mobile-intro-1.0.1.tgz", - "integrity": "sha512-+JhMicYXC+1+0X24geG2/mw2MfxQODl0sPCg8DKkwnmbAzL3/pCsbKmqyDJnKqRRkWK+xiVLOF+G0QVnt7Xbkw==", + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "@digidem/wcmc-mapeo-mobile-intro": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@digidem/wcmc-mapeo-mobile-intro/-/wcmc-mapeo-mobile-intro-1.0.1.tgz", + "integrity": "sha512-+JhMicYXC+1+0X24geG2/mw2MfxQODl0sPCg8DKkwnmbAzL3/pCsbKmqyDJnKqRRkWK+xiVLOF+G0QVnt7Xbkw==", "requires": { "get-contrast-ratio": "^0.2.1", "mdast-normalize-react-native": "^3.2.0", @@ -1310,12 +1951,33 @@ "react-native-tab-view": "^2.13.0", "react-navigation-hooks": "^1.1.0", "remark": "^11.0.2" + }, + "dependencies": { + "react-native-redash": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/react-native-redash/-/react-native-redash-9.6.0.tgz", + "integrity": "sha512-0Q0YppSQQ7LJlYcSzb2GGYtKvZFVOfzYeJc/cE1smXNisXyanFmFLrWZ1L4OuZyCas+cl3nELYeQi55ys3h6bg==", + "requires": { + "abs-svg-path": "^0.1.1", + "normalize-svg-path": "^1.0.1", + "parse-svg-path": "^0.1.2", + "use-memo-one": "^1.1.1" + } + } + } + }, + "@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "requires": { + "@types/hammerjs": "^2.0.36" } }, "@emotion/cache": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.27.tgz", - "integrity": "sha512-Zp8BEpbMunFsTcqAK4D7YTm3MvCp1SekflSLJH8lze2fCcSZ/yMkXHo8kb3t1/1Tdd3hAqf3Fb7z9VZ+FMiC9w==", + "version": "10.0.29", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", + "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", "dev": true, "requires": { "@emotion/sheet": "0.9.4", @@ -1325,9 +1987,9 @@ } }, "@emotion/core": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.27.tgz", - "integrity": "sha512-XbD5R36pVbohQMnKfajHv43g8EbN4NHdF6Zh9zg/C0nr0jqwOw3gYnC07Xj3yG43OYSRyrGsoQ5qPwc8ycvLZw==", + "version": "10.0.28", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", + "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", "dev": true, "requires": { "@babel/runtime": "^7.5.5", @@ -1350,15 +2012,15 @@ } }, "@emotion/hash": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.7.4.tgz", - "integrity": "sha512-fxfMSBMX3tlIbKUdtGKxqB1fyrH6gVrX39Gsv3y8lRYKUqlgDt3UMqQyGnR1bQMa2B8aGnhLZokZgg8vT0Le+A==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", "dev": true }, "@emotion/is-prop-valid": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.6.tgz", - "integrity": "sha512-mnZMho3Sq8BfzkYYRVc8ilQTnc8U02Ytp6J1AwM6taQStZ3AhsEJBX2LzhA/LJirNCwM2VtHL3VFIZ+sNJUgUQ==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", "dev": true, "requires": { "@emotion/memoize": "0.7.4" @@ -1389,12 +2051,12 @@ } }, "@emotion/serialize": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.15.tgz", - "integrity": "sha512-YE+qnrmGwyR+XB5j7Bi+0GT1JWsdcjM/d4POu+TXkcnrRs4RFCCsi3d/Ebf+wSStHqAlTT2+dfd+b9N9EO2KBg==", + "version": "0.11.16", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", + "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", "dev": true, "requires": { - "@emotion/hash": "0.7.4", + "@emotion/hash": "0.8.0", "@emotion/memoize": "0.7.4", "@emotion/unitless": "0.7.5", "@emotion/utils": "0.11.3", @@ -1418,13 +2080,13 @@ } }, "@emotion/styled-base": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.27.tgz", - "integrity": "sha512-ufHM/HhE3nr309hJG9jxuFt71r6aHn7p+bwXduFxcwPFEfBIqvmZUMtZ9YxIsY61PVwK3bp4G1XhaCzy9smVvw==", + "version": "10.0.31", + "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.31.tgz", + "integrity": "sha512-wTOE1NcXmqMWlyrtwdkqg87Mu6Rj1MaukEoEmEkHirO5IoHDJ8LgCQL4MjJODgxWxXibGR3opGp1p7YvkNEdXQ==", "dev": true, "requires": { "@babel/runtime": "^7.5.5", - "@emotion/is-prop-valid": "0.8.6", + "@emotion/is-prop-valid": "0.8.8", "@emotion/serialize": "^0.11.15", "@emotion/utils": "0.11.3" } @@ -1454,33 +2116,33 @@ "dev": true }, "@formatjs/intl-displaynames": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-1.2.0.tgz", - "integrity": "sha512-mUGI2sc6OABkrMj42HlOpK1h96EVrN+gOhzbyCTMH9SVH/gPPLr/zFRH3KFWtBwxqhYsDghvUwm8xkdFOK0kTg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-1.2.2.tgz", + "integrity": "sha512-qwYxEWJEIplshOMWyLGl2g0d9g/25oQm8GWWCRcagHhv4YIfSJM5+GCTYNJiQImm10pKfEhoV5ezDs0Pr/8CRA==", "requires": { "@formatjs/intl-utils": "^2.2.0" } }, "@formatjs/intl-listformat": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-1.4.1.tgz", - "integrity": "sha512-AX0o1y5xXyMY4ebZOO+UujMcDhniYDs50KpwGzjUPV+bBILwRYqH/6IprZZG/V8YSOtetZlalZiwzJ50dH6PuQ==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-1.4.2.tgz", + "integrity": "sha512-e4ooLDRkNpwlswXLTuSB34catJSWqnYVITBQl+rOLLAdIqVxowqX5ngWCAhaXGIMs58ohaZMor5ikJpUbPhgTA==", "requires": { "@formatjs/intl-utils": "^2.2.0" } }, "@formatjs/intl-relativetimeformat": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.9.tgz", - "integrity": "sha512-6rgPXQl5MrPPbCuNiHxolzO6xNCHphCVEWW6RWGy7t/Mek70gD7nq1erW8fbQJ0XL/UeAC0Cz/+ggh7vaSsKNA==", + "version": "4.5.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.10.tgz", + "integrity": "sha512-lQXqwywTcWL88VV+6RC1xShZjH0ry4/TEQHKGcTF3ObJp2P61EHIu8UftYgFfDqRDSV9/yQBiyStaBZWbHNlzg==", "requires": { "@formatjs/intl-utils": "^2.2.0" } }, "@formatjs/intl-unified-numberformat": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.2.0.tgz", - "integrity": "sha512-SZMTV/tR0h7nYhS2x69S7zhHXaBmE0ZTR2OIiakt8W7uYWVgcRhu/LgUeVtGzpwPI2ChcOjNMtX/k6y1M9aDNA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.0.tgz", + "integrity": "sha512-wLT3myYq6fUhJYUh53tt5fMok+sUqO3Jy1XeSqYTphP7MmQl38tHqAIL65Dxh7M6/QlDEQTOkMZNpQcnT0AzaQ==", "requires": { "@formatjs/intl-utils": "^2.2.0" } @@ -1490,11 +2152,6 @@ "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-2.2.0.tgz", "integrity": "sha512-+Az7tR1av1DHZu9668D8uh9atT6vp+FFmEF8BrEssv0OqzpVjpVBGVmcgPzQP8k2PQjVlm/h2w8cTt0knn132w==" }, - "@formatjs/macro": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@formatjs/macro/-/macro-0.2.6.tgz", - "integrity": "sha512-DfdnLJf8+PwLHzJECZ1Xfa8+sI9akQnUuLN2UdkaExTQmlY0Vs36rMzEP0JoVDBMk+KdQbJNt72rPeZkBNcKWg==" - }, "@hapi/address": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", @@ -1529,6 +2186,32 @@ "@hapi/hoek": "^8.3.0" } }, + "@istanbuljs/load-nyc-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", + "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, "@jest/console": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", @@ -1540,999 +2223,726 @@ } }, "@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.1.0.tgz", + "integrity": "sha512-iz05+NmwCmZRzMXvMo6KFipW7nzhbpEawrKrkkdJzgytavPse0biEnCNr2wRlyCsp3SmKaEY+SGv7YWYQnIdig==", "dev": true, "requires": { - "@jest/console": "^24.7.1", - "@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", + "@jest/console": "^25.1.0", + "@jest/reporters": "^25.1.0", + "@jest/test-result": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "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": "^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", + "graceful-fs": "^4.2.3", + "jest-changed-files": "^25.1.0", + "jest-config": "^25.1.0", + "jest-haste-map": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-regex-util": "^25.1.0", + "jest-resolve": "^25.1.0", + "jest-resolve-dependencies": "^25.1.0", + "jest-runner": "^25.1.0", + "jest-runtime": "^25.1.0", + "jest-snapshot": "^25.1.0", + "jest-util": "^25.1.0", + "jest-validate": "^25.1.0", + "jest-watcher": "^25.1.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "dependencies": { + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "glob": "^7.1.3" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } - } - } - }, - "@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", - "dev": true, - "requires": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", - "requires": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", - "dev": true, - "requires": { - "@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", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "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.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - }, - "dependencies": { + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - } - }, - "@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", - "dev": true, - "requires": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" - } - }, - "@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.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.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", - "write-file-atomic": "2.4.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } - } - } - }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@mapbox/geo-viewport": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@mapbox/geo-viewport/-/geo-viewport-0.4.0.tgz", - "integrity": "sha512-5OAXoP8C96Co3UDIzFliSzrK5njb9oG2H/RTMaZUW1swxIZlj3n3A5ccep5XAEIhTWxBLg/Cz48D3rUbAdXwHQ==", - "requires": { - "@mapbox/sphericalmercator": "~1.1.0" - } - }, - "@mapbox/sphericalmercator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/sphericalmercator/-/sphericalmercator-1.1.0.tgz", - "integrity": "sha512-pEsfZyG4OMThlfFQbCte4gegvHUjxXCjz0KZ4Xk8NdOYTQBLflj6U8PL05RPAiuRAMAQNUUKJuL6qYZ5Y4kAWA==" - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "@octokit/auth-token": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz", - "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.0" - } - }, - "@octokit/endpoint": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.2.tgz", - "integrity": "sha512-ICDcRA0C2vtTZZGud1nXRrBLXZqFayodXAKZfo3dkdcLNqcHsgaz3YSTupbURusYeucSVRjjG+RTcQhx6HPPcg==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.0", - "is-plain-object": "^3.0.0", - "universal-user-agent": "^4.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", - "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "isobject": "^4.0.0" + "color-name": "~1.1.4" } }, - "isobject": { + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "dev": true, + "optional": true + }, + "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true - } - } - }, - "@octokit/plugin-paginate-rest": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", - "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.1" - } - }, - "@octokit/plugin-request-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", - "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==", - "dev": true - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", - "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.1", - "deprecation": "^2.3.1" - } - }, - "@octokit/request": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz", - "integrity": "sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg==", - "dev": true, - "requires": { - "@octokit/endpoint": "^5.5.0", - "@octokit/request-error": "^1.0.1", - "@octokit/types": "^2.0.0", - "deprecation": "^2.0.0", - "is-plain-object": "^3.0.0", - "node-fetch": "^2.3.0", - "once": "^1.4.0", - "universal-user-agent": "^4.0.0" - }, - "dependencies": { - "is-plain-object": { + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "jest-haste-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.1.0.tgz", + "integrity": "sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.3", + "jest-serializer": "^25.1.0", + "jest-util": "^25.1.0", + "jest-worker": "^25.1.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-serializer": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.1.0.tgz", + "integrity": "sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA==", + "dev": true + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "jest-validate": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.1.0.tgz", + "integrity": "sha512-kGbZq1f02/zVO2+t1KQGSVoCTERc5XeObLwITqC6BTRH3Adv7NZdYqCpKIZLUgpLXf2yISzQ465qOZpul8abXA==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.1.0", + "leven": "^3.1.0", + "pretty-format": "^25.1.0" + } + }, + "jest-worker": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", - "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", "dev": true, "requires": { - "isobject": "^4.0.0" + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" } }, - "isobject": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", "dev": true } } }, - "@octokit/request-error": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", - "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "@jest/environment": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.1.0.tgz", + "integrity": "sha512-cTpUtsjU4cum53VqBDlcW0E4KbQF03Cn0jckGPW/5rrE9tb+porD3+hhLtHAwhthsqfyF+bizyodTlsRA++sHg==", "dev": true, "requires": { - "@octokit/types": "^2.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "@octokit/rest": { - "version": "16.43.1", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz", - "integrity": "sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==", - "dev": true, - "requires": { - "@octokit/auth-token": "^2.4.0", - "@octokit/plugin-paginate-rest": "^1.1.1", - "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "2.4.0", - "@octokit/request": "^5.2.0", - "@octokit/request-error": "^1.0.2", - "atob-lite": "^2.0.0", - "before-after-hook": "^2.0.0", - "btoa-lite": "^1.0.0", - "deprecation": "^2.0.0", - "lodash.get": "^4.4.2", - "lodash.set": "^4.3.2", - "lodash.uniq": "^4.5.0", - "octokit-pagination-methods": "^1.1.0", - "once": "^1.4.0", - "universal-user-agent": "^4.0.0" - } - }, - "@octokit/types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.1.1.tgz", - "integrity": "sha512-89LOYH+d/vsbDX785NOfLxTW88GjNd0lWRz1DVPVsZgg9Yett5O+3MOvwo7iHgvUwbFz0mf/yPIjBkUbs4kxoQ==", - "dev": true, - "requires": { - "@types/node": ">= 8" - } - }, - "@reach/router": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.1.tgz", - "integrity": "sha512-Ov1j1J+pSgXliJHFL7XWhjyREwc6GxeWfgBTa5MMH5eRmYtHbPhaovba4xKo7aTVCg8fxkt2yDMNSpvwfUP+pA==", - "dev": true, - "requires": { - "create-react-context": "0.3.0", - "invariant": "^2.2.3", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4" - } - }, - "@react-native-community/art": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@react-native-community/art/-/art-1.0.2.tgz", - "integrity": "sha512-GFqRy5DfHmD0LF+cIn1TPeNienFNTuLsv3SNq1vsg2J04l51ESSAUq7dY35cCE/g6Hfi9t8zx+A9sEMplRKZ0g==", - "requires": { - "art": "^0.10.3", - "invariant": "^2.2.4", - "prop-types": "^15.7.2" - } - }, - "@react-native-community/async-storage": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.7.1.tgz", - "integrity": "sha512-/oX/x+EU4xNaqIaC/epVKzO8XghzImPA7l8cLz3USEFmtFiXFjBbTeeIFjjEm/u4/cv38Wi1xMEa10PHIWygRg==" - }, - "@react-native-community/cli-debugger-ui": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-3.0.0.tgz", - "integrity": "sha512-m3X+iWLsK/H7/b7PpbNO33eQayR/+M26la4ZbYe1KRke5Umg4PIWsvg21O8Tw4uJcY8LA5hsP+rBi/syBkBf0g==", - "requires": { - "serve-static": "^1.13.1" - } - }, - "@react-native-community/cli-platform-android": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-3.0.3.tgz", - "integrity": "sha512-rNO9DmRiVhB6aP2DVUjEJv7ecriTARDZND88ny3xNVUkrD1Y+zwF6aZu3eoT52VXOxLCSLiJzz19OiyGmfqxYg==", - "requires": { - "@react-native-community/cli-tools": "^3.0.0", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "jetifier": "^1.6.2", - "logkitty": "^0.6.0", - "slash": "^3.0.0", - "xmldoc": "^1.1.2" + "@jest/fake-timers": "^25.1.0", + "@jest/types": "^25.1.0", + "jest-mock": "^25.1.0" }, "dependencies": { - "slash": { + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/fake-timers": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.1.0.tgz", + "integrity": "sha512-Eu3dysBzSAO1lD7cylZd/CVKdZZ1/43SF35iYBNV1Lvvn2Undp3Grwsv8PrzvbLhqwRzDd4zxrY4gsiHc+wygQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-mock": "^25.1.0", + "jest-util": "^25.1.0", + "lolex": "^5.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@react-native-community/cli-platform-ios": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.0.0.tgz", - "integrity": "sha512-QoNVlDj8eMXRZk9uktPFsctHurQpv9jKmiu6mQii4NEtT2npE7g1hbWpRNojutBsfgmCdQGDHd9uB54eeCnYgg==", - "requires": { - "@react-native-community/cli-tools": "^3.0.0", - "chalk": "^2.4.2", - "js-yaml": "^3.13.1", - "xcode": "^2.0.0" - } - }, - "@react-native-community/cli-tools": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-3.0.0.tgz", - "integrity": "sha512-8IhQKZdf3E4CR8T7HhkPGgorot/cLkRDgneJFDSWk/wCYZAuUh4NEAdumQV7N0jLSMWX7xxiWUPi94lOBxVY9g==", - "requires": { - "chalk": "^2.4.2", - "lodash": "^4.17.5", - "mime": "^2.4.1", - "node-fetch": "^2.5.0" - }, - "dependencies": { - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" - } - } - }, - "@react-native-community/cli-types": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-3.0.0.tgz", - "integrity": "sha512-ng6Tm537E/M42GjE4TRUxQyL8sRfClcL7bQWblOCoxPZzJ2J3bdALsjeG3vDnVCIfI/R0AeFalN9KjMt0+Z/Zg==" - }, - "@react-native-community/eslint-config": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-0.0.5.tgz", - "integrity": "sha512-jwO2tnKaTPTLX5XYXMHGEnFdf543SU7jz98/OF5mDH3b7lP+BOaCD+jVfqqHoDRkcqyPlYiR1CgwVGWpi0vMWg==", - "dev": true, - "requires": { - "@typescript-eslint/eslint-plugin": "^1.5.0", - "@typescript-eslint/parser": "^1.5.0", - "babel-eslint": "10.0.1", - "eslint-plugin-eslint-comments": "^3.1.1", - "eslint-plugin-flowtype": "2.50.3", - "eslint-plugin-jest": "22.4.1", - "eslint-plugin-prettier": "2.6.2", - "eslint-plugin-react": "7.12.4", - "eslint-plugin-react-hooks": "^1.5.1", - "eslint-plugin-react-native": "3.6.0", - "prettier": "1.16.4" - }, - "dependencies": { - "babel-eslint": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", - "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "@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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "eslint-plugin-flowtype": { - "version": "2.50.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", - "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "color-name": "~1.1.4" } }, - "eslint-plugin-jest": { - "version": "22.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", - "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "eslint-plugin-prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz", - "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" + "to-regex-range": "^5.0.1" } }, - "eslint-plugin-react": { - "version": "7.12.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz", - "integrity": "sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", "dev": true, "requires": { - "array-includes": "^3.0.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.0.1", - "object.fromentries": "^2.0.0", - "prop-types": "^15.6.2", - "resolve": "^1.9.0" + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" } }, - "eslint-plugin-react-native": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.6.0.tgz", - "integrity": "sha512-BEQcHZ06hZSBYWFVuNEq0xuui5VEsWpHDsZGBtfadHfCRqRMUrkYPgdDb3bpc60qShHE83kqIv59uKdinEg91Q==", + "jest-mock": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.1.0.tgz", + "integrity": "sha512-28/u0sqS+42vIfcd1mlcg4ZVDmSUYuNvImP4X2lX5hRMLW+CN0BeiKVD4p+ujKKbSPKd3rg/zuhCF+QBLJ4vag==", "dev": true, "requires": { - "eslint-plugin-react-native-globals": "^0.1.1" + "@jest/types": "^25.1.0" } }, - "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" } }, - "prettier": { - "version": "1.16.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz", - "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==", + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true - } - } - }, - "@react-native-community/netinfo": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-4.7.0.tgz", - "integrity": "sha512-a/sDB+AsLEUNmhAUlAaTYeXKyQdFGBUfatqKkX5jluBo2CB3OAuTHfm7rSjcaLB9EmG5iSq3fOTpync2E7EYTA==" - }, - "@react-native-mapbox-gl/maps": { - "version": "github:gmaclennan/react-native-mapbox-gl#ca49bf0311cbf04c4dc036d67ab7d1295b3a7101", - "from": "github:gmaclennan/react-native-mapbox-gl#set-connected", - "requires": { - "@mapbox/geo-viewport": ">= 0.4.0", - "@turf/along": ">= 4.0.0 <7.0.0", - "@turf/distance": ">= 4.0.0 <7.0.0", - "@turf/helpers": ">= 4.6.0 <7.0.0", - "underscore": "^1.8.3" - } - }, - "@react-navigation/core": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.5.2.tgz", - "integrity": "sha512-HgKXci1h74aETgm5CXMBoIWG8R7VZG1eUUHYb3BdxwekdiZjW1P/srjiXzsCqFGlsESnVIOIkzT4DqI9J752Bw==", - "requires": { - "hoist-non-react-statics": "^3.3.0", - "path-to-regexp": "^1.7.0", - "query-string": "^6.4.2", - "react-is": "^16.8.6" - } - }, - "@react-navigation/native": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.6.5.tgz", - "integrity": "sha512-ttEmnokFVf09CvrkzlPIdfA693KfYcRxTYf9OZwp0Ll6El27UYjJD4arwGc+zvlohjTErCdba6CAKV702Wv28w==", - "requires": { - "hoist-non-react-statics": "^3.3.2", - "react-native-safe-area-view": "^0.14.8" - } - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true - }, - "@storybook/addon-actions": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-5.3.12.tgz", - "integrity": "sha512-3j6ZJROcH4bm8vpaM2RU/sRdoOLF9DpVWiE6uutlrVEV6eWuexrUAYwSzuF4Pjr1LUWDSDIT9pEES+tHdn9Rww==", - "dev": true, - "requires": { - "@storybook/addons": "5.3.12", - "@storybook/api": "5.3.12", - "@storybook/client-api": "5.3.12", - "@storybook/components": "5.3.12", - "@storybook/core-events": "5.3.12", - "@storybook/theming": "5.3.12", - "core-js": "^3.0.1", - "fast-deep-equal": "^2.0.1", - "global": "^4.3.2", - "polished": "^3.3.1", - "prop-types": "^15.7.2", - "react": "^16.8.3", - "react-inspector": "^4.0.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - } - } - }, - "@storybook/addon-info": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/addon-info/-/addon-info-5.3.12.tgz", - "integrity": "sha512-5dju7eJns4q3HY13qnWR9ey0iPxezrYAOhg4lFMHpw95PVEfoXbXS1pdSd2mP8BilcxmWlQ7Uo0HC8kYDOjtdQ==", - "dev": true, - "requires": { - "@storybook/addons": "5.3.12", - "@storybook/client-logger": "5.3.12", - "@storybook/components": "5.3.12", - "@storybook/theming": "5.3.12", - "core-js": "^3.0.1", - "global": "^4.3.2", - "marksy": "^8.0.0", - "nested-object-assign": "^1.0.3", - "prop-types": "^15.7.2", - "react": "^16.8.3", - "react-addons-create-fragment": "^15.6.2", - "react-element-to-jsx-string": "^14.0.2", - "react-is": "^16.8.3", - "react-lifecycles-compat": "^3.0.4", - "util-deprecate": "^1.0.2" - } - }, - "@storybook/addon-links": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-5.3.12.tgz", - "integrity": "sha512-8ipbr21wbbXDy+JKiVr6Maac7EbZT7sE41/RTvVZjdMFWQU+XG5sxneJBJcgSzCsFV3wWyLEjb3DEkC/rCkdaw==", - "dev": true, - "requires": { - "@storybook/addons": "5.3.12", - "@storybook/client-logger": "5.3.12", - "@storybook/core-events": "5.3.12", - "@storybook/csf": "0.0.1", - "@storybook/router": "5.3.12", - "core-js": "^3.0.1", - "global": "^4.3.2", - "prop-types": "^15.7.2", - "qs": "^6.6.0", - "ts-dedent": "^1.1.0" - }, - "dependencies": { - "qs": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", - "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", - "dev": true - } - } - }, - "@storybook/addon-viewport": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-5.3.12.tgz", - "integrity": "sha512-SvSoRTMYLvHU8ulWwOdzISlNbkdQMPgYGW18HuZ80AA52Q9KoVPC+hXI6rWq8HJ5iP47K9K2fpsIjqQSqzY/hQ==", - "dev": true, - "requires": { - "@storybook/addons": "5.3.12", - "@storybook/api": "5.3.12", - "@storybook/client-logger": "5.3.12", - "@storybook/components": "5.3.12", - "@storybook/core-events": "5.3.12", - "@storybook/theming": "5.3.12", - "core-js": "^3.0.1", - "global": "^4.3.2", - "memoizerific": "^1.11.3", - "prop-types": "^15.7.2", - "util-deprecate": "^1.0.2" - } - }, - "@storybook/addons": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-5.3.12.tgz", - "integrity": "sha512-5jVns+wq95ZismEQ5ByDhrEFzDH8OIEj2BLSPT7VTbik7iLC+h7H2toWKAwIYZCxAuq0OTy6ZpIyhU/R2YuO4w==", - "dev": true, - "requires": { - "@storybook/api": "5.3.12", - "@storybook/channels": "5.3.12", - "@storybook/client-logger": "5.3.12", - "@storybook/core-events": "5.3.12", - "core-js": "^3.0.1", - "global": "^4.3.2", - "util-deprecate": "^1.0.2" - } - }, - "@storybook/api": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-5.3.12.tgz", - "integrity": "sha512-wYsr97vqARwmOordlPY17MJ9PrHSCsSM9JRC/zh698kXQGwYnse1nErzAiwj8YxuItfWGzE06kqjZBccnfSxPQ==", - "dev": true, - "requires": { - "@reach/router": "^1.2.1", - "@storybook/channels": "5.3.12", - "@storybook/client-logger": "5.3.12", - "@storybook/core-events": "5.3.12", - "@storybook/csf": "0.0.1", - "@storybook/router": "5.3.12", - "@storybook/theming": "5.3.12", - "@types/reach__router": "^1.2.3", - "core-js": "^3.0.1", - "fast-deep-equal": "^2.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "memoizerific": "^1.11.3", - "prop-types": "^15.6.2", - "react": "^16.8.3", - "semver": "^6.0.0", - "shallow-equal": "^1.1.0", - "store2": "^2.7.1", - "telejson": "^3.2.0", - "util-deprecate": "^1.0.2" - }, - "dependencies": { - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } } } }, - "@storybook/channel-postmessage": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-5.3.12.tgz", - "integrity": "sha512-yQZ6Ef0KnxI7vxJrcJaBYeZpxhl/18WEFtAO9MphvYvtd1dudqKNqdx9B/30PIXb7c/SptvGJR/EZhsRNr4Oug==", - "dev": true, - "requires": { - "@storybook/channels": "5.3.12", - "@storybook/client-logger": "5.3.12", - "core-js": "^3.0.1", - "global": "^4.3.2", - "telejson": "^3.2.0" - } - }, - "@storybook/channel-websocket": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-5.3.12.tgz", - "integrity": "sha512-K2NCtGMUJjKTJLeLv/KBafCGTzFVEFyAeGH79vCuMLSzfn2T+6q+1aEs1TFg0FSxaJ/oaGTo9uRMF9YDMnBpow==", - "dev": true, - "requires": { - "@storybook/channels": "5.3.12", - "core-js": "^3.0.1", - "global": "^4.3.2", - "json-fn": "^1.1.1" - } - }, - "@storybook/channels": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-5.3.12.tgz", - "integrity": "sha512-sfSHIRUusjZ69WhfPp8BrfmlGg80PYTNCBSE+1apK/WkgzYJyGgQmJgRAW6HTFqjawD7T+utAtarsqS30jo9jQ==", - "dev": true, + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", "requires": { - "core-js": "^3.0.1" + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" } }, - "@storybook/client-api": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-5.3.12.tgz", - "integrity": "sha512-Qzi+pS9FwqrArnG1VMV4QJxEdvw7KVc2ufgax7jCvK8JtDlSVe1/qpbJn7U3o1z4TPY/u3m6PbBLJDoSWTVonw==", + "@jest/reporters": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.1.0.tgz", + "integrity": "sha512-ORLT7hq2acJQa8N+NKfs68ZtHFnJPxsGqmofxW7v7urVhzJvpKZG9M7FAcgh9Ee1ZbCteMrirHA3m5JfBtAaDg==", "dev": true, "requires": { - "@storybook/addons": "5.3.12", - "@storybook/channel-postmessage": "5.3.12", - "@storybook/channels": "5.3.12", - "@storybook/client-logger": "5.3.12", - "@storybook/core-events": "5.3.12", - "@storybook/csf": "0.0.1", - "@types/webpack-env": "^1.15.0", - "core-js": "^3.0.1", - "eventemitter3": "^4.0.0", - "global": "^4.3.2", - "is-plain-object": "^3.0.0", - "lodash": "^4.17.15", - "memoizerific": "^1.11.3", - "qs": "^6.6.0", - "stable": "^0.1.8", - "ts-dedent": "^1.1.0", - "util-deprecate": "^1.0.2" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.1.0", + "@jest/environment": "^25.1.0", + "@jest/test-result": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.0", + "jest-haste-map": "^25.1.0", + "jest-resolve": "^25.1.0", + "jest-runtime": "^25.1.0", + "jest-util": "^25.1.0", + "jest-worker": "^25.1.0", + "node-notifier": "^6.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.0.1" }, "dependencies": { - "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", - "dev": true + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } }, - "is-plain-object": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", - "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", "dev": true, "requires": { - "isobject": "^4.0.0" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" } }, - "isobject": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", - "dev": true + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } }, - "qs": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", - "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", - "dev": true - } - } - }, - "@storybook/client-logger": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-5.3.12.tgz", - "integrity": "sha512-LsKDW4ijGJjyRg3GetS/OtVS+8ESxydVG55jvAlExHehUcVRvrPew5MsW63CRTQDpZsoh1aT9oV1yr8eYu1HZg==", - "dev": true, - "requires": { - "core-js": "^3.0.1" - } - }, - "@storybook/components": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-5.3.12.tgz", - "integrity": "sha512-Ma67yaSJHaNqLjp2csOZvHdu1Sk1eMke29WVEWjPYUBzzaZK7ZlmGiXzN0roYJVGaqHkl2f7xxRfPfWQp9NCIw==", - "dev": true, - "requires": { - "@storybook/client-logger": "5.3.12", - "@storybook/theming": "5.3.12", - "@types/react-syntax-highlighter": "11.0.2", - "@types/react-textarea-autosize": "^4.3.3", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "markdown-to-jsx": "^6.9.1", - "memoizerific": "^1.11.3", - "polished": "^3.3.1", - "popper.js": "^1.14.7", - "prop-types": "^15.7.2", - "react": "^16.8.3", - "react-dom": "^16.8.3", - "react-focus-lock": "^2.1.0", - "react-helmet-async": "^1.0.2", - "react-popper-tooltip": "^2.8.3", - "react-syntax-highlighter": "^11.0.2", - "react-textarea-autosize": "^7.1.0", - "simplebar-react": "^1.0.0-alpha.6", - "ts-dedent": "^1.1.0" - } - }, - "@storybook/core": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-5.3.12.tgz", - "integrity": "sha512-oqffKLyMEVREeOC8O1RVO+xn68zk4wZkjWN9KbhbMoP3zdxM1gdvpsemdVE1C008mZfe1A/KBwuuEmcn9EBTNw==", - "dev": true, - "requires": { - "@babel/plugin-proposal-class-properties": "^7.7.0", - "@babel/plugin-proposal-object-rest-spread": "^7.6.2", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-transform-react-constant-elements": "^7.2.0", - "@babel/preset-env": "^7.4.5", - "@storybook/addons": "5.3.12", - "@storybook/channel-postmessage": "5.3.12", - "@storybook/client-api": "5.3.12", - "@storybook/client-logger": "5.3.12", - "@storybook/core-events": "5.3.12", - "@storybook/csf": "0.0.1", - "@storybook/node-logger": "5.3.12", - "@storybook/router": "5.3.12", - "@storybook/theming": "5.3.12", - "@storybook/ui": "5.3.12", - "airbnb-js-shims": "^2.2.1", - "ansi-to-html": "^0.6.11", - "autoprefixer": "^9.7.2", - "babel-plugin-add-react-displayname": "^0.0.5", - "babel-plugin-emotion": "^10.0.20", - "babel-plugin-macros": "^2.7.0", - "babel-preset-minify": "^0.5.0 || 0.6.0-alpha.5", - "boxen": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.2.0", - "chalk": "^3.0.0", - "cli-table3": "0.5.1", - "commander": "^4.0.1", - "core-js": "^3.0.1", - "corejs-upgrade-webpack-plugin": "^2.2.0", - "css-loader": "^3.0.0", - "detect-port": "^1.3.0", - "dotenv-webpack": "^1.7.0", - "ejs": "^2.7.4", - "express": "^4.17.0", - "file-loader": "^4.2.0", - "file-system-cache": "^1.0.5", - "find-cache-dir": "^3.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.0.1", - "glob-base": "^0.3.0", - "global": "^4.3.2", - "html-webpack-plugin": "^4.0.0-beta.2", - "inquirer": "^7.0.0", - "interpret": "^2.0.0", - "ip": "^1.1.5", - "json5": "^2.1.1", - "lazy-universal-dotenv": "^3.0.1", - "micromatch": "^4.0.2", - "node-fetch": "^2.6.0", - "open": "^7.0.0", - "pnp-webpack-plugin": "1.5.0", - "postcss-flexbugs-fixes": "^4.1.0", - "postcss-loader": "^3.0.0", - "pretty-hrtime": "^1.0.3", - "qs": "^6.6.0", - "raw-loader": "^3.1.0", - "react-dev-utils": "^9.0.0", - "regenerator-runtime": "^0.13.3", - "resolve": "^1.11.0", - "resolve-from": "^5.0.0", - "semver": "^6.0.0", - "serve-favicon": "^2.5.0", - "shelljs": "^0.8.3", - "style-loader": "^1.0.0", - "terser-webpack-plugin": "^2.1.2", - "ts-dedent": "^1.1.0", - "unfetch": "^4.1.0", - "url-loader": "^2.0.1", - "util-deprecate": "^1.0.2", - "webpack": "^4.33.0", - "webpack-dev-middleware": "^3.7.0", - "webpack-hot-middleware": "^2.25.0", - "webpack-virtual-modules": "^0.2.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", - "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" } }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } }, "ansi-styles": { "version": "4.2.1", @@ -2544,6 +2954,16 @@ "color-convert": "^2.0.1" } }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -2553,6 +2973,12 @@ "fill-range": "^7.0.1" } }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -2563,21 +2989,6 @@ "supports-color": "^7.1.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2593,38 +3004,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -2634,27 +3013,12 @@ "to-regex-range": "^5.0.1" } }, - "find-cache-dir": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.2.0.tgz", - "integrity": "sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.0", - "pkg-dir": "^4.1.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } + "optional": true }, "has-flag": { "version": "4.0.0", @@ -2662,85 +3026,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.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", - "run-async": "^2.2.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2751,142 +3036,125 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", - "dev": true + "dev": true, + "optional": true }, - "make-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", - "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "jest-haste-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.1.0.tgz", + "integrity": "sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw==", "dev": true, "requires": { - "semver": "^6.0.0" + "@jest/types": "^25.1.0", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.3", + "jest-serializer": "^25.1.0", + "jest-util": "^25.1.0", + "jest-worker": "^25.1.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" } }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "jest-serializer": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.1.0.tgz", + "integrity": "sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA==", + "dev": true + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "jest-worker": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" } }, - "open": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.2.tgz", - "integrity": "sha512-70E/pFTPr7nZ9nLDPNTcj3IVqnNvKuP4VsBmoKV9YGTnChe0mlS3C4qM7qKarhZ8rGaHKLfo+vBTHXDp6ZSyLQ==", - "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "requires": { - "find-up": "^4.0.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, - "qs": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", - "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "minimist": "^1.2.5" } }, - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", "dev": true, + "optional": true, "requires": { - "tslib": "^1.9.0" + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" } }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } + "optional": true }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "supports-color": { "version": "7.1.0", @@ -2905,47 +3173,110 @@ "requires": { "is-number": "^7.0.0" } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true } } }, - "@storybook/core-events": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-5.3.12.tgz", - "integrity": "sha512-qUX0xvADM8LBUtzeTi8r803eeikyzooH8HwnUg6GP238NRnR13BK/tSnBx6XpJubGL5gv9a1jZJQWxP25KPHfA==", - "dev": true, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", "requires": { - "core-js": "^3.0.1" + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "@storybook/csf": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", - "integrity": "sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==", - "dev": true, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", "requires": { - "lodash": "^4.17.15" + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" } }, - "@storybook/node-logger": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-5.3.12.tgz", - "integrity": "sha512-ytIqS1Lx+gWFBNxwWOK7F63702YYsoU90UFQNUMC44lC1L7tOI9BQXtGIWTvmXJYns+O5pHHOVKkHLT9EGX2OA==", + "@jest/test-sequencer": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.1.0.tgz", + "integrity": "sha512-WgZLRgVr2b4l/7ED1J1RJQBOharxS11EFhmwDqknpknE0Pm87HLZVS2Asuuw+HQdfQvm2aXL2FvvBLxOD1D0iw==", "dev": true, "requires": { - "@types/npmlog": "^4.1.2", - "chalk": "^3.0.0", - "core-js": "^3.0.1", - "npmlog": "^4.1.2", - "pretty-hrtime": "^1.0.3", - "regenerator-runtime": "^0.13.3" + "@jest/test-result": "^25.1.0", + "jest-haste-map": "^25.1.0", + "jest-runner": "^25.1.0", + "jest-runtime": "^25.1.0" }, "dependencies": { + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", @@ -2956,6 +3287,31 @@ "color-convert": "^2.0.1" } }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -2981,6601 +3337,9425 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "dev": true, + "optional": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-haste-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.1.0.tgz", + "integrity": "sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "@jest/types": "^25.1.0", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.3", + "jest-serializer": "^25.1.0", + "jest-util": "^25.1.0", + "jest-worker": "^25.1.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" } - } - } - }, - "@storybook/react": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-5.3.12.tgz", - "integrity": "sha512-eMbnzXizx0rp3UEnxZlySBI/z1Z/ursw0u2bFr2N9okzOio3yLSoDeMuB6BzZxDLkSgfQAw2qHtJa0eddjxoRQ==", - "dev": true, - "requires": { - "@babel/plugin-transform-react-constant-elements": "^7.6.3", - "@babel/preset-flow": "^7.0.0", - "@babel/preset-react": "^7.0.0", - "@storybook/addons": "5.3.12", - "@storybook/core": "5.3.12", - "@storybook/node-logger": "5.3.12", - "@svgr/webpack": "^4.0.3", - "@types/webpack-env": "^1.15.0", - "babel-plugin-add-react-displayname": "^0.0.5", - "babel-plugin-named-asset-import": "^0.3.1", - "babel-plugin-react-docgen": "^4.0.0", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "mini-css-extract-plugin": "^0.9.0", - "prop-types": "^15.7.2", - "react-dev-utils": "^9.0.0", - "regenerator-runtime": "^0.13.3", - "semver": "^6.0.0", - "ts-dedent": "^1.1.0", - "webpack": "^4.33.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + }, + "jest-serializer": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.1.0.tgz", + "integrity": "sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA==", "dev": true - } - } - }, - "@storybook/react-native": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/react-native/-/react-native-5.3.12.tgz", - "integrity": "sha512-TNqqmiEOvQe0lsVVaePTbOXxvCOYitSnF1pBrJX+sMAEw7b12k9LVPIde9uvROaKHxHv8IxMqnKMjTzaqiJ7UQ==", - "dev": true, - "requires": { - "@emotion/core": "^10.0.20", - "@emotion/native": "^10.0.14", - "@storybook/addons": "5.3.12", - "@storybook/channel-websocket": "5.3.12", - "@storybook/channels": "5.3.12", - "@storybook/client-api": "5.3.12", - "@storybook/core-events": "5.3.12", - "core-js": "^3.0.1", - "emotion-theming": "^10.0.19", - "react-native-swipe-gestures": "^1.0.4" - } - }, - "@storybook/react-native-server": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/react-native-server/-/react-native-server-5.3.12.tgz", - "integrity": "sha512-V/qF5A60N6J/Y70OcR3pw5nQvQciaHQgmhLCtcCY/bP/Mrx9IQsBRgP1+OQ4GPe5WcxlJR0HkCYL4UFXmvHP4g==", - "dev": true, - "requires": { - "@storybook/addons": "5.3.12", - "@storybook/api": "5.3.12", - "@storybook/channel-websocket": "5.3.12", - "@storybook/core": "5.3.12", - "@storybook/core-events": "5.3.12", - "@storybook/ui": "5.3.12", - "commander": "^4.0.1", - "core-js": "^3.0.1", - "global": "^4.3.2", - "react": "^16.6.0", - "react-dom": "^16.8.3", - "uuid": "^3.3.2", - "webpack": "^4.33.0", - "ws": "^7.1.2" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "jest-worker": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "ws": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz", - "integrity": "sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==", + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true - } - } - }, - "@storybook/router": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-5.3.12.tgz", - "integrity": "sha512-IuI/MMFb27XGFaFjaUCYUgK+P4jeGLBDI4cCn6Fezb5RRgpdOf2DobDIUZtujSmvPnEF8C+SJE/v1dXihRO1Xg==", - "dev": true, - "requires": { - "@reach/router": "^1.2.1", - "@storybook/csf": "0.0.1", - "@types/reach__router": "^1.2.3", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "memoizerific": "^1.11.3", - "qs": "^6.6.0", - "util-deprecate": "^1.0.2" - }, - "dependencies": { - "qs": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", - "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true - } - } - }, - "@storybook/theming": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-5.3.12.tgz", - "integrity": "sha512-LwyFBbxYtm2rr86mA0d+oYisIpW2GrDqmv0ZGEmx9EqKK1JwG3N99VSK7iHig6vpNu42LHLakuaqK55H2Q7YcA==", - "dev": true, - "requires": { - "@emotion/core": "^10.0.20", - "@emotion/styled": "^10.0.17", - "@storybook/client-logger": "5.3.12", - "core-js": "^3.0.1", - "deep-object-diff": "^1.1.0", - "emotion-theming": "^10.0.19", - "global": "^4.3.2", - "memoizerific": "^1.11.3", - "polished": "^3.3.1", - "prop-types": "^15.7.2", - "resolve-from": "^5.0.0", - "ts-dedent": "^1.1.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } } } }, - "@storybook/ui": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-5.3.12.tgz", - "integrity": "sha512-dVYJJkwjfGkz3u0lnfawnT6hqBRnANVlKEYirKYZyQ/RouCN3naNh9Sagrpg7hJHYib4Ny6J/pyaNdfdieDS+w==", + "@jest/transform": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.1.0.tgz", + "integrity": "sha512-4ktrQ2TPREVeM+KxB4zskAT84SnmG1vaz4S+51aTefyqn3zocZUnliLLm5Fsl85I3p/kFPN4CRp1RElIfXGegQ==", "dev": true, "requires": { - "@emotion/core": "^10.0.20", - "@storybook/addons": "5.3.12", - "@storybook/api": "5.3.12", - "@storybook/channels": "5.3.12", - "@storybook/client-logger": "5.3.12", - "@storybook/components": "5.3.12", - "@storybook/core-events": "5.3.12", - "@storybook/router": "5.3.12", - "@storybook/theming": "5.3.12", - "copy-to-clipboard": "^3.0.8", - "core-js": "^3.0.1", - "core-js-pure": "^3.0.1", - "emotion-theming": "^10.0.19", - "fast-deep-equal": "^2.0.1", - "fuse.js": "^3.4.6", - "global": "^4.3.2", - "lodash": "^4.17.15", - "markdown-to-jsx": "^6.9.3", - "memoizerific": "^1.11.3", - "polished": "^3.3.1", - "prop-types": "^15.7.2", - "qs": "^6.6.0", - "react": "^16.8.3", - "react-dom": "^16.8.3", - "react-draggable": "^4.0.3", - "react-helmet-async": "^1.0.2", - "react-hotkeys": "2.0.0", - "react-sizeme": "^2.6.7", - "regenerator-runtime": "^0.13.2", - "resolve-from": "^5.0.0", - "semver": "^6.0.0", - "store2": "^2.7.1", - "telejson": "^3.2.0", - "util-deprecate": "^1.0.2" + "@babel/core": "^7.1.0", + "@jest/types": "^25.1.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.3", + "jest-haste-map": "^25.1.0", + "jest-regex-util": "^25.1.0", + "jest-util": "^25.1.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, "dependencies": { - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } }, - "qs": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", - "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", - "dev": true + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", - "dev": true - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", - "dev": true - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", - "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", - "dev": true - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", - "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", - "dev": true - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", - "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", - "dev": true - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", - "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", - "dev": true - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", - "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", - "dev": true + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-haste-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.1.0.tgz", + "integrity": "sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.3", + "jest-serializer": "^25.1.0", + "jest-util": "^25.1.0", + "jest-worker": "^25.1.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-serializer": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.1.0.tgz", + "integrity": "sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA==", + "dev": true + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "jest-worker": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", - "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", - "dev": true + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } }, - "@svgr/babel-preset": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", - "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", - "dev": true, + "@mapbox/geo-viewport": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@mapbox/geo-viewport/-/geo-viewport-0.4.0.tgz", + "integrity": "sha512-5OAXoP8C96Co3UDIzFliSzrK5njb9oG2H/RTMaZUW1swxIZlj3n3A5ccep5XAEIhTWxBLg/Cz48D3rUbAdXwHQ==", "requires": { - "@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-em-dimensions": "^4.2.0", - "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", - "@svgr/babel-plugin-transform-svg-component": "^4.2.0" + "@mapbox/sphericalmercator": "~1.1.0" } }, - "@svgr/core": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", - "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", + "@mapbox/sphericalmercator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/sphericalmercator/-/sphericalmercator-1.1.0.tgz", + "integrity": "sha512-pEsfZyG4OMThlfFQbCte4gegvHUjxXCjz0KZ4Xk8NdOYTQBLflj6U8PL05RPAiuRAMAQNUUKJuL6qYZ5Y4kAWA==" + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "dev": true, "requires": { - "@svgr/plugin-jsx": "^4.3.3", - "camelcase": "^5.3.1", - "cosmiconfig": "^5.2.1" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, - "@svgr/hast-util-to-babel-ast": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", - "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@octokit/auth-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz", + "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@octokit/types": "^2.0.0" } }, - "@svgr/plugin-jsx": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", - "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "@octokit/endpoint": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.3.tgz", + "integrity": "sha512-EzKwkwcxeegYYah5ukEeAI/gYRLv2Y9U5PpIsseGSFDk+G3RbipQGBs8GuYS1TLCtQaqoO66+aQGtITPalxsNQ==", "dev": true, "requires": { - "@babel/core": "^7.4.5", - "@svgr/babel-preset": "^4.3.3", - "@svgr/hast-util-to-babel-ast": "^4.3.2", - "svg-parser": "^2.0.0" + "@octokit/types": "^2.0.0", + "is-plain-object": "^3.0.0", + "universal-user-agent": "^5.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "dev": true, + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true + }, + "universal-user-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", + "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", + "dev": true, + "requires": { + "os-name": "^3.1.0" + } + } } }, - "@svgr/plugin-svgo": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", - "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", + "@octokit/plugin-paginate-rest": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", + "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", "dev": true, "requires": { - "cosmiconfig": "^5.2.1", - "merge-deep": "^3.0.2", - "svgo": "^1.2.2" + "@octokit/types": "^2.0.1" } }, - "@svgr/webpack": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.3.tgz", - "integrity": "sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==", + "@octokit/plugin-request-log": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", + "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==", + "dev": true + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", + "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", "dev": true, "requires": { - "@babel/core": "^7.4.5", - "@babel/plugin-transform-react-constant-elements": "^7.0.0", - "@babel/preset-env": "^7.4.5", - "@babel/preset-react": "^7.0.0", - "@svgr/core": "^4.3.3", - "@svgr/plugin-jsx": "^4.3.3", - "@svgr/plugin-svgo": "^4.3.1", - "loader-utils": "^1.2.3" + "@octokit/types": "^2.0.1", + "deprecation": "^2.3.1" } }, - "@turf/along": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@turf/along/-/along-6.0.1.tgz", - "integrity": "sha512-6PptAcrsFR3o0Flpktk8Vo68W2txEVTh14zjoTVu+H5docd2+pv5/upA77bg3YFBoJgAxmUFt1leDdjReJ44BQ==", + "@octokit/request": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.2.tgz", + "integrity": "sha512-7NPJpg19wVQy1cs2xqXjjRq/RmtSomja/VSWnptfYwuBxLdbYh2UjhGi0Wx7B1v5Iw5GKhfFDQL7jM7SSp7K2g==", + "dev": true, "requires": { - "@turf/bearing": "6.x", - "@turf/destination": "6.x", - "@turf/distance": "6.x", - "@turf/helpers": "6.x", - "@turf/invariant": "6.x" + "@octokit/endpoint": "^5.5.0", + "@octokit/request-error": "^1.0.1", + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "is-plain-object": "^3.0.0", + "node-fetch": "^2.3.0", + "once": "^1.4.0", + "universal-user-agent": "^5.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "dev": true, + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true + }, + "universal-user-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", + "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", + "dev": true, + "requires": { + "os-name": "^3.1.0" + } + } } }, - "@turf/bearing": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@turf/bearing/-/bearing-6.0.1.tgz", - "integrity": "sha512-mXY1NozqV9EFfBTbUItujwfqfQF0G/Xe2fzvnZle90ekPEUfhi4Dgf5JswJTd96J9LiT8kcd6Jonp5khnx0wIg==", + "@octokit/request-error": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", + "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "dev": true, "requires": { - "@turf/helpers": "6.x", - "@turf/invariant": "6.x" + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" } }, - "@turf/destination": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@turf/destination/-/destination-6.0.1.tgz", - "integrity": "sha512-MroK4nRdp7as174miCAugp8Uvorhe6rZ7MJiC9Hb4+hZR7gNFJyVKmkdDDXIoCYs6MJQsx0buI+gsCpKwgww0Q==", + "@octokit/rest": { + "version": "16.43.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz", + "integrity": "sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==", + "dev": true, "requires": { - "@turf/helpers": "6.x", - "@turf/invariant": "6.x" + "@octokit/auth-token": "^2.4.0", + "@octokit/plugin-paginate-rest": "^1.1.1", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "2.4.0", + "@octokit/request": "^5.2.0", + "@octokit/request-error": "^1.0.2", + "atob-lite": "^2.0.0", + "before-after-hook": "^2.0.0", + "btoa-lite": "^1.0.0", + "deprecation": "^2.0.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lodash.uniq": "^4.5.0", + "octokit-pagination-methods": "^1.1.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" } }, - "@turf/distance": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-6.0.1.tgz", - "integrity": "sha512-q7t7rWIWfkg7MP1Vt4uLjSEhe5rPfCO2JjpKmk7JC+QZKEQkuvHEqy3ejW1iC7Kw5ZcZNR3qdMGGz+6HnVwqvg==", + "@octokit/types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.5.0.tgz", + "integrity": "sha512-KEnLwOfdXzxPNL34fj508bhi9Z9cStyN7qY1kOfVahmqtAfrWw6Oq3P4R+dtsg0lYtZdWBpUrS/Ixmd5YILSww==", + "dev": true, "requires": { - "@turf/helpers": "6.x", - "@turf/invariant": "6.x" + "@types/node": ">= 8" } }, - "@turf/helpers": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.1.4.tgz", - "integrity": "sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g==" - }, - "@turf/invariant": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.1.2.tgz", - "integrity": "sha512-WU08Ph8j0J2jVGlQCKChXoCtI50BB3yEH21V++V0T4cR1T27HKCxkehV2sYMwTierfMBgjwSwDIsxnR4/2mWXg==", + "@reach/router": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.3.tgz", + "integrity": "sha512-gOIAiFhWdiVGSVjukKeNKkCRBLmnORoTPyBihI/jLunICPgxdP30DroAvPQuf1eVfQbfGJQDJkwhJXsNPMnVWw==", + "dev": true, "requires": { - "@turf/helpers": "6.x" + "create-react-context": "0.3.0", + "invariant": "^2.2.3", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4" } }, - "@turf/random": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@turf/random/-/random-6.0.2.tgz", - "integrity": "sha512-kAJhZ2QZ4kM2ArI0lrFLtq1LCH4ZSjleUlj1izi/405XenjddjrbgtewpZte8IxCSeV4yK46lsDRS1911cF5lg==", - "dev": true, + "@react-native-community/art": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@react-native-community/art/-/art-1.2.0.tgz", + "integrity": "sha512-a+ZcRGl/BzLa89yi33Mbn5SHavsEXqKUMdbfLf3U8MDLElndPqUetoJyGkv63+BcPO49UMWiQRP1YUz6/zfJ+A==", "requires": { - "@turf/helpers": "6.x" + "art": "^0.10.3", + "invariant": "^2.2.4", + "prop-types": "^15.7.2" } }, - "@types/babel__core": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", - "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", - "dev": true, + "@react-native-community/async-storage": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.8.1.tgz", + "integrity": "sha512-MA1fTp4SB7OOtDmNAwds6jIpiwwty1NIoFboWjEWkoyWW35zIuxlhHxD4joSy21aWEzUVwvv6JJ2hSsP/HTb7A==" + }, + "@react-native-community/cli-debugger-ui": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-3.0.0.tgz", + "integrity": "sha512-m3X+iWLsK/H7/b7PpbNO33eQayR/+M26la4ZbYe1KRke5Umg4PIWsvg21O8Tw4uJcY8LA5hsP+rBi/syBkBf0g==", "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "serve-static": "^1.13.1" } }, - "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", - "dev": true, + "@react-native-community/cli-platform-android": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-3.1.4.tgz", + "integrity": "sha512-ClSdY20F0gzWVLTqCv7vHjnUqOcuq10jd9GgHX6lGSc2GI+Ql3/aQg3tmG4uY3KXNNwAv3U8QCoYgg1WGfwiHA==", "requires": { - "@babel/types": "^7.0.0" + "@react-native-community/cli-tools": "^3.0.0", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "jetifier": "^1.6.2", + "logkitty": "^0.6.0", + "slash": "^3.0.0", + "xmldoc": "^1.1.2" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } } }, - "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", - "dev": true, + "@react-native-community/cli-platform-ios": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.2.0.tgz", + "integrity": "sha512-pzEnx68H6+mHBq5jsMrr3UmAmkrLSMlC9BZ4yoUdfUXCQq6/R70zNYvH4hjUw8h2Al7Kgq53UzHUsM0ph8TSWQ==", "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@react-native-community/cli-tools": "^3.0.0", + "chalk": "^2.4.2", + "js-yaml": "^3.13.1", + "xcode": "^2.0.0" } }, - "@types/babel__traverse": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", - "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", - "dev": true, + "@react-native-community/cli-tools": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-3.0.0.tgz", + "integrity": "sha512-8IhQKZdf3E4CR8T7HhkPGgorot/cLkRDgneJFDSWk/wCYZAuUh4NEAdumQV7N0jLSMWX7xxiWUPi94lOBxVY9g==", "requires": { - "@babel/types": "^7.3.0" + "chalk": "^2.4.2", + "lodash": "^4.17.5", + "mime": "^2.4.1", + "node-fetch": "^2.5.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + } } }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "@types/hammerjs": { - "version": "2.0.36", - "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.36.tgz", - "integrity": "sha512-7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==" - }, - "@types/history": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.5.tgz", - "integrity": "sha512-wLD/Aq2VggCJXSjxEwrMafIP51Z+13H78nXIX0ABEuIGhmB5sNGbR113MOKo+yfw+RDo1ZU3DM6yfnnRF/+ouw==", - "dev": true + "@react-native-community/cli-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-3.0.0.tgz", + "integrity": "sha512-ng6Tm537E/M42GjE4TRUxQyL8sRfClcL7bQWblOCoxPZzJ2J3bdALsjeG3vDnVCIfI/R0AeFalN9KjMt0+Z/Zg==" }, - "@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "@react-native-community/eslint-config": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-0.0.7.tgz", + "integrity": "sha512-khKxg3BMsXZYSXLat0ygSqTM0KdgciK+gm+hGecM7HzQA10hNTKeMmoFNiNxV+M/5PUyTsnRAz4RtWPVWLuPfQ==", + "dev": true, "requires": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" + "@react-native-community/eslint-plugin": "^1.0.0", + "@typescript-eslint/eslint-plugin": "^1.5.0", + "@typescript-eslint/parser": "^1.5.0", + "babel-eslint": "10.0.3", + "eslint-config-prettier": "^6.0.0", + "eslint-plugin-eslint-comments": "^3.1.2", + "eslint-plugin-flowtype": "2.50.3", + "eslint-plugin-jest": "22.4.1", + "eslint-plugin-prettier": "2.6.2", + "eslint-plugin-react": "7.16.0", + "eslint-plugin-react-hooks": "^2.0.1", + "eslint-plugin-react-native": "3.8.1", + "prettier": "1.17.0" + }, + "dependencies": { + "babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "eslint-plugin-flowtype": { + "version": "2.50.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", + "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "eslint-plugin-jest": { + "version": "22.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", + "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", + "dev": true + }, + "eslint-plugin-prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz", + "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==", + "dev": true, + "requires": { + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" + } + }, + "eslint-plugin-react": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz", + "integrity": "sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "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", + "prop-types": "^15.7.2", + "resolve": "^1.12.0" + } + }, + "prettier": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.17.0.tgz", + "integrity": "sha512-sXe5lSt2WQlCbydGETgfm1YBShgOX4HxQkFPvbxkcwgDvGDeqVau8h+12+lmSVlP3rHPz0oavfddSZg/q+Szjw==", + "dev": true + } } }, - "@types/invariant": { - "version": "2.2.31", - "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.31.tgz", - "integrity": "sha512-jMlgg9pIURvy9jgBHCjQp/CyBjYHUwj91etVcDdXkFl2CwTFiQlB+8tcsMeXpXf2PFE5X2pjk4Gm43hQSMHAdA==" - }, - "@types/is-function": { + "@react-native-community/eslint-plugin": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/is-function/-/is-function-1.0.0.tgz", - "integrity": "sha512-iTs9HReBu7evG77Q4EC8hZnqRt57irBDkK9nvmHroiOIVwYMQc4IvYvdRgwKfYepunIY7Oh/dBuuld+Gj9uo6w==", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.0.0.tgz", + "integrity": "sha512-GLhSN8dRt4lpixPQh+8prSCy6PYk/MT/mvji/ojAd5yshowDo6HFsimCSTD/uWAdjpUq91XK9tVdTNWfGRlKQA==", "dev": true }, - "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==" + "@react-native-community/netinfo": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-5.6.2.tgz", + "integrity": "sha512-IkzS78nOiPNM/MboBqqbk2eMBrflp8VML/p33pd50KZq+PvBq8Oywt1JKOgdaMxUIbGjP73zVz+f6r2f80u2Eg==" }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "@react-native-mapbox-gl/maps": { + "version": "8.0.0-rc1", + "resolved": "https://registry.npmjs.org/@react-native-mapbox-gl/maps/-/maps-8.0.0-rc1.tgz", + "integrity": "sha512-zPVOs7egrBTAMhXDHstpfEw8+JQGvVwO/ni+4/+TBqbOLNum3kLghp1nlLiniQHt/fqZiak7K5NvmvLOKvISrg==", "requires": { - "@types/istanbul-lib-coverage": "*" + "@mapbox/geo-viewport": ">= 0.4.0", + "@turf/along": ">= 4.0.0 <7.0.0", + "@turf/distance": ">= 4.0.0 <7.0.0", + "@turf/helpers": ">= 4.6.0 <7.0.0", + "underscore": "^1.8.3" } }, - "@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "@react-navigation/core": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.5.2.tgz", + "integrity": "sha512-HgKXci1h74aETgm5CXMBoIWG8R7VZG1eUUHYb3BdxwekdiZjW1P/srjiXzsCqFGlsESnVIOIkzT4DqI9J752Bw==", "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "hoist-non-react-statics": "^3.3.0", + "path-to-regexp": "^1.7.0", + "query-string": "^6.4.2", + "react-is": "^16.8.6" } }, - "@types/json-schema": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", - "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==" - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "13.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.1.tgz", - "integrity": "sha512-Zq8gcQGmn4txQEJeiXo/KiLpon8TzAl0kmKH4zdWctPj05nWwp1ClMdAVEloqrQKfaC48PNLdgN/aVaLqUrluA==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "@types/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-4QQmOF5KlwfxJ5IGXFIudkeLCdMABz03RcUXu+LCb24zmln8QW6aDjuGl4d4XPVLf2j+FnjelHTP7dvceAFbhA==", - "dev": true + "@react-navigation/native": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.6.5.tgz", + "integrity": "sha512-ttEmnokFVf09CvrkzlPIdfA693KfYcRxTYf9OZwp0Ll6El27UYjJD4arwGc+zvlohjTErCdba6CAKV702Wv28w==", + "requires": { + "hoist-non-react-statics": "^3.3.2", + "react-native-safe-area-view": "^0.14.8" + } }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "@sindresorhus/is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.0.tgz", + "integrity": "sha512-lXKXfypKo644k4Da4yXkPCrwcvn6SlUW2X2zFbuflKHNjf0w9htru01bo26uMhleMXsDmnZ12eJLdrAZa9MANg==", "dev": true }, - "@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", - "dev": true + "@sinonjs/commons": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.1.tgz", + "integrity": "sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } }, - "@types/reach__router": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.2.6.tgz", - "integrity": "sha512-Oh5DAVr/L2svBvubw6QEFpXGu295Y406BPs4i9t1n2pp7M+q3pmCmhzb9oZV5wncR41KCD3NHl1Yhi7uKnTPsA==", + "@storybook/addon-actions": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-5.3.17.tgz", + "integrity": "sha512-06HQSBqWFyXcqV418Uv3oMHomNy9g3uCt0FHrqY3BAc7PldY1X0tW65oy//uBueaRaYKdhtRrrjfXRaPQWmDbA==", "dev": true, "requires": { - "@types/history": "*", - "@types/react": "*" + "@storybook/addons": "5.3.17", + "@storybook/api": "5.3.17", + "@storybook/client-api": "5.3.17", + "@storybook/components": "5.3.17", + "@storybook/core-events": "5.3.17", + "@storybook/theming": "5.3.17", + "core-js": "^3.0.1", + "fast-deep-equal": "^2.0.1", + "global": "^4.3.2", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-inspector": "^4.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + } } }, - "@types/react": { - "version": "16.9.19", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.19.tgz", - "integrity": "sha512-LJV97//H+zqKWMms0kvxaKYJDG05U2TtQB3chRLF8MPNs+MQh/H1aGlyDUxjaHvu08EAGerdX2z4LTBc7ns77A==", + "@storybook/addon-info": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-info/-/addon-info-5.3.17.tgz", + "integrity": "sha512-64+Prf+7t0MlrEmJplRwKNjXcZDqNFx+yNJ0kiWfR+Ueyq58kv5gawtImZnj2dRZNOR776GPVj30BlvaxK4jsA==", + "dev": true, "requires": { - "@types/prop-types": "*", - "csstype": "^2.2.0" + "@storybook/addons": "5.3.17", + "@storybook/client-logger": "5.3.17", + "@storybook/components": "5.3.17", + "@storybook/theming": "5.3.17", + "core-js": "^3.0.1", + "global": "^4.3.2", + "marksy": "^8.0.0", + "nested-object-assign": "^1.0.3", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-addons-create-fragment": "^15.6.2", + "react-element-to-jsx-string": "^14.0.2", + "react-is": "^16.8.3", + "react-lifecycles-compat": "^3.0.4", + "util-deprecate": "^1.0.2" } }, - "@types/react-syntax-highlighter": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.2.tgz", - "integrity": "sha512-iMNcixH8330f2dq0RY+VOXCP8JFehgmOhLOtnO85Ty+qu0fHXJNEqWx5VuFv8v0aEq0U/N9d/k1yvA+c6PEmPw==", + "@storybook/addon-links": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-5.3.17.tgz", + "integrity": "sha512-g8PsDoHYEmgK1q1h+eLqXsWLhCj5CFyiZLrtomjCp1R0XpZA7PS8LyO5yHbxzEzEv68DHlU5rwQnNnkbGnr7XA==", "dev": true, "requires": { - "@types/react": "*" + "@storybook/addons": "5.3.17", + "@storybook/client-logger": "5.3.17", + "@storybook/core-events": "5.3.17", + "@storybook/csf": "0.0.1", + "@storybook/router": "5.3.17", + "core-js": "^3.0.1", + "global": "^4.3.2", + "prop-types": "^15.7.2", + "qs": "^6.6.0", + "ts-dedent": "^1.1.0" + }, + "dependencies": { + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + } } }, - "@types/react-textarea-autosize": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@types/react-textarea-autosize/-/react-textarea-autosize-4.3.5.tgz", - "integrity": "sha512-PiDL83kPMTolyZAWW3lyzO6ktooTb9tFTntVy7CA83/qFLWKLJ5bLeRboy6J6j3b1e8h2Eec6gBTEOOJRjV14A==", + "@storybook/addon-viewport": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-5.3.17.tgz", + "integrity": "sha512-tkf9XyzT4Ld3bcJaNqczZo3Wll6j/DVyf6lEcCp4XD4dor7eQEIxCBVU3LR+2zeLqhWxBHtPmL1SxYVPpcZR6A==", "dev": true, "requires": { - "@types/react": "*" + "@storybook/addons": "5.3.17", + "@storybook/api": "5.3.17", + "@storybook/client-logger": "5.3.17", + "@storybook/components": "5.3.17", + "@storybook/core-events": "5.3.17", + "@storybook/theming": "5.3.17", + "core-js": "^3.0.1", + "global": "^4.3.2", + "memoizerific": "^1.11.3", + "prop-types": "^15.7.2", + "util-deprecate": "^1.0.2" } }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" + "@storybook/addons": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-5.3.17.tgz", + "integrity": "sha512-zg6O1bmffRsHXJOWAnSD2O3tPnVMoD8Yfu+a5zBVXDiUP1E/TGzgjjjYBUUCU3yQg1Ted5rIn4o6ql/rZNNlgA==", + "dev": true, + "requires": { + "@storybook/api": "5.3.17", + "@storybook/channels": "5.3.17", + "@storybook/client-logger": "5.3.17", + "@storybook/core-events": "5.3.17", + "core-js": "^3.0.1", + "global": "^4.3.2", + "util-deprecate": "^1.0.2" + } }, - "@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" - }, - "@types/webpack-env": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.15.1.tgz", - "integrity": "sha512-eWN5ElDTeBc5lRDh95SqA8x18D0ll2pWudU3uWiyfsRmIZcmUXpEsxPU+7+BsdCrO2vfLRC629u/MmjbmF+2tA==", - "dev": true - }, - "@types/yargs": { - "version": "13.0.8", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", - "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz", - "integrity": "sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g==", - "dev": true, - "requires": { - "@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/experimental-utils": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", - "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "1.13.0", - "eslint-scope": "^4.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.13.0.tgz", - "integrity": "sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ==", + "@storybook/api": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-5.3.17.tgz", + "integrity": "sha512-G40jtXFY10hQo6GSw5JeFYt41loD4+7s0uU18Rm6lfa/twOgp6vqqyDCWDvpRRxRBB5uDIKKHLt13X9gWe8tQQ==", "dev": true, "requires": { - "@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": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", - "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", - "requires": { - "lodash.unescape": "4.0.1", - "semver": "5.5.0" + "@reach/router": "^1.2.1", + "@storybook/channels": "5.3.17", + "@storybook/client-logger": "5.3.17", + "@storybook/core-events": "5.3.17", + "@storybook/csf": "0.0.1", + "@storybook/router": "5.3.17", + "@storybook/theming": "5.3.17", + "@types/reach__router": "^1.2.3", + "core-js": "^3.0.1", + "fast-deep-equal": "^2.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "prop-types": "^15.6.2", + "react": "^16.8.3", + "semver": "^6.0.0", + "shallow-equal": "^1.1.0", + "store2": "^2.7.1", + "telejson": "^3.2.0", + "util-deprecate": "^1.0.2" }, "dependencies": { + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "@unimodules/core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@unimodules/core/-/core-5.0.0.tgz", - "integrity": "sha512-PswccfzFIviX61Lm8h6/QyC94bWe+6cARwhzgzTCKa6aR6azmi4732ExhX4VxfQjJNHB0szYVXGXVEDsFkj+tQ==", - "requires": { - "compare-versions": "^3.4.0" - } - }, - "@unimodules/react-native-adapter": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@unimodules/react-native-adapter/-/react-native-adapter-5.0.0.tgz", - "integrity": "sha512-qb5p5wUQoi3TRa/33aLLHSnS7sewV99oBxIo9gnzNI3VFzbOm3rsbTjOJNcR2hx0raUolTtnQT75VbgagVQx4w==", + "@storybook/channel-postmessage": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-5.3.17.tgz", + "integrity": "sha512-1aSQNeO2+roPRgMFjW3AWTO3uS93lbCMUTYCBdi20md4bQ9SutJy33rynCQcWuMj1prCQ2Ekz4BGhdcIQVKlzg==", + "dev": true, "requires": { - "invariant": "^2.2.4", - "lodash": "^4.5.0", - "prop-types": "^15.6.1" + "@storybook/channels": "5.3.17", + "@storybook/client-logger": "5.3.17", + "core-js": "^3.0.1", + "global": "^4.3.2", + "telejson": "^3.2.0" } }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "@storybook/channel-websocket": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-5.3.17.tgz", + "integrity": "sha512-JJl9t8mL27bt8sI0OShbhJJ8pbg7vt79hvXCGU3K8XkjUe1PoSl7DfWe9UKgUxN0sS1K112VFUtT5WXZ3An5yA==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" + "@storybook/channels": "5.3.17", + "core-js": "^3.0.1", + "global": "^4.3.2", + "telejson": "^3.2.0" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "@storybook/channels": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-5.3.17.tgz", + "integrity": "sha512-5hlBRbyk+YxC4KgecYG8wWwB2v1BzRJXhSlemFDOQk9wx37gVpne+rBydEtNFO4InmaZf6tKbBcpH0wBFLdWYA==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "core-js": "^3.0.1" } }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "@storybook/client-api": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-5.3.17.tgz", + "integrity": "sha512-oe55FPTGVL2k+j45eCN3oE7ePkE4VpgUQ/dhJbjU0R2L+HyRyBhd0wnMYj1f5E8uVNbtjFYAtbjjgcf1R1imeg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" + "@storybook/addons": "5.3.17", + "@storybook/channel-postmessage": "5.3.17", + "@storybook/channels": "5.3.17", + "@storybook/client-logger": "5.3.17", + "@storybook/core-events": "5.3.17", + "@storybook/csf": "0.0.1", + "@types/webpack-env": "^1.15.0", + "core-js": "^3.0.1", + "eventemitter3": "^4.0.0", + "global": "^4.3.2", + "is-plain-object": "^3.0.0", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "qs": "^6.6.0", + "stable": "^0.1.8", + "ts-dedent": "^1.1.0", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "dev": true, + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "dev": true + }, + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + } } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "@storybook/client-logger": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-5.3.17.tgz", + "integrity": "sha512-GYYvVGIOs+fq11LXXy7x2sr3hhC9LMI1jtIckjKV1dsY9MJ5g22M+Wl5Iw4nf6VMWsqcN9LSlYE+u/H+Q2uCHw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" + "core-js": "^3.0.1" } }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "@storybook/components": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-5.3.17.tgz", + "integrity": "sha512-M5oqbzcqFX4VDNI8siT3phT7rmFwChQ/xPwX9ygByBsZCoNuLMzafavfTOhZvxCPiliFbBxmxtK/ibCsSzuKZg==", "dev": true, "requires": { - "@xtuc/ieee754": "^1.2.0" + "@storybook/client-logger": "5.3.17", + "@storybook/theming": "5.3.17", + "@types/react-syntax-highlighter": "11.0.4", + "@types/react-textarea-autosize": "^4.3.3", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "markdown-to-jsx": "^6.9.1", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "popper.js": "^1.14.7", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-dom": "^16.8.3", + "react-focus-lock": "^2.1.0", + "react-helmet-async": "^1.0.2", + "react-popper-tooltip": "^2.8.3", + "react-syntax-highlighter": "^11.0.2", + "react-textarea-autosize": "^7.1.0", + "simplebar-react": "^1.0.0-alpha.6", + "ts-dedent": "^1.1.0" } }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "@storybook/core": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-5.3.17.tgz", + "integrity": "sha512-H6G8ygjb4RSVSKPdWz6su3Nvzxm8CfrHuCyUo4DLC46mirXfYRrJV1HiwXriViqoZV4gFbpaNKTDzTl/QKFDAg==", "dev": true, "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "abs-svg-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", - "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" - }, - "absolute-path": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", - "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "dev": true - }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "@babel/plugin-proposal-class-properties": "^7.7.0", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-transform-react-constant-elements": "^7.2.0", + "@babel/preset-env": "^7.4.5", + "@storybook/addons": "5.3.17", + "@storybook/channel-postmessage": "5.3.17", + "@storybook/client-api": "5.3.17", + "@storybook/client-logger": "5.3.17", + "@storybook/core-events": "5.3.17", + "@storybook/csf": "0.0.1", + "@storybook/node-logger": "5.3.17", + "@storybook/router": "5.3.17", + "@storybook/theming": "5.3.17", + "@storybook/ui": "5.3.17", + "airbnb-js-shims": "^2.2.1", + "ansi-to-html": "^0.6.11", + "autoprefixer": "^9.7.2", + "babel-plugin-add-react-displayname": "^0.0.5", + "babel-plugin-emotion": "^10.0.20", + "babel-plugin-macros": "^2.7.0", + "babel-preset-minify": "^0.5.0 || 0.6.0-alpha.5", + "boxen": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "chalk": "^3.0.0", + "cli-table3": "0.5.1", + "commander": "^4.0.1", + "core-js": "^3.0.1", + "corejs-upgrade-webpack-plugin": "^2.2.0", + "css-loader": "^3.0.0", + "detect-port": "^1.3.0", + "dotenv-webpack": "^1.7.0", + "ejs": "^2.7.4", + "express": "^4.17.0", + "file-loader": "^4.2.0", + "file-system-cache": "^1.0.5", + "find-cache-dir": "^3.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.0.1", + "glob-base": "^0.3.0", + "global": "^4.3.2", + "html-webpack-plugin": "^4.0.0-beta.2", + "inquirer": "^7.0.0", + "interpret": "^2.0.0", + "ip": "^1.1.5", + "json5": "^2.1.1", + "lazy-universal-dotenv": "^3.0.1", + "micromatch": "^4.0.2", + "node-fetch": "^2.6.0", + "open": "^7.0.0", + "pnp-webpack-plugin": "1.5.0", + "postcss-flexbugs-fixes": "^4.1.0", + "postcss-loader": "^3.0.0", + "pretty-hrtime": "^1.0.3", + "qs": "^6.6.0", + "raw-loader": "^3.1.0", + "react-dev-utils": "^9.0.0", + "regenerator-runtime": "^0.13.3", + "resolve": "^1.11.0", + "resolve-from": "^5.0.0", + "semver": "^6.0.0", + "serve-favicon": "^2.5.0", + "shelljs": "^0.8.3", + "style-loader": "^1.0.0", + "terser-webpack-plugin": "^2.1.2", + "ts-dedent": "^1.1.0", + "unfetch": "^4.1.0", + "url-loader": "^2.0.1", + "util-deprecate": "^1.0.2", + "webpack": "^4.33.0", + "webpack-dev-middleware": "^3.7.0", + "webpack-hot-middleware": "^2.25.0", + "webpack-virtual-modules": "^0.2.0" }, "dependencies": { - "acorn": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", - "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true - } - } - }, - "acorn-jsx": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", - "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", - "dev": true - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true - }, - "add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", - "dev": true - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "dev": true - }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "dependencies": { - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true - } - } - }, - "airbnb-js-shims": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/airbnb-js-shims/-/airbnb-js-shims-2.2.1.tgz", - "integrity": "sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "array.prototype.flat": "^1.2.1", - "array.prototype.flatmap": "^1.2.1", - "es5-shim": "^4.5.13", - "es6-shim": "^0.35.5", - "function.prototype.name": "^1.1.0", - "globalthis": "^1.0.0", - "object.entries": "^1.1.0", - "object.fromentries": "^2.0.0 || ^1.0.0", - "object.getownpropertydescriptors": "^2.0.3", - "object.values": "^1.1.0", - "promise.allsettled": "^1.0.0", - "promise.prototype.finally": "^3.1.0", - "string.prototype.matchall": "^4.0.0 || ^3.0.1", - "string.prototype.padend": "^3.0.0", - "string.prototype.padstart": "^3.0.0", - "symbol.prototype.description": "^1.0.0" - } - }, - "ajv": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", - "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "dev": true, - "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true }, - "string-width": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "external-editor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "escape-string-regexp": "^1.0.5" } - } - } - }, - "ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "requires": { - "ansi-wrap": "^0.1.0" - } - }, - "ansi-cyan": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", - "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", - "requires": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "to-regex-range": "^5.0.1" } - } - } - }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.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", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-wsl": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "dev": true + }, + "make-dir": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", + "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz", + "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "run-async": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", + "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } } }, - "ansi-to-html": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", - "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", + "@storybook/core-events": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-5.3.17.tgz", + "integrity": "sha512-DOeX9fpeGW4o9Gocxa4VW9wAlAyfIVNDTzq0wVvvMBthTTo9u58NmndglEMDgDa2Cq6iAIPh7vz2bRJCNexzLw==", "dev": true, "requires": { - "entities": "^1.1.2" - } - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "core-js": "^3.0.1" } }, - "app-root-dir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", - "integrity": "sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "@storybook/csf": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", + "integrity": "sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==", + "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "lodash": "^4.17.15" } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@storybook/node-logger": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-5.3.17.tgz", + "integrity": "sha512-onfcxl37BYZI1HGuPI9MelkyUWjn7NpfN8RUYdqG9P6WKiIY5xbpG0V6qod5jvIKIypK0NmfJTtneOu46L/oDg==", + "dev": true, "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true + "@types/npmlog": "^4.1.2", + "chalk": "^3.0.0", + "core-js": "^3.0.1", + "npmlog": "^4.1.2", + "pretty-hrtime": "^1.0.3", + "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "@storybook/react": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-5.3.17.tgz", + "integrity": "sha512-FQLH3q2Ge68oLBaTge7wl5Y1KkB+pqL36llor7TOO9IxGLF6o2t2qillWnrgX6yZUpkvJK8MgkZW1/N3tslw4Q==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" + "@babel/plugin-transform-react-constant-elements": "^7.6.3", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-react": "^7.0.0", + "@storybook/addons": "5.3.17", + "@storybook/core": "5.3.17", + "@storybook/node-logger": "5.3.17", + "@svgr/webpack": "^4.0.3", + "@types/webpack-env": "^1.15.0", + "babel-plugin-add-react-displayname": "^0.0.5", + "babel-plugin-named-asset-import": "^0.3.1", + "babel-plugin-react-docgen": "^4.0.0", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "mini-css-extract-plugin": "^0.7.0", + "prop-types": "^15.7.2", + "react-dev-utils": "^9.0.0", + "regenerator-runtime": "^0.13.3", + "semver": "^6.0.0", + "ts-dedent": "^1.1.0", + "webpack": "^4.33.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" - }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "@storybook/react-native": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/react-native/-/react-native-5.3.17.tgz", + "integrity": "sha512-AS+9Cv2iBseaoo1Ctd5NcaNraLlzcAUhvxdFjvE7KMWYnorj9EXGU1faCp78zWw3bpfHwkGsYbTFNqOY37vY6Q==", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "@emotion/core": "^10.0.20", + "@emotion/native": "^10.0.14", + "@storybook/addons": "5.3.17", + "@storybook/channel-websocket": "5.3.17", + "@storybook/channels": "5.3.17", + "@storybook/client-api": "5.3.17", + "@storybook/core-events": "5.3.17", + "core-js": "^3.0.1", + "emotion-theming": "^10.0.19", + "react-native-swipe-gestures": "^1.0.4" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "@storybook/react-native-server": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/react-native-server/-/react-native-server-5.3.17.tgz", + "integrity": "sha512-nUqXMkR0xfSQKJ0idixxk/6vWzmMUZuqQpjoesvhdiuBJHeIk/Hm8e8ZW+HdwbsWlDTh7WacHRA2NaBukhuoxw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "@storybook/addons": "5.3.17", + "@storybook/api": "5.3.17", + "@storybook/channel-websocket": "5.3.17", + "@storybook/core": "5.3.17", + "@storybook/core-events": "5.3.17", + "@storybook/ui": "5.3.17", + "commander": "^4.0.1", + "core-js": "^3.0.1", + "global": "^4.3.2", + "react": "^16.6.0", + "react-dom": "^16.8.3", + "uuid": "^3.3.2", + "webpack": "^4.33.0", + "ws": "^7.1.2" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", + "dev": true + } } }, - "array.prototype.flatmap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", - "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "@storybook/router": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-5.3.17.tgz", + "integrity": "sha512-ANsiehGRTVSremgTW0Vt47dQ4JA86a4/w/4G6QqHU8Cm4jO3cw/wAcCxlzfcgCXOUiq+SuyPTU43+0O5uBx33g==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1" + "@reach/router": "^1.2.1", + "@storybook/csf": "0.0.1", + "@types/reach__router": "^1.2.3", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "qs": "^6.6.0", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + } } }, - "array.prototype.map": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz", - "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==", + "@storybook/theming": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-5.3.17.tgz", + "integrity": "sha512-4JeOZnDDHtb4LOt5sXe/s1Jhbb2UPsr8zL9NWmKJmTsgnyTvBipNHOmFYDUsIacB5K4GXSqm+cZ7Z4AkUgWCDw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.4" + "@emotion/core": "^10.0.20", + "@emotion/styled": "^10.0.17", + "@storybook/client-logger": "5.3.17", + "core-js": "^3.0.1", + "deep-object-diff": "^1.1.0", + "emotion-theming": "^10.0.19", + "global": "^4.3.2", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "resolve-from": "^5.0.0", + "ts-dedent": "^1.1.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "art": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/art/-/art-0.10.3.tgz", - "integrity": "sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "@storybook/ui": { + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-5.3.17.tgz", + "integrity": "sha512-5S9r70QbtNKu8loa5pfO5lLX9coF/ZqesEKcanfvuSwqCSg/Z51UwFCuO6eNhVlpXzyZXi5d8qKbZlbf+uvDAA==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "@emotion/core": "^10.0.20", + "@storybook/addons": "5.3.17", + "@storybook/api": "5.3.17", + "@storybook/channels": "5.3.17", + "@storybook/client-logger": "5.3.17", + "@storybook/components": "5.3.17", + "@storybook/core-events": "5.3.17", + "@storybook/router": "5.3.17", + "@storybook/theming": "5.3.17", + "copy-to-clipboard": "^3.0.8", + "core-js": "^3.0.1", + "core-js-pure": "^3.0.1", + "emotion-theming": "^10.0.19", + "fast-deep-equal": "^2.0.1", + "fuse.js": "^3.4.6", + "global": "^4.3.2", + "lodash": "^4.17.15", + "markdown-to-jsx": "^6.9.3", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "qs": "^6.6.0", + "react": "^16.8.3", + "react-dom": "^16.8.3", + "react-draggable": "^4.0.3", + "react-helmet-async": "^1.0.2", + "react-hotkeys": "2.0.0", + "react-sizeme": "^2.6.7", + "regenerator-runtime": "^0.13.2", + "resolve-from": "^5.0.0", + "semver": "^6.0.0", + "store2": "^2.7.1", + "telejson": "^3.2.0", + "util-deprecate": "^1.0.2" }, "dependencies": { - "inherits": { + "fast-deep-equal": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", + "dev": true }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", + "dev": true }, - "ast-types": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz", - "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==", + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", + "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", "dev": true }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", + "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", + "dev": true }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", + "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", + "dev": true }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", + "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", "dev": true }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", + "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", + "dev": true }, - "async-retry": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz", - "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==", + "@svgr/babel-plugin-transform-svg-component": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", + "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", + "dev": true + }, + "@svgr/babel-preset": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", + "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", "dev": true, "requires": { - "retry": "0.12.0" + "@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-em-dimensions": "^4.2.0", + "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", + "@svgr/babel-plugin-transform-svg-component": "^4.2.0" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=", - "dev": true - }, - "autoprefixer": { - "version": "9.7.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", - "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", + "@svgr/core": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", + "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", "dev": true, "requires": { - "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.26", - "postcss-value-parser": "^4.0.2" + "@svgr/plugin-jsx": "^4.3.3", + "camelcase": "^5.3.1", + "cosmiconfig": "^5.2.1" } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + "@svgr/hast-util-to-babel-ast": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", + "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } }, - "axios": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", - "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "@svgr/plugin-jsx": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", + "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", "dev": true, "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - } + "@babel/core": "^7.4.5", + "@svgr/babel-preset": "^4.3.3", + "@svgr/hast-util-to-babel-ast": "^4.3.2", + "svg-parser": "^2.0.0" } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "@svgr/plugin-svgo": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", + "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } + "cosmiconfig": "^5.2.1", + "merge-deep": "^3.0.2", + "svgo": "^1.2.2" } }, - "babel-eslint": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", - "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "@svgr/webpack": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.3.tgz", + "integrity": "sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" + "@babel/core": "^7.4.5", + "@babel/plugin-transform-react-constant-elements": "^7.0.0", + "@babel/preset-env": "^7.4.5", + "@babel/preset-react": "^7.0.0", + "@svgr/core": "^4.3.3", + "@svgr/plugin-jsx": "^4.3.3", + "@svgr/plugin-svgo": "^4.3.1", + "loader-utils": "^1.2.3" } }, - "babel-helper-evaluate-path": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", - "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==", - "dev": true - }, - "babel-helper-flip-expressions": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", - "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", - "dev": true + "@szmarczak/http-timer": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", + "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", + "dev": true, + "requires": { + "defer-to-connect": "^2.0.0" + } }, - "babel-helper-is-nodes-equiv": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", - "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", - "dev": true + "@turf/along": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@turf/along/-/along-6.0.1.tgz", + "integrity": "sha512-6PptAcrsFR3o0Flpktk8Vo68W2txEVTh14zjoTVu+H5docd2+pv5/upA77bg3YFBoJgAxmUFt1leDdjReJ44BQ==", + "requires": { + "@turf/bearing": "6.x", + "@turf/destination": "6.x", + "@turf/distance": "6.x", + "@turf/helpers": "6.x", + "@turf/invariant": "6.x" + } }, - "babel-helper-is-void-0": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", - "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", - "dev": true + "@turf/bearing": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@turf/bearing/-/bearing-6.0.1.tgz", + "integrity": "sha512-mXY1NozqV9EFfBTbUItujwfqfQF0G/Xe2fzvnZle90ekPEUfhi4Dgf5JswJTd96J9LiT8kcd6Jonp5khnx0wIg==", + "requires": { + "@turf/helpers": "6.x", + "@turf/invariant": "6.x" + } }, - "babel-helper-mark-eval-scopes": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", - "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", - "dev": true + "@turf/destination": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@turf/destination/-/destination-6.0.1.tgz", + "integrity": "sha512-MroK4nRdp7as174miCAugp8Uvorhe6rZ7MJiC9Hb4+hZR7gNFJyVKmkdDDXIoCYs6MJQsx0buI+gsCpKwgww0Q==", + "requires": { + "@turf/helpers": "6.x", + "@turf/invariant": "6.x" + } }, - "babel-helper-remove-or-void": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", - "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", - "dev": true + "@turf/distance": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-6.0.1.tgz", + "integrity": "sha512-q7t7rWIWfkg7MP1Vt4uLjSEhe5rPfCO2JjpKmk7JC+QZKEQkuvHEqy3ejW1iC7Kw5ZcZNR3qdMGGz+6HnVwqvg==", + "requires": { + "@turf/helpers": "6.x", + "@turf/invariant": "6.x" + } }, - "babel-helper-to-multiple-sequence-expressions": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", - "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==", - "dev": true + "@turf/helpers": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.1.4.tgz", + "integrity": "sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g==" }, - "babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", - "dev": true, + "@turf/invariant": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.1.2.tgz", + "integrity": "sha512-WU08Ph8j0J2jVGlQCKChXoCtI50BB3yEH21V++V0T4cR1T27HKCxkehV2sYMwTierfMBgjwSwDIsxnR4/2mWXg==", "requires": { - "@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.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" + "@turf/helpers": "6.x" } }, - "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "@turf/random": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@turf/random/-/random-6.0.2.tgz", + "integrity": "sha512-kAJhZ2QZ4kM2ArI0lrFLtq1LCH4ZSjleUlj1izi/405XenjddjrbgtewpZte8IxCSeV4yK46lsDRS1911cF5lg==", "dev": true, "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" + "@turf/helpers": "6.x" } }, - "babel-plugin-add-react-displayname": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", - "integrity": "sha1-M51M3be2X9YtHfnbn+BN4TQSK9U=", - "dev": true - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "@types/babel__core": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", + "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "dev": true, "requires": { - "object.assign": "^4.1.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "babel-plugin-emotion": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.27.tgz", - "integrity": "sha512-SUNYcT4FqhOqvwv0z1oeYhqgheU8qrceLojuHyX17ngo7WtWqN5I9l3IGHzf21Xraj465CVzF4IvOlAF+3ed0A==", + "@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@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", - "escape-string-regexp": "^1.0.5", - "find-root": "^1.1.0", - "source-map": "^0.5.7" + "@babel/types": "^7.0.0" } }, - "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "@types/babel__traverse": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", + "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", "dev": true, "requires": { - "@types/babel__traverse": "^7.0.6" + "@babel/types": "^7.3.0" } }, - "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "@types/cacheable-request": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", + "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==", "dev": true, "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" } }, - "babel-plugin-minify-builtins": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", - "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==", + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", "dev": true }, - "babel-plugin-minify-constant-folding": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", - "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", - "dev": true, + "@types/hammerjs": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.36.tgz", + "integrity": "sha512-7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==" + }, + "@types/history": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.5.tgz", + "integrity": "sha512-wLD/Aq2VggCJXSjxEwrMafIP51Z+13H78nXIX0ABEuIGhmB5sNGbR113MOKo+yfw+RDo1ZU3DM6yfnnRF/+ouw==", + "dev": true + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", "requires": { - "babel-helper-evaluate-path": "^0.5.0" + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" } }, - "babel-plugin-minify-dead-code-elimination": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", - "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", - "dev": true, + "@types/http-cache-semantics": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", + "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==", + "dev": true + }, + "@types/invariant": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.31.tgz", + "integrity": "sha512-jMlgg9pIURvy9jgBHCjQp/CyBjYHUwj91etVcDdXkFl2CwTFiQlB+8tcsMeXpXf2PFE5X2pjk4Gm43hQSMHAdA==" + }, + "@types/is-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/is-function/-/is-function-1.0.0.tgz", + "integrity": "sha512-iTs9HReBu7evG77Q4EC8hZnqRt57irBDkK9nvmHroiOIVwYMQc4IvYvdRgwKfYepunIY7Oh/dBuuld+Gj9uo6w==", + "dev": true + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-mark-eval-scopes": "^0.4.3", - "babel-helper-remove-or-void": "^0.4.3", - "lodash": "^4.17.11" + "@types/istanbul-lib-coverage": "*" } }, - "babel-plugin-minify-flip-comparisons": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", - "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", - "dev": true, + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", "requires": { - "babel-helper-is-void-0": "^0.4.3" + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "babel-plugin-minify-guarded-expressions": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz", - "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==", + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==" + }, + "@types/keyv": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", + "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==", "dev": true, "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3" + "@types/node": "*" } }, - "babel-plugin-minify-infinity": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", - "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "dev": true }, - "babel-plugin-minify-mangle-names": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", - "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", - "dev": true, - "requires": { - "babel-helper-mark-eval-scopes": "^0.4.3" - } + "@types/node": { + "version": "13.9.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz", + "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==", + "dev": true }, - "babel-plugin-minify-numeric-literals": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", - "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", + "@types/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-4QQmOF5KlwfxJ5IGXFIudkeLCdMABz03RcUXu+LCb24zmln8QW6aDjuGl4d4XPVLf2j+FnjelHTP7dvceAFbhA==", "dev": true }, - "babel-plugin-minify-replace": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", - "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==", + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, - "babel-plugin-minify-simplify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz", - "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==", + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true + }, + "@types/reach__router": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.1.tgz", + "integrity": "sha512-E51ntVeunnxofXmOoPFiOvElHWf+jBEs3B56gGx7XhPHOkJdjWxWDY4V1AsUiwhtOCXPM7atFy30wj7glyv2Fg==", "dev": true, "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3", - "babel-helper-is-nodes-equiv": "^0.0.1", - "babel-helper-to-multiple-sequence-expressions": "^0.5.0" + "@types/history": "*", + "@types/react": "*" } }, - "babel-plugin-minify-type-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", - "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", - "dev": true, + "@types/react": { + "version": "16.9.19", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.19.tgz", + "integrity": "sha512-LJV97//H+zqKWMms0kvxaKYJDG05U2TtQB3chRLF8MPNs+MQh/H1aGlyDUxjaHvu08EAGerdX2z4LTBc7ns77A==", "requires": { - "babel-helper-is-void-0": "^0.4.3" + "@types/prop-types": "*", + "csstype": "^2.2.0" } }, - "babel-plugin-named-asset-import": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz", - "integrity": "sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA==", - "dev": true - }, - "babel-plugin-react-docgen": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.1.0.tgz", - "integrity": "sha512-vzpnBlfGv8XOhJM2zbPyyqw2OLEbelgZZsaaRRTpVwNKuYuc+pUg4+dy7i9gCRms0uOQn4osX571HRcCJMJCmA==", + "@types/react-syntax-highlighter": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz", + "integrity": "sha512-9GfTo3a0PHwQeTVoqs0g5bS28KkSY48pp5659wA+Dp4MqceDEa8EHBqrllJvvtyusszyJhViUEap0FDvlk/9Zg==", "dev": true, "requires": { - "lodash": "^4.17.15", - "react-docgen": "^5.0.0", - "recast": "^0.14.7" + "@types/react": "*" } }, - "babel-plugin-react-intl": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-3.5.1.tgz", - "integrity": "sha512-1jlEJCSmLaJM4tjIKpu64UZ833COCHmwR77bFJDOye+zlwf80uR1b8p41l4tClx1QsrfI+qV6w/5AiPYQgaMUQ==", + "@types/react-textarea-autosize": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/react-textarea-autosize/-/react-textarea-autosize-4.3.5.tgz", + "integrity": "sha512-PiDL83kPMTolyZAWW3lyzO6ktooTb9tFTntVy7CA83/qFLWKLJ5bLeRboy6J6j3b1e8h2Eec6gBTEOOJRjV14A==", "dev": true, "requires": { - "@babel/core": "^7.4.5", - "@babel/helper-plugin-utils": "^7.0.0", - "@types/babel__core": "^7.1.2", - "fs-extra": "^8.0.1", - "intl-messageformat-parser": "^1.8.1" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "intl-messageformat-parser": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz", - "integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==", - "dev": true - } + "@types/react": "*" } }, - "babel-plugin-react-intl-auto": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-react-intl-auto/-/babel-plugin-react-intl-auto-2.3.0.tgz", - "integrity": "sha512-y9QSRHkuN2eAPlvhvvJCbWjxeXhd0kbFLksLkMgaqX7VAiWON04rTSfq4PVbvgfvs5MHdLLbGrxBEWQ129QVIA==", + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "dev": true, "requires": { - "@babel/types": "^7.5.5", - "murmurhash3js": "^3.0.1" + "@types/node": "*" } }, - "babel-plugin-react-native-web": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.11.7.tgz", - "integrity": "sha512-CxE7uhhqkzAFkwV2X7+Mc/UVPujQQDtja/EGxCXRJvdYRi72QTmaJYKbK1lV9qgTZuB+TDguU89coaA9Z1BNbg==", - "dev": true + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + }, + "@types/webpack-env": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.15.1.tgz", + "integrity": "sha512-eWN5ElDTeBc5lRDh95SqA8x18D0ll2pWudU3uWiyfsRmIZcmUXpEsxPU+7+BsdCrO2vfLRC629u/MmjbmF+2tA==", "dev": true }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", - "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + "@types/yargs": { + "version": "13.0.8", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", + "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", + "requires": { + "@types/yargs-parser": "*" + } }, - "babel-plugin-transform-inline-consecutive-adds": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", - "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", - "dev": true + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" }, - "babel-plugin-transform-member-expression-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", - "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", - "dev": true + "@typescript-eslint/eslint-plugin": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz", + "integrity": "sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g==", + "dev": true, + "requires": { + "@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" + } }, - "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", - "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", - "dev": true + "@typescript-eslint/experimental-utils": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", + "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-scope": "^4.0.0" + } }, - "babel-plugin-transform-minify-booleans": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", - "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", - "dev": true + "@typescript-eslint/parser": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.13.0.tgz", + "integrity": "sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ==", + "dev": true, + "requires": { + "@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" + } }, - "babel-plugin-transform-property-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", - "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", + "@typescript-eslint/typescript-estree": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", + "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "lodash.unescape": "4.0.1", + "semver": "5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + } } }, - "babel-plugin-transform-regexp-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", - "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", + "@unimodules/core": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@unimodules/core/-/core-5.0.0.tgz", + "integrity": "sha512-PswccfzFIviX61Lm8h6/QyC94bWe+6cARwhzgzTCKa6aR6azmi4732ExhX4VxfQjJNHB0szYVXGXVEDsFkj+tQ==", + "requires": { + "compare-versions": "^3.4.0" + } + }, + "@unimodules/react-native-adapter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@unimodules/react-native-adapter/-/react-native-adapter-5.0.0.tgz", + "integrity": "sha512-qb5p5wUQoi3TRa/33aLLHSnS7sewV99oBxIo9gnzNI3VFzbOm3rsbTjOJNcR2hx0raUolTtnQT75VbgagVQx4w==", + "requires": { + "invariant": "^2.2.4", + "lodash": "^4.5.0", + "prop-types": "^15.6.1" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", "dev": true }, - "babel-plugin-transform-remove-console": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", - "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", "dev": true }, - "babel-plugin-transform-remove-debugger": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", - "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", "dev": true }, - "babel-plugin-transform-remove-undefined": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", - "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", "dev": true, "requires": { - "babel-helper-evaluate-path": "^0.5.0" + "@webassemblyjs/wast-printer": "1.8.5" } }, - "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", - "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", "dev": true }, - "babel-plugin-transform-undefined-to-void": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", - "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", "dev": true }, - "babel-preset-fbjs": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz", - "integrity": "sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw==", + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" } }, - "babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", "dev": true, "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" + "@xtuc/ieee754": "^1.2.0" } }, - "babel-preset-minify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz", - "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==", + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", "dev": true, "requires": { - "babel-plugin-minify-builtins": "^0.5.0", - "babel-plugin-minify-constant-folding": "^0.5.0", - "babel-plugin-minify-dead-code-elimination": "^0.5.1", - "babel-plugin-minify-flip-comparisons": "^0.4.3", - "babel-plugin-minify-guarded-expressions": "^0.4.4", - "babel-plugin-minify-infinity": "^0.4.3", - "babel-plugin-minify-mangle-names": "^0.5.0", - "babel-plugin-minify-numeric-literals": "^0.4.3", - "babel-plugin-minify-replace": "^0.5.0", - "babel-plugin-minify-simplify": "^0.5.1", - "babel-plugin-minify-type-constructors": "^0.4.3", - "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", - "babel-plugin-transform-member-expression-literals": "^6.9.4", - "babel-plugin-transform-merge-sibling-variables": "^6.9.4", - "babel-plugin-transform-minify-booleans": "^6.9.4", - "babel-plugin-transform-property-literals": "^6.9.4", - "babel-plugin-transform-regexp-constructors": "^0.4.3", - "babel-plugin-transform-remove-console": "^6.9.4", - "babel-plugin-transform-remove-debugger": "^6.9.4", - "babel-plugin-transform-remove-undefined": "^0.5.0", - "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", - "babel-plugin-transform-undefined-to-void": "^6.9.4", - "lodash": "^4.17.11" + "@xtuc/long": "4.2.2" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - } + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" } }, - "bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" } }, - "base-64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", - "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } }, - "basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, "requires": { - "safe-buffer": "5.1.2" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" } }, - "batch-processor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", - "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=", - "dev": true + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, "requires": { - "tweetnacl": "^0.14.3" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" } }, - "before-after-hook": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", - "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==", + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, - "big-integer": { - "version": "1.6.48", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "dev": true }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" } }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", "dev": true }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "requires": { - "file-uri-to-path": "1.0.0" + "event-target-shim": "^5.0.0" } }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" }, - "blueimp-md5": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.12.0.tgz", - "integrity": "sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ==" + "absolute-path": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", + "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", "dev": true }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true } } }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "airbnb-js-shims": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/airbnb-js-shims/-/airbnb-js-shims-2.2.1.tgz", + "integrity": "sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "array.prototype.flatmap": "^1.2.1", + "es5-shim": "^4.5.13", + "es6-shim": "^0.35.5", + "function.prototype.name": "^1.1.0", + "globalthis": "^1.0.0", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0 || ^1.0.0", + "object.getownpropertydescriptors": "^2.0.3", + "object.values": "^1.1.0", + "promise.allsettled": "^1.0.0", + "promise.prototype.finally": "^3.1.0", + "string.prototype.matchall": "^4.0.0 || ^3.0.1", + "string.prototype.padend": "^3.0.0", + "string.prototype.padstart": "^3.0.0", + "symbol.prototype.description": "^1.0.0" + } + }, + "ajv": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true }, - "boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", "dev": true, "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" + "string-width": "^3.0.0" }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "color-name": "~1.1.4" + "ansi-regex": "^4.1.0" } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true } } }, - "bplist-creator": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz", - "integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==", + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "stream-buffers": "~2.2.0" + "ansi-wrap": "^0.1.0" } }, - "bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", "requires": { - "big-integer": "^1.6.44" + "ansi-wrap": "0.1.0" } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { - "is-extendable": "^0.1.0" + "ansi-regex": "^4.1.0" } } } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "requires": { + "ansi-wrap": "0.1.0" + } }, - "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", "dev": true }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } + "ansi-wrap": "0.1.0" } }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "color-convert": "^1.9.0" } }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "ansi-to-html": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", + "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "entities": "^1.1.2" } }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } + "app-root-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", + "integrity": "sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=", + "dev": true }, - "browserslist": { - "version": "4.8.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.6.tgz", - "integrity": "sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg==", - "dev": true, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "caniuse-lite": "^1.0.30001023", - "electron-to-chromium": "^1.3.341", - "node-releases": "^1.1.47" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "node-int64": "^0.4.0" + "sprintf-js": "~1.0.2" } }, - "btoa-lite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", - "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", - "dev": true - }, - "buble": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/buble/-/buble-0.19.8.tgz", - "integrity": "sha512-IoGZzrUTY5fKXVkgGHw3QeXFMUNBFv+9l8a4QJKG1JhG3nCMHTdEX1DCOg8568E2Q9qvAQIiSokv6Jsgx8p2cA==", + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", "dev": true, "requires": { - "acorn": "^6.1.1", - "acorn-dynamic-import": "^4.0.0", - "acorn-jsx": "^5.0.1", - "chalk": "^2.4.2", - "magic-string": "^0.25.3", - "minimist": "^1.2.0", - "os-homedir": "^2.0.0", - "regexpu-core": "^4.5.4" - }, - "dependencies": { - "acorn": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", - "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", - "dev": true - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "os-homedir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-2.0.0.tgz", - "integrity": "sha512-saRNz0DSC5C/I++gFIaJTXoFJMRwiP5zHar5vV3xQ2TkgEw6hDCcU5F272JjUylpiVgBrZNQHnfjkLabTfb92Q==", - "dev": true - } + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "array-uniq": "^1.0.1" } }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, - "buffer-indexof-polyfill": { + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "array.prototype.flatmap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", + "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + } + }, + "array.prototype.map": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz", + "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.4" + } + }, + "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz", - "integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8=", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "art": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/art/-/art-0.10.3.tgz", + "integrity": "sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ==" }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "dev": true + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, - "bugsnag-react-native": { - "version": "2.23.6", - "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.23.6.tgz", - "integrity": "sha512-5Jo3d56mXlDDQf2zHVq+ICPAWPjTTRhi6wMLofNrG30rcqPkhk/AmIB5fbQ+DypF3I8A2iJLl4DiBWPhkOp4BQ==", + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "iserror": "^0.0.2", - "promise": "^7", - "prop-types": "^15.6.0" + "safer-buffer": "~2.1.0" } }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } }, - "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { - "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" + "object-assign": "^4.1.1", + "util": "0.10.3" }, "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { - "glob": "^7.1.3" + "inherits": "2.0.1" } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true } } }, - "cache-base": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz", + "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=", + "dev": true + }, + "autoprefixer": { + "version": "9.7.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", + "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", + "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "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.26", + "postcss-value-parser": "^4.0.2" } }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "sort-keys": { + "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true } } }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", "dev": true, "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" } }, - "camelize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", - "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=", + "babel-helper-evaluate-path": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", + "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==", "dev": true }, - "can-use-dom": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", - "integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=", + "babel-helper-flip-expressions": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", + "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", "dev": true }, - "caniuse-lite": { - "version": "1.0.30001027", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz", - "integrity": "sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==", + "babel-helper-is-nodes-equiv": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", + "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", "dev": true }, - "capitalize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capitalize/-/capitalize-1.0.0.tgz", - "integrity": "sha1-3IAsWAruEBkpAg0soUtMqKCuRL4=", + "babel-helper-is-void-0": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", + "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", "dev": true }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "requires": { - "rsvp": "^4.8.4" - } + "babel-helper-mark-eval-scopes": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", + "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", + "dev": true }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "babel-helper-remove-or-void": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", + "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", "dev": true }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", - "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", + "babel-helper-to-multiple-sequence-expressions": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", + "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==", "dev": true }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "ccount": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz", - "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==" - }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "babel-jest": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.1.0.tgz", + "integrity": "sha512-tz0VxUhhOE2y+g8R2oFrO/2VtVjA1lkJeavlhExuRBg3LdNJY9gwQ+Vcvqt9+cqy71MCTJhewvTB7Qtnnr9SWg==", "dev": true, "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.1.0", + "chalk": "^3.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" - }, - "character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" - }, - "character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" - }, - "character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "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" + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" }, "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } } } }, - "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + "babel-plugin-add-react-displayname": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", + "integrity": "sha1-M51M3be2X9YtHfnbn+BN4TQSK9U=", + "dev": true }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", "requires": { - "tslib": "^1.9.0" + "object.assign": "^4.1.0" } }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "babel-plugin-emotion": { + "version": "10.0.29", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.29.tgz", + "integrity": "sha512-7Jpi1OCxjyz0k163lKtqP+LHMg5z3S6A7vMBfHnF06l2unmtsOmFDzZBpGf0CWo1G4m8UACfVcDJiSiRuu/cSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" } }, - "clamp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", - "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=", - "dev": true + "babel-plugin-jest-hoist": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.1.0.tgz", + "integrity": "sha512-oIsopO41vW4YFZ9yNYoLQATnnN46lp+MZ6H4VvPKFkcc2/fkl3CfE/NZZSmnEIEsJRmJAgkVEK0R7Zbl50CpTw==", + "dev": true, + "requires": { + "@types/babel__traverse": "^7.0.6" + } }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", - "dev": true - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-boxes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", - "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-spinners": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", - "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==" - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dev": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true } } }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + "babel-plugin-minify-builtins": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", + "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==", + "dev": true }, - "clipboard": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", - "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "babel-plugin-minify-constant-folding": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", + "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", "dev": true, - "optional": true, "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" + "babel-helper-evaluate-path": "^0.5.0" } }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "babel-plugin-minify-dead-code-elimination": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", + "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", + "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-mark-eval-scopes": "^0.4.3", + "babel-helper-remove-or-void": "^0.4.3", + "lodash": "^4.17.11" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, - "clone-deep": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", - "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "babel-plugin-minify-flip-comparisons": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", + "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", "dev": true, "requires": { - "for-own": "^0.1.3", - "is-plain-object": "^2.0.1", - "kind-of": "^3.0.2", - "lazy-cache": "^1.0.3", - "shallow-clone": "^0.1.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "babel-helper-is-void-0": "^0.4.3" } }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "babel-plugin-minify-guarded-expressions": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz", + "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-flip-expressions": "^0.4.3" } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "babel-plugin-minify-infinity": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", + "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", "dev": true }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "babel-plugin-minify-mangle-names": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", + "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", "dev": true, "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" + "babel-helper-mark-eval-scopes": "^0.4.3" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "babel-plugin-minify-numeric-literals": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", + "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", + "dev": true }, - "collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + "babel-plugin-minify-replace": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", + "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==", + "dev": true }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "babel-plugin-minify-simplify": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz", + "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==", + "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-flip-expressions": "^0.4.3", + "babel-helper-is-nodes-equiv": "^0.0.1", + "babel-helper-to-multiple-sequence-expressions": "^0.5.0" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "babel-plugin-minify-type-constructors": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", + "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", + "dev": true, "requires": { - "color-name": "1.1.3" + "babel-helper-is-void-0": "^0.4.3" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" - }, - "colorette": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", - "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "babel-plugin-named-asset-import": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz", + "integrity": "sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA==", "dev": true }, - "command-exists": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", - "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "compare-func": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", - "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "babel-plugin-react-docgen": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.1.0.tgz", + "integrity": "sha512-vzpnBlfGv8XOhJM2zbPyyqw2OLEbelgZZsaaRRTpVwNKuYuc+pUg4+dy7i9gCRms0uOQn4osX571HRcCJMJCmA==", "dev": true, "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^3.0.0" + "lodash": "^4.17.15", + "react-docgen": "^5.0.0", + "recast": "^0.14.7" } }, - "compare-versions": { + "babel-plugin-react-intl": { "version": "3.5.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz", - "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-3.5.1.tgz", + "integrity": "sha512-1jlEJCSmLaJM4tjIKpu64UZ833COCHmwR77bFJDOye+zlwf80uR1b8p41l4tClx1QsrfI+qV6w/5AiPYQgaMUQ==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "@babel/core": "^7.4.5", + "@babel/helper-plugin-utils": "^7.0.0", + "@types/babel__core": "^7.1.2", + "fs-extra": "^8.0.1", + "intl-messageformat-parser": "^1.8.1" }, "dependencies": { - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "requires": { - "pify": "^3.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "intl-messageformat-parser": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz", + "integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==", "dev": true - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } } } }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "babel-plugin-react-intl-auto": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl-auto/-/babel-plugin-react-intl-auto-3.1.1.tgz", + "integrity": "sha512-os6EFRxgEcus2SmMjb07BUl1aSPVWesWh9XvNMeomy/P0Xsq4J9UvNRmOyX8Xdzcs6oGdJkFSplZawio9tbvtQ==", + "dev": true, "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } + "@babel/core": "^7.5.5", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5", + "murmurhash3js": "^3.0.1" } }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "babel-plugin-react-native-web": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.12.2.tgz", + "integrity": "sha512-bsOhSS39aCqlGxGvSAX52gZWtfu6scOaWsWcJfI8iCOQXO5N7mcLwYUvCASxlZ1IiilRUHjr1J8z7+CAlFDv+A==", "dev": true }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "dev": true }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "babel-plugin-transform-inline-consecutive-adds": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", + "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", "dev": true }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "babel-plugin-transform-member-expression-literals": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", + "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", "dev": true }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "babel-plugin-transform-merge-sibling-variables": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", + "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", + "dev": true + }, + "babel-plugin-transform-minify-booleans": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", + "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", + "dev": true + }, + "babel-plugin-transform-property-literals": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", + "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "esutils": "^2.0.2" } }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true + "babel-plugin-transform-regexp-constructors": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", + "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", + "dev": true }, - "conventional-changelog": { - "version": "3.1.18", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.18.tgz", - "integrity": "sha512-aN6a3rjgV8qwAJj3sC/Lme2kvswWO7fFSGQc32gREcwIOsaiqBaO6f2p0NomFaPDnTqZ+mMZFLL3hlzvEnZ0mQ==", - "dev": true, - "requires": { - "conventional-changelog-angular": "^5.0.6", - "conventional-changelog-atom": "^2.0.3", - "conventional-changelog-codemirror": "^2.0.3", - "conventional-changelog-conventionalcommits": "^4.2.3", - "conventional-changelog-core": "^4.1.4", - "conventional-changelog-ember": "^2.0.4", - "conventional-changelog-eslint": "^3.0.4", - "conventional-changelog-express": "^2.0.1", - "conventional-changelog-jquery": "^3.0.6", - "conventional-changelog-jshint": "^2.0.3", - "conventional-changelog-preset-loader": "^2.3.0" - } + "babel-plugin-transform-remove-console": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", + "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", + "dev": true }, - "conventional-changelog-angular": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz", - "integrity": "sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==", + "babel-plugin-transform-remove-debugger": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", + "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", + "dev": true + }, + "babel-plugin-transform-remove-undefined": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", + "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", "dev": true, "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" + "babel-helper-evaluate-path": "^0.5.0" } }, - "conventional-changelog-atom": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz", - "integrity": "sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg==", - "dev": true, + "babel-plugin-transform-simplify-comparison-operators": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", + "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", + "dev": true + }, + "babel-plugin-transform-undefined-to-void": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", + "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", + "dev": true + }, + "babel-preset-fbjs": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz", + "integrity": "sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw==", "requires": { - "q": "^1.5.1" + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" } }, - "conventional-changelog-cli": { - "version": "2.0.31", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.31.tgz", - "integrity": "sha512-nMINylKAamBLM3OmD7/44d9TPZ3V58IDTXoGC/QtXxve+1Sj37BQTzIEW3TNaviZ2ZV/b5Dqg0eSk4DNP5fBdA==", + "babel-preset-jest": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.1.0.tgz", + "integrity": "sha512-eCGn64olaqwUMaugXsTtGAM2I0QTahjEtnRu0ql8Ie+gDWAc1N6wqN0k2NilnyTunM69Pad7gJY7LOtwLimoFQ==", "dev": true, "requires": { - "add-stream": "^1.0.0", - "conventional-changelog": "^3.1.18", - "lodash": "^4.17.15", - "meow": "^5.0.0", - "tempfile": "^3.0.0" + "@babel/plugin-syntax-bigint": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^25.1.0" } }, - "conventional-changelog-codemirror": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz", - "integrity": "sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q==", + "babel-preset-minify": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz", + "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==", "dev": true, "requires": { - "q": "^1.5.1" + "babel-plugin-minify-builtins": "^0.5.0", + "babel-plugin-minify-constant-folding": "^0.5.0", + "babel-plugin-minify-dead-code-elimination": "^0.5.1", + "babel-plugin-minify-flip-comparisons": "^0.4.3", + "babel-plugin-minify-guarded-expressions": "^0.4.4", + "babel-plugin-minify-infinity": "^0.4.3", + "babel-plugin-minify-mangle-names": "^0.5.0", + "babel-plugin-minify-numeric-literals": "^0.4.3", + "babel-plugin-minify-replace": "^0.5.0", + "babel-plugin-minify-simplify": "^0.5.1", + "babel-plugin-minify-type-constructors": "^0.4.3", + "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", + "babel-plugin-transform-member-expression-literals": "^6.9.4", + "babel-plugin-transform-merge-sibling-variables": "^6.9.4", + "babel-plugin-transform-minify-booleans": "^6.9.4", + "babel-plugin-transform-property-literals": "^6.9.4", + "babel-plugin-transform-regexp-constructors": "^0.4.3", + "babel-plugin-transform-remove-console": "^6.9.4", + "babel-plugin-transform-remove-debugger": "^6.9.4", + "babel-plugin-transform-remove-undefined": "^0.5.0", + "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", + "babel-plugin-transform-undefined-to-void": "^6.9.4", + "lodash": "^4.17.11" } }, - "conventional-changelog-config-spec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-1.0.0.tgz", - "integrity": "sha512-RR3479x5Qw7XWkmNDYx/kOnsQJW+FZBIakURG/Dg7FkTaCrGjAkgfH96pQs9SyOEZI07USEXy7FjUDWYP8bt3Q==", - "dev": true + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" }, - "conventional-changelog-conventionalcommits": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz", - "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==", - "dev": true, - "requires": { - "compare-func": "^1.3.1", - "lodash": "^4.17.15", - "q": "^1.5.1" - } + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "conventional-changelog-core": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.1.4.tgz", - "integrity": "sha512-LO58ZbEpp1Ul+y/vOI8rJRsWkovsYkCFbOCVgi6UnVfU8WC0F8K8VQQwaBZWWUpb6JvEiN4GBR5baRP2txZ+Vg==", - "dev": true, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^4.0.11", - "conventional-commits-parser": "^3.0.8", - "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "2.0.0", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^3.0.1", - "lodash": "^4.17.15", - "normalize-package-data": "^2.3.5", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^3.0.0" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "is-descriptor": "^1.0.0" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "kind-of": "^6.0.0" } }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "p-try": "^1.0.0" + "kind-of": "^6.0.0" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "dev": true, - "requires": { - "readable-stream": "2 || 3" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } }, - "conventional-changelog-ember": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz", - "integrity": "sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA==", - "dev": true, - "requires": { - "q": "^1.5.1" - } + "base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" }, - "conventional-changelog-eslint": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz", - "integrity": "sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg==", - "dev": true, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", "requires": { - "q": "^1.5.1" + "safe-buffer": "5.1.2" } }, - "conventional-changelog-express": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.1.tgz", - "integrity": "sha512-G6uCuCaQhLxdb4eEfAIHpcfcJ2+ao3hJkbLrw/jSK/eROeNfnxCJasaWdDAfFkxsbpzvQT4W01iSynU3OoPLIw==", - "dev": true, + "batch-processor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", + "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "requires": { - "q": "^1.5.1" + "tweetnacl": "^0.14.3" } }, - "conventional-changelog-jquery": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz", - "integrity": "sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA==", + "before-after-hook": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", + "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==", + "dev": true + }, + "big-integer": { + "version": "1.6.48", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", "dev": true, "requires": { - "q": "^1.5.1" + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" } }, - "conventional-changelog-jshint": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz", - "integrity": "sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw==", - "dev": true, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" + "file-uri-to-path": "1.0.0" } }, - "conventional-changelog-preset-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz", - "integrity": "sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==", + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "conventional-changelog-writer": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz", - "integrity": "sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==", + "blueimp-md5": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.12.0.tgz", + "integrity": "sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, "requires": { - "compare-func": "^1.3.1", - "conventional-commits-filter": "^2.0.2", - "dateformat": "^3.0.0", - "handlebars": "^4.4.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^5.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^3.0.0" + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true }, - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "readable-stream": "2 || 3" + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true } } }, - "conventional-commits-filter": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz", - "integrity": "sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==", + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", "dev": true, "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - } - }, - "conventional-commits-parser": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", - "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", - "dev": true, - "requires": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.1", - "lodash": "^4.17.15", - "meow": "^5.0.0", - "split2": "^2.0.0", - "through2": "^3.0.0", - "trim-off-newlines": "^1.0.0" - }, - "dependencies": { - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "dev": true, - "requires": { - "readable-stream": "2 || 3" - } - } - } - }, - "conventional-recommended-bump": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.0.tgz", - "integrity": "sha512-CsfdICpbUe0pmM4MTG90GPUqnFgB1SWIR2HAh+vS+JhhJdPWvc0brs8oadWoYGhFOQpQwe57JnvzWEWU0m2OSg==", - "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.1.1", - "conventional-commits-filter": "^2.0.2", - "conventional-commits-parser": "^3.0.2", - "git-raw-commits": "2.0.0", - "git-semver-tags": "^2.0.2", - "meow": "^4.0.0", - "q": "^1.5.1" + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" }, "dependencies": { - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "git-semver-tags": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", - "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", - "dev": true, - "requires": { - "meow": "^4.0.0", - "semver": "^6.0.0" - } + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" + "color-name": "~1.1.4" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "ansi-regex": "^5.0.0" } }, - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "has-flag": "^4.0.0" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "bplist-creator": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz", + "integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==", "requires": { - "safe-buffer": "~5.1.1" + "stream-buffers": "~2.2.0" } }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "requires": { + "big-integer": "^1.6.44" + } }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "copy-to-clipboard": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.2.1.tgz", - "integrity": "sha512-btru1Q6RD9wbonIvEU5EfnhIRGHLo//BGXQ1hNAD2avIs/nBZlpbOeKtv3mhoUByN4DB9Cb6/vXBymj1S43KmA==", - "dev": true, - "requires": { - "toggle-selection": "^1.0.6" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "core-js": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" - }, - "core-js-compat": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", - "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", - "dev": true, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "browserslist": "^4.8.3", - "semver": "7.0.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } } } }, - "core-js-pure": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.4.tgz", - "integrity": "sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw==", + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true }, - "corejs-upgrade-webpack-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz", - "integrity": "sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ==", + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "requires": { - "resolve-from": "^5.0.0", - "webpack": "^4.38.0" + "resolve": "1.1.7" }, "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true } } }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "cipher-base": "^1.0.3", + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "parse-asn1": "^5.0.0" } }, - "create-react-class": { - "version": "15.6.3", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", - "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "requires": { - "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" - } - } + "pako": "~1.0.5" } }, - "create-react-context": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", - "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", + "browserslist": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz", + "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==", "dev": true, "requires": { - "gud": "^1.0.0", - "warning": "^4.0.3" + "caniuse-lite": "^1.0.30001035", + "electron-to-chromium": "^1.3.378", + "node-releases": "^1.1.52", + "pkg-up": "^3.1.0" } }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } + "node-int64": "^0.4.0" } }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", "dev": true }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz", + "integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8=", "dev": true }, - "css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=", + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "css-in-js-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", - "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==", - "dev": true, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", + "dev": true + }, + "bugsnag-react-native": { + "version": "2.23.6", + "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.23.6.tgz", + "integrity": "sha512-5Jo3d56mXlDDQf2zHVq+ICPAWPjTTRhi6wMLofNrG30rcqPkhk/AmIB5fbQ+DypF3I8A2iJLl4DiBWPhkOp4BQ==", "requires": { - "hyphenate-style-name": "^1.0.2", - "isobject": "^3.0.1" + "iserror": "^0.0.2", + "promise": "^7", + "prop-types": "^15.6.0" } }, - "css-loader": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz", - "integrity": "sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA==", + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", "dev": true, "requires": { - "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.23", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.1.1", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.2", - "schema-utils": "^2.6.0" + "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" }, "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "schema-utils": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", - "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "requires": { - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1" + "minimist": "^1.2.5" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true } } }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-to-react-native": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz", - "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==", + "cacheable-lookup": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", + "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", "dev": true, "requires": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^3.3.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "@types/keyv": "^3.1.1", + "keyv": "^4.0.0" } }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "cacheable-request": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", + "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", "dev": true, "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^2.0.0" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", "dev": true } } }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", "dev": true }, - "csso": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", - "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", - "dev": true, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "css-tree": "1.0.0-alpha.37" + "callsites": "^2.0.0" } }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dev": true, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "cssom": "0.3.x" + "caller-callsite": "^2.0.0" } }, - "csstype": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.8.tgz", - "integrity": "sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA==" + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "camel-case": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", + "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "pascal-case": "^3.1.1", + "tslib": "^1.10.0" } }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, - "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=", + "dev": true }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, + "can-use-dom": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", + "integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001035", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", + "dev": true + }, + "capitalize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capitalize/-/capitalize-1.0.0.tgz", + "integrity": "sha1-3IAsWAruEBkpAg0soUtMqKCuRL4=", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } + "rsvp": "^4.8.4" } }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", "dev": true }, - "dayjs": { - "version": "1.8.20", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.20.tgz", - "integrity": "sha512-mH0MCDxw6UCGJYxVN78h8ugWycZAO8thkj3bW6vApL5tS0hQplIDdAQcmbvl7n35H0AKdCJQaArTrIQw2xt4Qg==" + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "debounce": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", - "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + "ccount": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz", + "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==" }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "dev": true, "requires": { - "ms": "^2.1.1" + "traverse": ">=0.3.0 <0.4" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", + "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "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" }, "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true } } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "tslib": "^1.9.0" } }, - "dedent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz", - "integrity": "sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s=" - }, - "deep-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", - "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "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" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=", "dev": true }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } }, - "deep-object-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.0.tgz", - "integrity": "sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==", + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", "dev": true }, - "deepmerge": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", - "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, "requires": { - "clone": "^1.0.2" + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "object-keys": "^1.0.12" + "restore-cursor": "^2.0.0" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "cli-spinners": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==" + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" }, "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { - "kind-of": "^6.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "ansi-regex": "^3.0.0" } } } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, - "delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "clipboard": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true + "optional": true, + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, - "destroy": { + "clone": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" }, - "detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", "dev": true, "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "ms": "2.0.0" + "is-buffer": "^1.1.5" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "mimic-response": "^1.0.0" }, "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true } } }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dev": true, "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" - }, - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" - } + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" } }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", - "dev": true + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "collect-v8-coverage": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz", + "integrity": "sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ==", "dev": true }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "webidl-conversions": "^4.0.2" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { - "domelementtype": "1" + "color-name": "1.1.3" } }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", - "dev": true, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "colorette": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", + "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==" + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { - "is-obj": "^1.0.0" + "delayed-stream": "~1.0.0" } }, - "dotenv": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", - "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", "dev": true }, - "dotenv-defaults": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-1.1.1.tgz", - "integrity": "sha512-6fPRo9o/3MxKvmRZBD3oNFdxODdhJtIy1zcJeUSCs6HCy4tarUpd+G67UTU9tF6OWXeSPqsm4fPAB+2eY9Rt9Q==", + "command-exists": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", "dev": true, "requires": { - "dotenv": "^6.2.0" + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" } }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true + "compare-versions": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz", + "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==" }, - "dotenv-webpack": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.7.0.tgz", - "integrity": "sha512-wwNtOBW/6gLQSkb8p43y0Wts970A3xtNiG/mpwj9MLUhtPCQG6i+/DSXXoNN7fbPCU/vQ7JjwGmgOeGZSSZnsw==", - "dev": true, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "requires": { - "dotenv-defaults": "^1.0.2" + "mime-db": ">= 1.43.0 < 2" } }, - "dotgitignore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", - "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", - "dev": true, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "requires": { - "find-up": "^3.0.0", - "minimatch": "^3.0.4" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { - "p-limit": "^2.0.0" + "ms": "2.0.0" } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "readable-stream": "^2.0.2" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "electron-to-chromium": { - "version": "1.3.348", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.348.tgz", - "integrity": "sha512-6O0IInybavGdYtcbI4ryF/9e3Qi8/soi6C68ELRseJuTwQPKq39uGgVVeQHG28t69Sgsky09nXBRhUiFXsZyFQ==", + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, - "element-resize-detector": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.1.tgz", - "integrity": "sha512-BdFsPepnQr9fznNPF9nF4vQ457U/ZJXQDSNF1zBe7yaga8v9AdZf3/NElYxFdUh7SitSGt040QygiTo6dtatIw==", - "dev": true, - "requires": { - "batch-processor": "1.0.0" - } - }, - "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "dev": true, "requires": { - "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" + "safe-buffer": "5.1.2" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, - "emotion-theming": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.0.27.tgz", - "integrity": "sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw==", + "conventional-changelog": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.18.tgz", + "integrity": "sha512-aN6a3rjgV8qwAJj3sC/Lme2kvswWO7fFSGQc32gREcwIOsaiqBaO6f2p0NomFaPDnTqZ+mMZFLL3hlzvEnZ0mQ==", "dev": true, "requires": { - "@babel/runtime": "^7.5.5", - "@emotion/weak-memoize": "0.2.5", - "hoist-non-react-statics": "^3.3.0" - } - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "~0.4.13" + "conventional-changelog-angular": "^5.0.6", + "conventional-changelog-atom": "^2.0.3", + "conventional-changelog-codemirror": "^2.0.3", + "conventional-changelog-conventionalcommits": "^4.2.3", + "conventional-changelog-core": "^4.1.4", + "conventional-changelog-ember": "^2.0.4", + "conventional-changelog-eslint": "^3.0.4", + "conventional-changelog-express": "^2.0.1", + "conventional-changelog-jquery": "^3.0.6", + "conventional-changelog-jshint": "^2.0.3", + "conventional-changelog-preset-loader": "^2.3.0" } }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "conventional-changelog-angular": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz", + "integrity": "sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==", + "dev": true, "requires": { - "once": "^1.4.0" + "compare-func": "^1.3.1", + "q": "^1.5.1" } }, - "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "conventional-changelog-atom": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz", + "integrity": "sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } + "q": "^1.5.1" } }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "env-ci": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-2.6.0.tgz", - "integrity": "sha512-tnOi9qgtDxY3mvf69coXLHbSZtFMNGAJ1s/huirAhJZTx9rs/1qgFjl+6Z5ULQCfpDmlsf34L7wm+eJGwMazYg==", + "conventional-changelog-cli": { + "version": "2.0.31", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.31.tgz", + "integrity": "sha512-nMINylKAamBLM3OmD7/44d9TPZ3V58IDTXoGC/QtXxve+1Sj37BQTzIEW3TNaviZ2ZV/b5Dqg0eSk4DNP5fBdA==", "dev": true, "requires": { - "execa": "^1.0.0", - "java-properties": "^0.2.9" + "add-stream": "^1.0.0", + "conventional-changelog": "^3.1.18", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "tempfile": "^3.0.0" } }, - "envinfo": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.0.tgz", - "integrity": "sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==" - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "conventional-changelog-codemirror": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz", + "integrity": "sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q==", "dev": true, "requires": { - "prr": "~1.0.1" + "q": "^1.5.1" } }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } + "conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true }, - "errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "conventional-changelog-conventionalcommits": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz", + "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==", + "dev": true, "requires": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" + "compare-func": "^1.3.1", + "lodash": "^4.17.15", + "q": "^1.5.1" } }, - "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "conventional-changelog-core": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.1.4.tgz", + "integrity": "sha512-LO58ZbEpp1Ul+y/vOI8rJRsWkovsYkCFbOCVgi6UnVfU8WC0F8K8VQQwaBZWWUpb6JvEiN4GBR5baRP2txZ+Vg==", "dev": true, "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "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", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true - }, - "es-get-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", - "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", - "dev": true, - "requires": { - "es-abstract": "^1.17.4", - "has-symbols": "^1.0.1", - "is-arguments": "^1.0.4", - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-shim": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.13.tgz", - "integrity": "sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw==", - "dev": true - }, - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", - "dev": true - }, - "es6-shim": { - "version": "0.35.5", - "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.5.tgz", - "integrity": "sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", - "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "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.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^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" + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^4.0.11", + "conventional-commits-parser": "^3.0.8", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^3.0.1", + "lodash": "^4.17.15", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" }, "dependencies": { - "ansi-escapes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", - "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "type-fest": "^0.8.1" + "locate-path": "^2.0.0" } }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "restore-cursor": "^3.1.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "esutils": "^2.0.2" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "p-try": "^1.0.0" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "p-limit": "^1.1.0" } }, - "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "pify": "^3.0.0" } }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", - "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.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", - "run-async": "^2.2.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { + "pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" } }, - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", "dev": true, "requires": { - "tslib": "^1.9.0" + "readable-stream": "2 || 3" } - }, + } + } + }, + "conventional-changelog-ember": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz", + "integrity": "sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz", + "integrity": "sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.1.tgz", + "integrity": "sha512-G6uCuCaQhLxdb4eEfAIHpcfcJ2+ao3hJkbLrw/jSK/eROeNfnxCJasaWdDAfFkxsbpzvQT4W01iSynU3OoPLIw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz", + "integrity": "sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz", + "integrity": "sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz", + "integrity": "sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz", + "integrity": "sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "conventional-commits-filter": "^2.0.2", + "dateformat": "^3.0.0", + "handlebars": "^4.4.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^3.0.0" + }, + "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } + "readable-stream": "2 || 3" } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true } } }, - "eslint-config-prettier": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.10.0.tgz", - "integrity": "sha512-AtndijGte1rPILInUdHjvKEGbIV06NuvPrqlIEaEaWtbtvJh464mDeyGMdZEQMsGvC0ZVkiex1fSNcC4HAbRGg==", + "conventional-commits-filter": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz", + "integrity": "sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==", "dev": true, "requires": { - "get-stdin": "^6.0.0" - }, - "dependencies": { - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - } + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" } }, - "eslint-config-standard": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-13.0.1.tgz", - "integrity": "sha512-zLKp4QOgq6JFgRm1dDCVv1Iu0P5uZ4v5Wa4DTOkg2RFMxdCX/9Qf7lz9ezRj2dBRa955cWQF/O/LWEiYWAHbTw==", - "dev": true - }, - "eslint-import-resolver-node": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", - "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "conventional-commits-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", + "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", "dev": true, "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.1", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "split2": "^2.0.0", + "through2": "^3.0.0", + "trim-off-newlines": "^1.0.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", "dev": true, "requires": { - "ms": "2.0.0" + "readable-stream": "2 || 3" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, - "eslint-module-utils": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz", - "integrity": "sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q==", + "conventional-recommended-bump": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.0.5.tgz", + "integrity": "sha512-srkferrB4kACPEbKYltZwX1CQZAEqbQkabKN444mavLRVMetzwJFJf23/+pwvtMsWbd+cc4HaleV1nHke0f8Rw==", "dev": true, "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.0", + "conventional-commits-filter": "^2.0.2", + "conventional-commits-parser": "^3.0.8", + "git-raw-commits": "2.0.0", + "git-semver-tags": "^3.0.1", + "meow": "^5.0.0", + "q": "^1.5.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { + "concat-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "find-up": "^2.1.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } } } }, - "eslint-plugin-es": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", - "dev": true, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "requires": { - "eslint-utils": "^1.4.2", - "regexpp": "^2.0.1" + "safe-buffer": "~5.1.1" } }, - "eslint-plugin-eslint-comments": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.1.2.tgz", - "integrity": "sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - } + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true }, - "eslint-plugin-flowtype": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", - "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true }, - "eslint-plugin-import": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", - "integrity": "sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw==", + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "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.1", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.0", - "read-pkg-up": "^2.0.0", - "resolve": "^1.12.0" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "requires": { - "ms": "2.0.0" + "minimist": "^1.2.5" } }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "glob": "^7.1.3" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, - "eslint-plugin-jest": { - "version": "22.21.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.21.0.tgz", - "integrity": "sha512-OaqnSS7uBgcGiqXUiEnjoqxPNKvR4JWG5mSRkzVoR6+vDwlqqp11beeql1hYs0HTbdhiwrxWLxbX0Vx7roG3Ew==", + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", + "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "^1.13.0" + "toggle-selection": "^1.0.6" } }, - "eslint-plugin-node": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-9.2.0.tgz", - "integrity": "sha512-2abNmzAH/JpxI4gEOwd6K8wZIodK3BmHbTxz4s79OIYwwIt2gkpEXlAouJXu4H1c9ySTnRso0tsuthSOZbUMlA==", + "core-js": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", + "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" + }, + "core-js-compat": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", + "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", "dev": true, "requires": { - "eslint-plugin-es": "^1.4.1", - "eslint-utils": "^1.4.2", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" + "browserslist": "^4.8.3", + "semver": "7.0.0" }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", "dev": true } } }, - "eslint-plugin-prettier": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", - "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "core-js-pure": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.4.tgz", + "integrity": "sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw==", "dev": true }, - "eslint-plugin-react": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.18.3.tgz", - "integrity": "sha512-Bt56LNHAQCoou88s8ViKRjMB2+36XRejCQ1VoLj716KI1MoE99HpTVvIThJ0rvFmG4E4Gsq+UgToEjn+j044Bg==", + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "corejs-upgrade-webpack-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "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.14.2", - "string.prototype.matchall": "^4.0.2" + "resolve-from": "^5.0.0", + "webpack": "^4.38.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } } }, - "eslint-plugin-react-hooks": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", - "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==", - "dev": true - }, - "eslint-plugin-react-native": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz", - "integrity": "sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg==", - "dev": true, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "requires": { - "eslint-plugin-react-native-globals": "^0.1.1" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" } }, - "eslint-plugin-react-native-globals": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", - "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", - "dev": true - }, - "eslint-plugin-standard": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", - "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", - "dev": true - }, - "eslint-scope": { + "create-ecdh": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "espree": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", - "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "acorn": "^7.1.0", - "acorn-jsx": "^5.1.0", - "eslint-visitor-keys": "^1.1.0" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-react-class": { + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", + "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", + "requires": { + "fbjs": "^0.8.9", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" }, "dependencies": { - "acorn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", - "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", - "dev": true + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "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" + } } } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "gud": "^1.0.0", + "warning": "^4.0.3" } }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "requires": { - "estraverse": "^4.1.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", "dev": true }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" - }, - "execa": { + "css-color-keywords": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=", + "dev": true + }, + "css-loader": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz", + "integrity": "sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA==", + "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "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.23", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.1.1", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.2", + "schema-utils": "^2.6.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + } } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", "dev": true }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "css-to-react-native": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz", + "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==", + "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^3.3.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csso": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", + "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.37" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.2.0.tgz", + "integrity": "sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "csstype": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.8.tgz", + "integrity": "sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "dayjs": { + "version": "1.8.23", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.23.tgz", + "integrity": "sha512-NmYHMFONftoZbeOhVz6jfiXI4zSiPN6NoVWJgC0aZQfYVwzy/ZpESPHuCcI0B8BUMpSJQ08zenHDbofOLKq8hQ==" + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", + "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "dev": true, + "requires": { + "mimic-response": "^2.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "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-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deep-object-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.0.tgz", + "integrity": "sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==", + "dev": true + }, + "deepmerge": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz", + "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "didyoumean": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz", + "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=" + }, + "diff-sequences": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.1.0.tgz", + "integrity": "sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + } + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.3.tgz", + "integrity": "sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA==", + "dev": true, + "requires": { + "no-case": "^3.0.3", + "tslib": "^1.10.0" + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true + }, + "dotenv-defaults": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-1.1.1.tgz", + "integrity": "sha512-6fPRo9o/3MxKvmRZBD3oNFdxODdhJtIy1zcJeUSCs6HCy4tarUpd+G67UTU9tF6OWXeSPqsm4fPAB+2eY9Rt9Q==", + "dev": true, + "requires": { + "dotenv": "^6.2.0" + } + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "dotenv-webpack": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.7.0.tgz", + "integrity": "sha512-wwNtOBW/6gLQSkb8p43y0Wts970A3xtNiG/mpwj9MLUhtPCQG6i+/DSXXoNN7fbPCU/vQ7JjwGmgOeGZSSZnsw==", + "dev": true, + "requires": { + "dotenv-defaults": "^1.0.2" + } + }, + "dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.380", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.380.tgz", + "integrity": "sha512-2jhQxJKcjcSpVOQm0NAfuLq8o+130blrcawoumdXT6411xG/xIAOyZodO/y7WTaYlz/NHe3sCCAe/cJLnDsqTw==", + "dev": true + }, + "element-resize-detector": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.1.tgz", + "integrity": "sha512-BdFsPepnQr9fznNPF9nF4vQ457U/ZJXQDSNF1zBe7yaga8v9AdZf3/NElYxFdUh7SitSGt040QygiTo6dtatIw==", + "dev": true, + "requires": { + "batch-processor": "1.0.0" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "dev": true, + "requires": { + "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": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "emotion-theming": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.0.27.tgz", + "integrity": "sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/weak-memoize": "0.2.5", + "hoist-non-react-statics": "^3.3.0" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "envinfo": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.0.tgz", + "integrity": "sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "requires": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + } + }, + "es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "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", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-get-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", + "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", + "dev": true, + "requires": { + "es-abstract": "^1.17.4", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-shim": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.13.tgz", + "integrity": "sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw==", + "dev": true + }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "dev": true + }, + "es6-shim": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.5.tgz", + "integrity": "sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "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.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^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" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "inquirer": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", + "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.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", + "run-async": "^2.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.10.0.tgz", + "integrity": "sha512-AtndijGte1rPILInUdHjvKEGbIV06NuvPrqlIEaEaWtbtvJh464mDeyGMdZEQMsGvC0ZVkiex1fSNcC4HAbRGg==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + }, + "dependencies": { + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + } + } + }, + "eslint-config-standard": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz", + "integrity": "sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", + "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz", + "integrity": "sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-es": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.0.tgz", + "integrity": "sha512-6/Jb/J/ZvSebydwbBJO1R9E5ky7YeElfK56Veh7e4QGFHCXoIXGH9HhVz+ibJLM3XJ1XjP+T7rKBLUa/Y7eIng==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", + "dev": true + } + } + }, + "eslint-plugin-eslint-comments": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.1.2.tgz", + "integrity": "sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + } + }, + "eslint-plugin-flowtype": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz", + "integrity": "sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "eslint-plugin-import": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", + "integrity": "sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw==", + "dev": true, + "requires": { + "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.1", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-jest": { + "version": "23.8.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.8.2.tgz", + "integrity": "sha512-xwbnvOsotSV27MtAe7s8uGWOori0nUsrXh2f1EnpmXua8sDfY6VZhHAhHg2sqK7HBNycRQExF074XSZ7DvfoFg==", + "requires": { + "@typescript-eslint/experimental-utils": "^2.5.0" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.24.0.tgz", + "integrity": "sha512-DXrwuXTdVh3ycNCMYmWhUzn/gfqu9N0VzNnahjiDJvcyhfBy4gb59ncVZVxdp5XzBC77dCncu0daQgOkbvPwBw==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.24.0", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.24.0.tgz", + "integrity": "sha512-RJ0yMe5owMSix55qX7Mi9V6z2FDuuDpN6eR5fzRJrp+8in9UF41IGNQHbg5aMK4/PjVaEQksLvz0IA8n+Mr/FA==", + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^6.3.0", + "tsutils": "^3.17.1" + } + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-node": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.0.0.tgz", + "integrity": "sha512-chUs/NVID+sknFiJzxoN9lM7uKSOEta8GC8365hw1nDfwIPIjjpRSwwPvQanWv8dt/pDe9EV4anmVSwdiSndNg==", + "dev": true, + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", + "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-promise": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "dev": true + }, + "eslint-plugin-react": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", + "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "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.15.1", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.2", + "xregexp": "^4.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", + "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", + "dev": true + }, + "eslint-plugin-react-native": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz", + "integrity": "sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg==", + "dev": true, + "requires": { + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", + "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" + }, + "espree": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", + "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "dev": true, + "requires": { + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expect": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.1.0.tgz", + "integrity": "sha512-wqHzuoapQkhc3OKPlrpetsfueuEiMf3iWh0R8+duCu9PIjXoP7HgD5aeypwTnXUAjC8aMsiVDaWwlbJ1RlQ38g==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.1.0", + "jest-matcher-utils": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-regex-util": "^25.1.0" + }, + "dependencies": { + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "expo-app-loader-provider": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-app-loader-provider/-/expo-app-loader-provider-8.0.0.tgz", + "integrity": "sha512-uMEdstZdm14JW8jfWXBWItIjGPNBH7cLj2pNu5e0pYF21W4j759rGL17NTNWit4UdLZg/zJB/HHRidVwEINfxA==" + }, + "expo-asset": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-8.0.0.tgz", + "integrity": "sha512-ICPptpetXB+v88Sqr8yMVEA46UNlUUb8AMbyUytdUJqV7V2itHDQywl08ofOlOICzNgjDFIQdCs3crkTVQ1Zng==", + "requires": { + "blueimp-md5": "^2.10.0", + "path-browserify": "^1.0.0", + "url-parse": "^1.4.4" + } + }, + "expo-camera": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-camera/-/expo-camera-8.0.0.tgz", + "integrity": "sha512-mtP4NV2R4e+JTXUZBiA0ok4xSzTfRLxirvqJ5T7kjyozuCWUJeOhGk3hqNsBbWhwXDA+hirAge7169UB3vKfDQ==", + "requires": { + "lodash": "^4.6.0", + "prop-types": "^15.6.0" + } + }, + "expo-constants": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-8.0.0.tgz", + "integrity": "sha512-NGRwSWfhwNFA9WVLXwqnSDPJJ4DdXTqEkl9Fr9PcyW5VCoFgz7uke256E1YZsYhOE0Ph365lu/5jjZs+MRmRog==", + "requires": { + "ua-parser-js": "^0.7.19" + } + }, + "expo-document-picker": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-document-picker/-/expo-document-picker-8.0.0.tgz", + "integrity": "sha512-lr1ZChMh33qI8o7627D2BvbDKqMOdDu4WxfXNpMGI8iyKNVvUH78Aa+/3FVFK8L8EuRLMcgUmj0aP6nALaIznA==", + "requires": { + "uuid": "^3.3.2" + } + }, + "expo-file-system": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-8.0.0.tgz", + "integrity": "sha512-mi84jt3EHVUfxu5eGOikNuRDi7+5daCFSP9LVgk5aQz8Oepo143vnH/+WE4lQEg+u8dB6EmmCWncyc2Fklxv7A==", + "requires": { + "uuid-js": "^0.7.5" + } + }, + "expo-linear-gradient": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-8.0.0.tgz", + "integrity": "sha512-5G3ePGAHUoyBWbGITw5RtdJpssH8TXhCgt55cV+5LTTFjr51OZcuOmGua1vRoVFKBC/9ibLW465GEx9H/HS07Q==" + }, + "expo-localization": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-8.0.0.tgz", + "integrity": "sha512-NGxiNU4G67dhi+yngN034kgA+99rWhrPJ6mTIM7nY70F/UceoMIEs8Hgg9ZIPvlN0XFAUU2EybzR8wzYOzOR7w==", + "requires": { + "rtl-detect": "^1.0.2" + } + }, + "expo-location": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-8.0.0.tgz", + "integrity": "sha512-48i4dUCaqPTwSri79yummKwg6vE6loI7d4iHCrbG4EEuN3fhS8I9xU60CEkoNZTziH9zK0iw4KSjr7DbXUAaCw==", + "requires": { + "invariant": "^2.2.4" + } + }, + "expo-permissions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-8.0.0.tgz", + "integrity": "sha512-GHTRmwh1rd1b0FcibluPFu93NNQyl9b1anBBDVPmomoo9Prz7kDcO5p2hFqM99r896yvAUSe0fPloPKUq4g/1A==" + }, + "expo-sensors": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/expo-sensors/-/expo-sensors-8.0.0.tgz", + "integrity": "sha512-gIvXBfFJaY6GQKx2MGmm5ZWXqMF47ZKcdDanHlMIkfxwQiiPBoYNCAOgYH6y7X1n9PC/cF6THgf5X2C8aKMjVA==", + "requires": { + "invariant": "^2.2.4" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "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.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dev": true, + "requires": { + "format": "^0.2.0" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^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" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + } + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "fbjs-scripts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.2.0.tgz", + "integrity": "sha512-5krZ8T0Bf8uky0abPoCLrfa7Orxd8UH4Qq8hRUF2RZYNMu+FmEOrBc7Ib3YVONmxTXTlLAvyrrdrVmksDb2OqQ==", + "requires": { + "@babel/core": "^7.0.0", + "ansi-colors": "^1.0.1", + "babel-preset-fbjs": "^3.2.0", + "core-js": "^2.4.1", + "cross-spawn": "^5.1.0", + "fancy-log": "^1.3.2", + "object-assign": "^4.0.1", + "plugin-error": "^0.1.2", + "semver": "^5.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "file-system-cache": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.0.5.tgz", + "integrity": "sha1-hCWbNqK7uNPW6xAh0xMv/mTP/08=", + "dev": true, + "requires": { + "bluebird": "^3.3.5", + "fs-extra": "^0.30.0", + "ramda": "^0.21.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "dev": true, + "requires": { + "semver-regex": "^2.0.0" + } + }, + "find-yarn-workspace-root": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz", + "integrity": "sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q==", + "dev": true, + "requires": { + "fs-extra": "^4.0.3", + "micromatch": "^3.1.4" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "flow-bin": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.121.0.tgz", + "integrity": "sha512-QYRMs+AoMLj/OTaSo9+8c3kzM/u8YgvfrInp0qzhtzC02Sc2jb3BV/QZWZGjPo+XK3twyyqXrcI3s8MuL1UQRg==", + "dev": true + }, + "flow-typed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flow-typed/-/flow-typed-3.1.0.tgz", + "integrity": "sha512-y9AbG5/ZQDyCs2ROmJqYKUCornCPOLJQL06TE1TwNCGTzKYDqLgkYeINCthd9EL8FyzWkTLI0mOSL82dU20hJA==", + "dev": true, + "requires": { + "@octokit/rest": "^16.43.1", + "colors": "^1.4.0", + "flowgen": "^1.10.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.6", + "got": "^10.5.7", + "md5": "^2.2.1", + "mkdirp": "^1.0.3", + "prettier": "^1.19.1", + "rimraf": "^3.0.2", + "semver": "^7.1.3", + "table": "^5.4.6", + "through": "^2.3.8", + "unzipper": "^0.10.8", + "which": "^2.0.2", + "yargs": "^15.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + } + }, + "yargs-parser": { + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.1.tgz", + "integrity": "sha512-KRHEsOM16IX7XuLnMOqImcPNbLVXMNHYAoFc3BKR8Ortl5gzDbtXvvEoGx9imk5E+X1VeNKNlcHr8B8vi+7ipA==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "flowgen": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/flowgen/-/flowgen-1.10.0.tgz", + "integrity": "sha512-3lsoaa1vxGXhnkHuoE4mLPJi/klvpR3ID8R9CFJ/GBNi+cxJXecWQaUPrWMdNI5tGs8Y+7wrIZaCVFKFLQiGOg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/highlight": "^7.0.0", + "commander": "^2.11.0", + "lodash": "^4.17.4", + "paralleljs": "^0.2.1", + "prettier": "^1.16.4", + "shelljs": "^0.8.3", + "typescript": "^3.4", + "typescript-compiler": "^1.4.1-2" + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "focus-lock": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.6.6.tgz", + "integrity": "sha512-Dx69IXGCq1qsUExWuG+5wkiMqVM/zGx/reXSJSLogECwp3x6KeNQZ+NAetgxEFpnC41rD8U3+jRCW68+LNzdtw==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "fork-ts-checker-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^2.0.4", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=", + "dev": true + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "^1.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true + }, + "aproba": { + "version": "1.2.0", + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": false, + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.3", + "resolved": false, + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true + }, + "debug": { + "version": "3.2.6", + "resolved": false, + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": false, + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": false, + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": false, + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "optional": true, + "requires": { + "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" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": false, + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": false, + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": false, + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "optional": true + }, + "ini": { + "version": "1.3.5", + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "optional": true + }, + "minipass": { + "version": "2.9.0", + "resolved": false, + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": false, + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.2", + "resolved": false, + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "needle": { + "version": "2.4.0", + "resolved": false, + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "resolved": false, + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", + "optional": true, + "requires": { + "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.4.2" + } + }, + "nopt": { + "version": "4.0.1", + "resolved": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "optional": true + }, + "npm-packlist": { + "version": "1.4.7", + "resolved": false, + "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "optional": true, "requires": { - "ms": "2.0.0" + "wrappy": "1" } }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } + "os-homedir": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "optional": true }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } + "os-tmpdir": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "optional": true }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.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" - } - }, - "expo-app-loader-provider": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-app-loader-provider/-/expo-app-loader-provider-8.0.0.tgz", - "integrity": "sha512-uMEdstZdm14JW8jfWXBWItIjGPNBH7cLj2pNu5e0pYF21W4j759rGL17NTNWit4UdLZg/zJB/HHRidVwEINfxA==" - }, - "expo-asset": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-8.0.0.tgz", - "integrity": "sha512-ICPptpetXB+v88Sqr8yMVEA46UNlUUb8AMbyUytdUJqV7V2itHDQywl08ofOlOICzNgjDFIQdCs3crkTVQ1Zng==", - "requires": { - "blueimp-md5": "^2.10.0", - "path-browserify": "^1.0.0", - "url-parse": "^1.4.4" - } - }, - "expo-camera": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-camera/-/expo-camera-8.0.0.tgz", - "integrity": "sha512-mtP4NV2R4e+JTXUZBiA0ok4xSzTfRLxirvqJ5T7kjyozuCWUJeOhGk3hqNsBbWhwXDA+hirAge7169UB3vKfDQ==", - "requires": { - "lodash": "^4.6.0", - "prop-types": "^15.6.0" - } - }, - "expo-constants": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-8.0.0.tgz", - "integrity": "sha512-NGRwSWfhwNFA9WVLXwqnSDPJJ4DdXTqEkl9Fr9PcyW5VCoFgz7uke256E1YZsYhOE0Ph365lu/5jjZs+MRmRog==", - "requires": { - "ua-parser-js": "^0.7.19" - } - }, - "expo-document-picker": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-document-picker/-/expo-document-picker-8.0.0.tgz", - "integrity": "sha512-lr1ZChMh33qI8o7627D2BvbDKqMOdDu4WxfXNpMGI8iyKNVvUH78Aa+/3FVFK8L8EuRLMcgUmj0aP6nALaIznA==", - "requires": { - "uuid": "^3.3.2" - } - }, - "expo-file-system": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-8.0.0.tgz", - "integrity": "sha512-mi84jt3EHVUfxu5eGOikNuRDi7+5daCFSP9LVgk5aQz8Oepo143vnH/+WE4lQEg+u8dB6EmmCWncyc2Fklxv7A==", - "requires": { - "uuid-js": "^0.7.5" - } - }, - "expo-linear-gradient": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-8.0.0.tgz", - "integrity": "sha512-5G3ePGAHUoyBWbGITw5RtdJpssH8TXhCgt55cV+5LTTFjr51OZcuOmGua1vRoVFKBC/9ibLW465GEx9H/HS07Q==" - }, - "expo-localization": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-8.0.0.tgz", - "integrity": "sha512-NGxiNU4G67dhi+yngN034kgA+99rWhrPJ6mTIM7nY70F/UceoMIEs8Hgg9ZIPvlN0XFAUU2EybzR8wzYOzOR7w==", - "requires": { - "rtl-detect": "^1.0.2" - } - }, - "expo-location": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-8.0.0.tgz", - "integrity": "sha512-48i4dUCaqPTwSri79yummKwg6vE6loI7d4iHCrbG4EEuN3fhS8I9xU60CEkoNZTziH9zK0iw4KSjr7DbXUAaCw==", - "requires": { - "invariant": "^2.2.4" - } - }, - "expo-permissions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-8.0.0.tgz", - "integrity": "sha512-GHTRmwh1rd1b0FcibluPFu93NNQyl9b1anBBDVPmomoo9Prz7kDcO5p2hFqM99r896yvAUSe0fPloPKUq4g/1A==" - }, - "expo-sensors": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/expo-sensors/-/expo-sensors-8.0.0.tgz", - "integrity": "sha512-gIvXBfFJaY6GQKx2MGmm5ZWXqMF47ZKcdDanHlMIkfxwQiiPBoYNCAOgYH6y7X1n9PC/cF6THgf5X2C8aKMjVA==", - "requires": { - "invariant": "^2.2.4" - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "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.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "osenv": { + "version": "0.1.5", + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "optional": true, "requires": { - "ms": "2.0.0" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "path-is-absolute": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "optional": true }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true + "process-nextick-args": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "optional": true }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "rc": { + "version": "1.2.8", + "resolved": false, + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "optional": true, "requires": { - "is-descriptor": "^1.0.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "optional": true + } } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "readable-stream": { + "version": "2.3.6", + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "optional": true, "requires": { - "is-extendable": "^0.1.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "rimraf": { + "version": "2.7.1", + "resolved": false, + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "optional": true, "requires": { - "kind-of": "^6.0.0" + "glob": "^7.1.3" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "safe-buffer": { + "version": "5.1.2", + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": false, + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "optional": true + }, + "string-width": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, "requires": { - "kind-of": "^6.0.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "string_decoder": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "safe-buffer": "~5.1.0" } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fake-tag": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-tag/-/fake-tag-1.0.1.tgz", - "integrity": "sha512-qmewZoBpa71mM+y6oxXYW/d1xOYQmeIvnEXAt1oCmdP0sqcogWYLepR87QL1jQVLSVMVYDq2cjY6ec/Wu8/4pg==", - "dev": true - }, - "fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", - "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", - "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" - } - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fast-json-parse": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", - "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fast-safe-stringify": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.2.3.tgz", - "integrity": "sha512-QJYT/i0QYoiZBQ71ivxdyTqkwKkQ0oxACXHYxH2zYHJEgzi2LsbjgvtzTbLi1SZcF190Db2YP7I7eTsU2egOlw==", - "dev": true - }, - "fault": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", - "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", - "dev": true, - "requires": { - "format": "^0.2.0" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "requires": { - "bser": "2.1.1" - } - }, - "fbjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", - "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", - "requires": { - "core-js": "^2.4.1", - "fbjs-css-vars": "^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" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" - } - } - }, - "fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "fbjs-scripts": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.2.0.tgz", - "integrity": "sha512-5krZ8T0Bf8uky0abPoCLrfa7Orxd8UH4Qq8hRUF2RZYNMu+FmEOrBc7Ib3YVONmxTXTlLAvyrrdrVmksDb2OqQ==", - "requires": { - "@babel/core": "^7.0.0", - "ansi-colors": "^1.0.1", - "babel-preset-fbjs": "^3.2.0", - "core-js": "^2.4.1", - "cross-spawn": "^5.1.0", - "fancy-log": "^1.3.2", - "object-assign": "^4.0.1", - "plugin-error": "^0.1.2", - "semver": "^5.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "strip-ansi": { + "version": "3.0.1", + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "optional": true + }, + "tar": { + "version": "4.4.13", + "resolved": false, + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", - "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - }, - "dependencies": { - "schema-utils": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", - "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", - "dev": true, + "util-deprecate": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": false, + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "optional": true, "requires": { - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1" + "string-width": "^1.0.2 || 2" } + }, + "wrappy": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "optional": true + }, + "yallist": { + "version": "3.1.1", + "resolved": false, + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true } } }, - "file-system-cache": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.0.5.tgz", - "integrity": "sha1-hCWbNqK7uNPW6xAh0xMv/mTP/08=", + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", "dev": true, "requires": { - "bluebird": "^3.3.5", - "fs-extra": "^0.30.0", - "ramda": "^0.21.0" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" }, "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "minimist": "^1.2.5" } }, "rimraf": { @@ -9589,3778 +12769,5218 @@ } } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "finalhandler": { + "function.prototype.name": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "find-yarn-workspace-root": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz", - "integrity": "sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q==", - "dev": true, - "requires": { - "fs-extra": "^4.0.3", - "micromatch": "^3.1.4" - }, - "dependencies": { - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - } - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.2.tgz", + "integrity": "sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg==", "dev": true, "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "functions-have-names": "^1.2.0" } }, - "flatstr": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", - "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==", + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, - "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "functions-have-names": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.1.tgz", + "integrity": "sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA==", "dev": true }, - "flow-bin": { - "version": "0.105.2", - "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.105.2.tgz", - "integrity": "sha512-VCHt0SCjFPviv/Ze/W7AgkcE0uH4TocypSFA8wR3ZH1P7BSjny4l3uhHyOjzU3Qo1i0jO4NyaU6q3Y5IaQ6xng==", + "fuse.js": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.6.1.tgz", + "integrity": "sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==", "dev": true }, - "flow-typed": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/flow-typed/-/flow-typed-2.6.2.tgz", - "integrity": "sha512-brTh8SukLidVpR1u8hSR3OcZSvLtptpwLEGgEhK/qBhWCB7zxPZmnmChYi40JQH6vB448ck380+qbkDo3fJ6qA==", + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-contrast-ratio": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/get-contrast-ratio/-/get-contrast-ratio-0.2.1.tgz", + "integrity": "sha512-lNIpmDIoxlVJsEQ5G/XCxH2YiiXH0ukOZ0ASvPp9ku2f+2AOYG5OXQ9cLgc9p3lNom5gy8JLkfSzi8fZN9LdKg==", + "requires": { + "get-relative-luminance": "0.3.1" + } + }, + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", "dev": true, "requires": { - "@babel/polyfill": "^7.0.0", - "@octokit/rest": "^16.33.1", - "colors": "^1.3.2", - "flowgen": "^1.9.0", - "fs-extra": "^7.0.0", - "glob": "^7.1.3", - "got": "^8.3.2", - "md5": "^2.2.1", - "mkdirp": "^0.5.1", - "prettier": "^1.18.2", - "rimraf": "^2.6.2", - "semver": "^5.5.1", - "table": "^5.0.2", - "through": "^2.3.8", - "unzipper": "^0.9.3", - "which": "^1.3.1", - "yargs": "^12.0.2" + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", "dev": true }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "locate-path": "^3.0.0" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "invert-kv": "^2.0.0" + "repeating": "^2.0.0" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "error-ex": "^1.2.0" } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "p-limit": "^2.0.0" + "pinkie-promise": "^2.0.0" } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "glob": "^7.1.3" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } - } - } - }, - "flowgen": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/flowgen/-/flowgen-1.10.0.tgz", - "integrity": "sha512-3lsoaa1vxGXhnkHuoE4mLPJi/klvpR3ID8R9CFJ/GBNi+cxJXecWQaUPrWMdNI5tGs8Y+7wrIZaCVFKFLQiGOg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/highlight": "^7.0.0", - "commander": "^2.11.0", - "lodash": "^4.17.4", - "paralleljs": "^0.2.1", - "prettier": "^1.16.4", - "shelljs": "^0.8.3", - "typescript": "^3.4", - "typescript-compiler": "^1.4.1-2" - } - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "focus-lock": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.6.6.tgz", - "integrity": "sha512-Dx69IXGCq1qsUExWuG+5wkiMqVM/zGx/reXSJSLogECwp3x6KeNQZ+NAetgxEFpnC41rD8U3+jRCW68+LNzdtw==", - "dev": true - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dev": true, - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "ms": "2.0.0" + "is-utf8": "^0.2.0" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "fork-ts-checker-webpack-plugin": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz", - "integrity": "sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.22.0", - "chalk": "^2.4.1", - "chokidar": "^2.0.4", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true } } }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "get-relative-luminance": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/get-relative-luminance/-/get-relative-luminance-0.3.1.tgz", + "integrity": "sha512-nLEJhDAPC4anQlFhBxt8lHRwxs5OvOxmN0mHCxOCFDtzy0x5cXTMKNKUycpulsAw1zNOtz6GIRcIaVMcUUcU7Q==", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "parse-color": "1.0.0" } }, - "format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=", - "dev": true - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", - "dev": true, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "requires": { - "null-check": "^1.0.0" + "pump": "^3.0.0" } }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "minipass": "^2.6.0" + "assert-plus": "^1.0.0" } }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "optional": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "optional": true, + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "locate-path": "^2.0.0" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "optional": true, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, - "chownr": { - "version": "1.1.3", - "resolved": "", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "optional": true - }, - "debug": { - "version": "3.2.6", - "resolved": "", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "optional": true, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "requires": { - "ms": "^2.1.1" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "optional": true, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, "requires": { - "minipass": "^2.6.0" + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "optional": true + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true }, - "gauge": { - "version": "2.7.4", - "resolved": "", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "optional": true, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "p-try": "^1.0.0" } }, - "glob": { - "version": "7.1.6", - "resolved": "", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "optional": true, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, "requires": { - "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" + "p-limit": "^1.1.0" } }, - "has-unicode": { - "version": "2.0.1", - "resolved": "", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "optional": true + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "optional": true, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "pify": "^3.0.0" } }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "optional": true, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, "requires": { - "minimatch": "^3.0.4" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, - "inflight": { - "version": "1.0.6", - "resolved": "", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "optional": true, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" } - }, - "inherits": { - "version": "2.0.4", - "resolved": "", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "optional": true - }, - "ini": { - "version": "1.3.5", - "resolved": "", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "optional": true, + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "git-semver-tags": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.1.tgz", + "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==", + "dev": true, + "requires": { + "meow": "^5.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "is-glob": "^2.0.0" } }, - "isarray": { + "is-extglob": { "version": "1.0.0", - "resolved": "", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "optional": true + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true }, - "minimatch": { - "version": "3.0.4", - "resolved": "", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "optional": true, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "is-extglob": "^1.0.0" } - }, - "minimist": { - "version": "0.0.8", - "resolved": "", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "optional": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "optional": true, + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "is-extglob": "^2.1.0" } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", + "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true }, - "minizlib": { - "version": "1.3.3", - "resolved": "", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "optional": true, - "requires": { - "minipass": "^2.9.0" - } + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, - "mkdirp": { - "version": "0.5.1", - "resolved": "", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "optional": true, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "dev": true, + "optional": true, + "requires": { + "delegate": "^3.1.2" + } + }, + "got": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-10.6.0.tgz", + "integrity": "sha512-3LIdJNTdCFbbJc+h/EH0V5lpNpbJ6Bfwykk21lcQvQsEcrzdi/ltCyQehFHLzJ/ka0UMH4Slg0hkYvAZN9qUDg==", + "dev": true, + "requires": { + "@sindresorhus/is": "^2.0.0", + "@szmarczak/http-timer": "^4.0.0", + "@types/cacheable-request": "^6.0.1", + "cacheable-lookup": "^2.0.0", + "cacheable-request": "^7.0.1", + "decompress-response": "^5.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^5.0.0", + "lowercase-keys": "^2.0.0", + "mimic-response": "^2.1.0", + "p-cancelable": "^2.0.0", + "p-event": "^4.0.0", + "responselike": "^2.0.0", + "to-readable-stream": "^2.0.0", + "type-fest": "^0.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, "requires": { - "minimist": "0.0.8" + "pump": "^3.0.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "optional": true + "type-fest": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", + "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handlebars": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", + "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, - "needle": { - "version": "2.4.0", - "resolved": "", - "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "uglify-js": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.7.tgz", + "integrity": "sha512-FeSU+hi7ULYy6mn8PKio/tXsdSXN35lm4KgV2asx00kzrLU9Pi3oAslcJT70Jdj7PHX29gGUPOT6+lXGBbemhA==", + "dev": true, "optional": true, "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "commander": "~2.20.3", + "source-map": "~0.6.1" } - }, - "node-pre-gyp": { - "version": "0.14.0", - "resolved": "", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "optional": true, + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "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.4.2" + "is-buffer": "^1.1.5" } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hast-util-parse-selector": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.4.tgz", + "integrity": "sha512-gW3sxfynIvZApL4L07wryYF4+C9VvH3AUi7LAnVXV4MneGEgwOByXvFo18BgmTWnm7oHAe874jKbIB1YhHSIzA==", + "dev": true + }, + "hastscript": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", + "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", + "dev": true, + "requires": { + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hermes-engine": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.2.1.tgz", + "integrity": "sha512-eNHUQHuadDMJARpaqvlCZoK/Nitpj6oywq3vQ3wCwEsww5morX34mW5PmKWQTO7aU0ck0hgulxR+EVDlXygGxQ==" + }, + "highlight.js": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", + "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-escaper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", + "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "dev": true + }, + "html-minifier-terser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.4.tgz", + "integrity": "sha512-fHwmKQ+GzhlqdxEtwrqLT7MSuheiA+rif5/dZgbz3GjoMXJzcRzy1L9NXoiiyxrnap+q5guSiv8Tz5lrh9g42g==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + } + } + }, + "html-to-react": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/html-to-react/-/html-to-react-1.4.2.tgz", + "integrity": "sha512-TdTfxd95sRCo6QL8admCkE7mvNNrXtGoVr1dyS+7uvc8XCqAymnf/6ckclvnVbQNUo2Nh21VPwtfEHd0khiV7g==", + "requires": { + "domhandler": "^3.0", + "htmlparser2": "^4.0", + "lodash.camelcase": "^4.3.0", + "ramda": "^0.26" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" }, - "nopt": { - "version": "4.0.1", - "resolved": "", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "optional": true, + "domhandler": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.0.0.tgz", + "integrity": "sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==", "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "domelementtype": "^2.0.1" } }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "optional": true, + "domutils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.0.0.tgz", + "integrity": "sha512-n5SelJ1axbO636c2yUtOGia/IcJtVtlhQbFiVDBZHKV5ReJO1ViX7sFEemtuyoAnBxk5meNSYgA8V4s0271efg==", "requires": { - "npm-normalize-package-bin": "^1.0.1" + "dom-serializer": "^0.2.1", + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0" } }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "optional": true + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" }, - "npm-packlist": { - "version": "1.4.7", - "resolved": "", - "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", - "optional": true, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" } }, - "npmlog": { - "version": "4.1.2", - "resolved": "", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "optional": true, + "ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + } + } + }, + "html-webpack-plugin": { + "version": "4.0.0-beta.14", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.14.tgz", + "integrity": "sha512-gdThA8oCH7PbHMbezNW5LD+hjxXTzwhfi4XFDKKo5Gs0BR1IhVChEZN1ub4YEKQBmOYasdnCGGPEOFggdm9hNA==", + "dev": true, + "requires": { + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "optional": true, + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "hubfs.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hubfs.js/-/hubfs.js-1.0.0.tgz", + "integrity": "sha1-i3UIaIQ0tQ2H1uoc0anJODwLJio=", + "dev": true, + "requires": { + "async": "^0.9.0", + "octokat": "^0.4.9", + "xtend": "^4.0.0" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "husky": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.3.tgz", + "integrity": "sha512-VxTsSTRwYveKXN4SaH1/FefRJYCtx+wx04sSVcOpD7N2zjoHxa+cEJ07Qg5NmV3HAK+IRKOyNVpi2YBIVccIfQ==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.5.1", + "cosmiconfig": "^6.0.0", + "find-versions": "^3.2.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^4.2.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, "requires": { - "wrappy": "1" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "optional": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "optional": true, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "optional": true - }, - "process-nextick-args": { + "color-convert": { "version": "2.0.1", - "resolved": "", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "optional": true + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } }, - "rc": { - "version": "1.2.8", - "resolved": "", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "optional": true, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "optional": true - } + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "optional": true, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "rimraf": { - "version": "2.7.1", - "resolved": "", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "optional": true, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, "requires": { - "glob": "^7.1.3" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": "", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "optional": true + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true }, - "semver": { - "version": "5.7.1", - "resolved": "", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "optional": true + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "optional": true + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true }, - "signal-exit": { - "version": "3.0.2", - "resolved": "", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "optional": true + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true }, - "string-width": { - "version": "1.0.2", - "resolved": "", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "optional": true, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "has-flag": "^4.0.0" + } + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, + "immer": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", + "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "string_decoder": { - "version": "1.1.1", - "resolved": "", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "safe-buffer": "~5.1.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "optional": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + } + }, + "interpret": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.0.0.tgz", + "integrity": "sha512-e0/LknJ8wpMMhTiWcjivB+ESwIuvHnBSlBbmP/pSb8CQJldoj1p2qv7xGZ/+BtbTziYRFSz8OsvdbiX45LtYQA==", + "dev": true + }, + "intl-format-cache": { + "version": "4.2.22", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.2.22.tgz", + "integrity": "sha512-LFa7/3bUN5v6/QqOkcjSryPwffjnX+YiLgYQa9QJqNiHJfFgAnr0ssM/davI1FhgoW398SR36HHhm1X2Poq6NQ==" + }, + "intl-messageformat": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-8.2.3.tgz", + "integrity": "sha512-hY+T2KH7sEkhMFMZQ8bi7bMlJLEkHBPzFroHixOMQB8YyDhpRp4QK37FrttWfs5ExeIcOMIhzHwRjCvPC82uiQ==", + "requires": { + "intl-format-cache": "^4.2.22", + "intl-messageformat-parser": "^4.1.1" + } + }, + "intl-messageformat-parser": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-4.1.1.tgz", + "integrity": "sha512-RDmhjncV9VOKZ5nkoeeTxVy6G2kV5ZZNtewT89vj7vkr5NAPjw8/q6xYjUxdLnxNbQPcwno6zTD6j9VC0PW+Ag==", + "requires": { + "@formatjs/intl-unified-numberformat": "^3.3.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "dev": true + }, + "is-dom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz", + "integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==", + "dev": true, + "requires": { + "is-object": "^1.0.1", + "is-window": "^1.0.2" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + }, + "is-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", + "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", + "dev": true + }, + "is-nil": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-nil/-/is-nil-1.0.1.tgz", + "integrity": "sha1-LauingtYUGOHXntTnQcfWxWTeWk=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "ansi-regex": "^2.0.0" + "is-buffer": "^1.1.5" } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "optional": true - }, - "tar": { - "version": "4.4.13", - "resolved": "", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "optional": true, + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "dev": true + }, + "is-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", + "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + }, + "is-window": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz", + "integrity": "sha1-LIlspT25feRdPDMTOmXYyfVjSA0=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "iserror": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", + "integrity": "sha1-vVNFH+L2aLnyQCwZZnh6qix8C/U=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } + } + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz", + "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@babel/parser": "^7.7.5", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "optional": true, + "make-dir": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", + "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "dev": true, "requires": { - "string-width": "^1.0.2 || 2" + "semver": "^6.0.0" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "optional": true + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, - "yallist": { - "version": "3.1.1", - "resolved": "", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "optional": true + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.2.tgz", - "integrity": "sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg==", + "istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-2osTcC8zcOSUkImzN2EWQta3Vdi4WjjKw99P2yWx5mLnigAM0Rd5uYFn1cf2i/Ois45GkNjaoTqc5CxgMSX80A==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "functions-have-names": "^1.2.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "functional-red-black-tree": { + "iterate-iterator": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "functions-have-names": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.1.tgz", - "integrity": "sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA==", - "dev": true - }, - "fuse.js": { - "version": "3.4.6", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.6.tgz", - "integrity": "sha512-H6aJY4UpLFwxj1+5nAvufom5b2BT2v45P1MkPvdGIK8fWjQx/7o6tTT1+ALV0yawQvbmvCF0ufl2et8eJ7v7Cg==", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", + "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==", "dev": true }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-contrast-ratio": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/get-contrast-ratio/-/get-contrast-ratio-0.2.1.tgz", - "integrity": "sha512-lNIpmDIoxlVJsEQ5G/XCxH2YiiXH0ukOZ0ASvPp9ku2f+2AOYG5OXQ9cLgc9p3lNom5gy8JLkfSzi8fZN9LdKg==", + "iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "dev": true, "requires": { - "get-relative-luminance": "0.3.1" + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" } }, - "get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "jest": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.1.0.tgz", + "integrity": "sha512-FV6jEruneBhokkt9MQk0WUFoNTwnF76CLXtwNMfsc0um0TlB/LG2yxUd0KqaFjEJ9laQmVWQWS0sG/t2GsuI0w==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" + "@jest/core": "^25.1.0", + "import-local": "^3.0.2", + "jest-cli": "^25.1.0" }, "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", "dev": true, "requires": { - "repeating": "^2.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "@types/yargs-parser": "*" } }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "jest-cli": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.1.0.tgz", + "integrity": "sha512-p+aOfczzzKdo3AsLJlhs8J5EW6ffVidfSZZxXedJ0mHPBOln1DccqFmGCoO8JWd4xRycfmwy1eoQkMsF8oekPg==", "dev": true, "requires": { - "error-ex": "^1.2.0" + "@jest/core": "^25.1.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.1.0", + "jest-util": "^25.1.0", + "jest-validate": "^25.1.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^15.0.0" } }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" } }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "jest-validate": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.1.0.tgz", + "integrity": "sha512-kGbZq1f02/zVO2+t1KQGSVoCTERc5XeObLwITqC6BTRH3Adv7NZdYqCpKIZLUgpLXf2yISzQ465qOZpul8abXA==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "@jest/types": "^25.1.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.1.0", + "leven": "^3.1.0", + "pretty-format": "^25.1.0" } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "minimist": "^1.2.5" } }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "ansi-regex": "^5.0.0" } }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "has-flag": "^4.0.0" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - } - } - }, - "get-relative-luminance": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/get-relative-luminance/-/get-relative-luminance-0.3.1.tgz", - "integrity": "sha512-nLEJhDAPC4anQlFhBxt8lHRwxs5OvOxmN0mHCxOCFDtzy0x5cXTMKNKUycpulsAw1zNOtz6GIRcIaVMcUUcU7Q==", - "requires": { - "parse-color": "1.0.0" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-raw-commits": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", - "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", - "dev": true, - "requires": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, - "load-json-file": { + "y18n": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" } }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "yargs-parser": { + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.1.tgz", + "integrity": "sha512-KRHEsOM16IX7XuLnMOqImcPNbLVXMNHYAoFc3BKR8Ortl5gzDbtXvvEoGx9imk5E+X1VeNKNlcHr8B8vi+7ipA==", "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + } + } + }, + "jest-changed-files": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.1.0.tgz", + "integrity": "sha512-bdL1aHjIVy3HaBO3eEQeemGttsq1BDlHgWcOjEOIAcga7OOEGWHD2WSu8HhL7I1F0mFFyci8VKU4tRNk+qtwDA==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "execa": "^3.2.0", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", "dev": true, "requires": { - "p-try": "^1.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "@types/yargs-parser": "*" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "pify": "^3.0.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { + "chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "color-name": "~1.1.4" } - } - } - }, - "git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", - "dev": true, - "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "git-semver-tags": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.1.tgz", - "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==", - "dev": true, - "requires": { - "meow": "^5.0.0", - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true - } - } - }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", - "dev": true, - "requires": { - "ini": "^1.3.2" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + }, + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", "dev": true, "requires": { - "is-glob": "^2.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "pump": "^3.0.0" } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalthis": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", - "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "pify": { + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, - "good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "dev": true, - "optional": true, - "requires": { - "delegate": "^3.1.2" - } - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "jest-config": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.1.0.tgz", + "integrity": "sha512-tLmsg4SZ5H7tuhBC5bOja0HEblM0coS3Wy5LTCb2C8ZV6eWLewHyK+3qSq9Bi29zmWQ7ojdCd3pxpx4l4d2uGw==", "dev": true, "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.1.0", + "@jest/types": "^25.1.0", + "babel-jest": "^25.1.0", + "chalk": "^3.0.0", + "glob": "^7.1.1", + "jest-environment-jsdom": "^25.1.0", + "jest-environment-node": "^25.1.0", + "jest-get-type": "^25.1.0", + "jest-jasmine2": "^25.1.0", + "jest-regex-util": "^25.1.0", + "jest-resolve": "^25.1.0", + "jest-util": "^25.1.0", + "jest-validate": "^25.1.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.1.0", + "realpath-native": "^1.1.0" }, "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "pify": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" - }, - "gud": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", - "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==", - "dev": true - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - } - }, - "hammerjs": { - "version": "git+https://github.com/naver/hammer.js.git#54bc698b25edd6e1b76ca975ebaced5ce0467d51", - "from": "git+https://github.com/naver/hammer.js.git", - "requires": { - "@types/hammerjs": "^2.0.36" - } - }, - "handlebars": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", - "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "jest-validate": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.1.0.tgz", + "integrity": "sha512-kGbZq1f02/zVO2+t1KQGSVoCTERc5XeObLwITqC6BTRH3Adv7NZdYqCpKIZLUgpLXf2yISzQ465qOZpul8abXA==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.1.0", + "leven": "^3.1.0", + "pretty-format": "^25.1.0" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "uglify-js": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.7.tgz", - "integrity": "sha512-FeSU+hi7ULYy6mn8PKio/tXsdSXN35lm4KgV2asx00kzrLU9Pi3oAslcJT70Jdj7PHX29gGUPOT6+lXGBbemhA==", + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, - "optional": true, "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" + "has-flag": "^4.0.0" } - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-number": "^7.0.0" } } } }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hast-util-parse-selector": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.3.tgz", - "integrity": "sha512-nxbeqjQNxsvo/uYYAw9kij6td05YVUlf1qti09rVfbWSLT5H6wo3c+USIwX6nzXWk5kFZzXnEqO82856r0aM2Q==", - "dev": true - }, - "hastscript": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.1.tgz", - "integrity": "sha512-xHo1Hkcqd0LlWNuDL3/BxwhgAGp3d7uEvCMgCTrBY+zsOooPPH+8KAvW8PCgl+GB8H3H44nfSaF0A4BQ+4xlYg==", - "dev": true, - "requires": { - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hermes-engine": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.2.1.tgz", - "integrity": "sha512-eNHUQHuadDMJARpaqvlCZoK/Nitpj6oywq3vQ3wCwEsww5morX34mW5PmKWQTO7aU0ck0hgulxR+EVDlXygGxQ==" - }, - "highlight.js": { - "version": "9.13.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", - "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-escaper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", - "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", - "dev": true - }, - "html-minifier-terser": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.0.3.tgz", - "integrity": "sha512-It4No3H1V3Dhd/O0MePFdo0oX/M6u6YZTMw4My/010mT6vxdbqge7+0RoxGAmeSbKok6gjYZoP0p4rpZ2+J2yw==", + "jest-diff": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.1.0.tgz", + "integrity": "sha512-nepXgajT+h017APJTreSieh4zCqnSHEJ1iT8HDlewu630lSJ4Kjjr9KNzm+kzGwwcpsDE6Snx1GJGzzsefaEHw==", "dev": true, "requires": { - "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" + "chalk": "^3.0.0", + "diff-sequences": "^25.1.0", + "jest-get-type": "^25.1.0", + "pretty-format": "^25.1.0" }, "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true - } - } - }, - "html-to-react": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/html-to-react/-/html-to-react-1.4.2.tgz", - "integrity": "sha512-TdTfxd95sRCo6QL8admCkE7mvNNrXtGoVr1dyS+7uvc8XCqAymnf/6ckclvnVbQNUo2Nh21VPwtfEHd0khiV7g==", - "requires": { - "domhandler": "^3.0", - "htmlparser2": "^4.0", - "lodash.camelcase": "^4.3.0", - "ramda": "^0.26" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" }, - "domhandler": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.0.0.tgz", - "integrity": "sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, "requires": { - "domelementtype": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "domutils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.0.0.tgz", - "integrity": "sha512-n5SelJ1axbO636c2yUtOGia/IcJtVtlhQbFiVDBZHKV5ReJO1ViX7sFEemtuyoAnBxk5meNSYgA8V4s0271efg==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { - "dom-serializer": "^0.2.1", - "domelementtype": "^2.0.1", - "domhandler": "^3.0.0" + "color-name": "~1.1.4" } }, - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "htmlparser2": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", - "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", + "dev": true, "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^3.0.0", - "domutils": "^2.0.0", - "entities": "^2.0.0" + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" } }, - "ramda": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", - "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" - } - } - }, - "html-webpack-plugin": { - "version": "4.0.0-beta.11", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz", - "integrity": "sha512-4Xzepf0qWxf8CGg7/WQM5qBB2Lc/NFI7MhU59eUDTkuQp3skZczH4UA1d6oQyDEIoMDgERVhRyTdtUPZ5s5HBg==", - "dev": true, - "requires": { - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.15", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "has-flag": "^4.0.0" } } } }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", - "dev": true - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", "dev": true }, - "hubfs.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hubfs.js/-/hubfs.js-1.0.0.tgz", - "integrity": "sha1-i3UIaIQ0tQ2H1uoc0anJODwLJio=", + "jest-each": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.1.0.tgz", + "integrity": "sha512-R9EL8xWzoPySJ5wa0DXFTj7NrzKpRD40Jy+zQDp3Qr/2QmevJgkN9GqioCGtAJ2bW9P/MQRznQHQQhoeAyra7A==", "dev": true, "requires": { - "async": "^0.9.0", - "octokat": "^0.4.9", - "xtend": "^4.0.0" + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.1.0", + "jest-util": "^25.1.0", + "pretty-format": "^25.1.0" }, "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "husky": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz", - "integrity": "sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==", + "jest-environment-jsdom": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.1.0.tgz", + "integrity": "sha512-ILb4wdrwPAOHX6W82GGDUiaXSSOE274ciuov0lztOIymTChKFtC02ddyicRRCdZlB5YSrv3vzr1Z5xjpEe1OHQ==", "dev": true, "requires": { - "chalk": "^2.4.2", - "ci-info": "^2.0.0", - "cosmiconfig": "^5.2.1", - "execa": "^1.0.0", - "get-stdin": "^7.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^4.2.0", - "please-upgrade-node": "^3.2.0", - "read-pkg": "^5.2.0", - "run-node": "^1.0.0", - "slash": "^3.0.0" + "@jest/environment": "^25.1.0", + "@jest/fake-timers": "^25.1.0", + "@jest/types": "^25.1.0", + "jest-mock": "^25.1.0", + "jest-util": "^25.1.0", + "jsdom": "^15.1.1" }, "dependencies": { - "get-stdin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", - "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", - "dev": true + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/fake-timers": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.1.0.tgz", + "integrity": "sha512-Eu3dysBzSAO1lD7cylZd/CVKdZZ1/43SF35iYBNV1Lvvn2Undp3Grwsv8PrzvbLhqwRzDd4zxrY4gsiHc+wygQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-mock": "^25.1.0", + "jest-util": "^25.1.0", + "lolex": "^5.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } }, - "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" } }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", "dev": true, "requires": { - "find-up": "^4.0.0" + "@types/yargs-parser": "*" } }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "slash": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true - } - } - }, - "hyphenate-style-name": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", - "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", - "dev": true - }, - "image-size": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", - "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" - }, - "immer": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", - "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inline-style-prefixer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-5.1.1.tgz", - "integrity": "sha512-l2zxmdGF/QZNfR3b1hnPr0pkTZUSYYOCCO9zz/AAtaw/LNi1PpjzwumMIz+WKmVhqnWpDdaoqan7yOZM9u2ELQ==", - "dev": true, - "requires": { - "css-in-js-utils": "^2.0.0" - } - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.1.0.tgz", + "integrity": "sha512-28/u0sqS+42vIfcd1mlcg4ZVDmSUYuNvImP4X2lX5hRMLW+CN0BeiKVD4p+ujKKbSPKd3rg/zuhCF+QBLJ4vag==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0" + } + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "has-flag": "^4.0.0" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "is-number": "^7.0.0" } } } }, - "internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", - "dev": true, - "requires": { - "es-abstract": "^1.17.0-next.1", - "has": "^1.0.3", - "side-channel": "^1.0.2" - } - }, - "interpret": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.0.0.tgz", - "integrity": "sha512-e0/LknJ8wpMMhTiWcjivB+ESwIuvHnBSlBbmP/pSb8CQJldoj1p2qv7xGZ/+BtbTziYRFSz8OsvdbiX45LtYQA==", - "dev": true - }, - "intl-format-cache": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.2.21.tgz", - "integrity": "sha512-6pZlBdqTRUuuwRWywPItHY1JQwzQxWcpBHv6w4M8T6bGzAsiL/QmI+XsdOhsqJLaL4ZmTATn1kIkNlMk4VzSLQ==" - }, - "intl-locales-supported": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/intl-locales-supported/-/intl-locales-supported-1.8.4.tgz", - "integrity": "sha512-wO0JhDqhshhkq8Pa9CLcstqd1aCXjfMgfMzjD6mDreS3mTSDbjGiMU+07O8BdJGxed7Q0Wf3TFVjGq0W3Y0n1w==" - }, - "intl-messageformat": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-7.8.4.tgz", - "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", - "requires": { - "intl-format-cache": "^4.2.21", - "intl-messageformat-parser": "^3.6.4" - } - }, - "intl-messageformat-parser": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", - "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", - "requires": { - "@formatjs/intl-unified-numberformat": "^3.2.0" - } - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "jest-environment-node": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.1.0.tgz", + "integrity": "sha512-U9kFWTtAPvhgYY5upnH9rq8qZkj6mYLup5l1caAjjx9uNnkLHN2xgZy5mo4SyLdmrh/EtB9UPpKFShvfQHD0Iw==", "dev": true, "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "@jest/environment": "^25.1.0", + "@jest/fake-timers": "^25.1.0", + "@jest/types": "^25.1.0", + "jest-mock": "^25.1.0", + "jest-util": "^25.1.0" }, "dependencies": { - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/fake-timers": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.1.0.tgz", + "integrity": "sha512-Eu3dysBzSAO1lD7cylZd/CVKdZZ1/43SF35iYBNV1Lvvn2Undp3Grwsv8PrzvbLhqwRzDd4zxrY4gsiHc+wygQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-mock": "^25.1.0", + "jest-util": "^25.1.0", + "lolex": "^5.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true - } - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.1.0.tgz", + "integrity": "sha512-28/u0sqS+42vIfcd1mlcg4ZVDmSUYuNvImP4X2lX5hRMLW+CN0BeiKVD4p+ujKKbSPKd3rg/zuhCF+QBLJ4vag==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0" + } + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, "requires": { - "is-buffer": "^1.1.5" + "minimist": "^1.2.5" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" } } } }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" - }, - "is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "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" } }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "jest-jasmine2": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.1.0.tgz", + "integrity": "sha512-GdncRq7jJ7sNIQ+dnXvpKO2MyP6j3naNK41DTTjEAhLEdpImaDA9zSAZwDhijjSF/D7cf4O5fdyUApGBZleaEg==", "dev": true, "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.1.0", + "@jest/source-map": "^25.1.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.1.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.1.0", + "jest-matcher-utils": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-runtime": "^25.1.0", + "jest-snapshot": "^25.1.0", + "jest-util": "^25.1.0", + "pretty-format": "^25.1.0", + "throat": "^5.0.0" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, "requires": { - "is-buffer": "^1.1.5" + "minimist": "^1.2.5" + } + }, + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" } } } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" - }, - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true - }, - "is-dom": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz", - "integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==", - "dev": true, - "requires": { - "is-object": "^1.0.1", - "is-window": "^1.0.2" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" - }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "jest-leak-detector": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.1.0.tgz", + "integrity": "sha512-3xRI264dnhGaMHRvkFyEKpDeaRzcEBhyNrOG5oT8xPxOyUAblIAQnpiR3QXu4wDor47MDTiHbiFcbypdLcLW5w==", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } - }, - "is-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", - "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", - "dev": true - }, - "is-nil": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-nil/-/is-nil-1.0.1.tgz", - "integrity": "sha1-LauingtYUGOHXntTnQcfWxWTeWk=", - "dev": true - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" + "jest-get-type": "^25.1.0", + "pretty-format": "^25.1.0" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, "requires": { - "is-buffer": "^1.1.5" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" } - } - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "jest-matcher-utils": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.1.0.tgz", + "integrity": "sha512-KGOAFcSFbclXIFE7bS4C53iYobKI20ZWleAdAFun4W1Wz1Kkej8Ng6RRbhL8leaEvIOjGXhGf/a1JjO8bkxIWQ==", "dev": true, "requires": { - "has": "^1.0.3" + "chalk": "^3.0.0", + "jest-diff": "^25.1.0", + "jest-get-type": "^25.1.0", + "pretty-format": "^25.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "dev": true - }, - "is-set": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", - "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", "requires": { - "has-symbols": "^1.0.1" + "@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" } }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, + "jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", "requires": { - "text-extensions": "^1.0.0" + "@jest/types": "^24.9.0" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "jest-pnp-resolver": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", + "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", "dev": true }, - "is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" - }, - "is-window": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz", - "integrity": "sha1-LIlspT25feRdPDMTOmXYyfVjSA0=", + "jest-regex-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.1.0.tgz", + "integrity": "sha512-9lShaDmDpqwg+xAd73zHydKrBbbrIi08Kk9YryBEBybQFg/lBWR/2BDjjiSE7KIppM9C5+c03XiDaZ+m4Pgs1w==", "dev": true }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "iserror": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", - "integrity": "sha1-vVNFH+L2aLnyQCwZZnh6qix8C/U=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "jest-resolve": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.1.0.tgz", + "integrity": "sha512-XkBQaU1SRCHj2Evz2Lu4Czs+uIgJXWypfO57L7JYccmAXv4slXA6hzNblmcRmf7P3cQ1mE7fL3ABV6jAwk4foQ==", + "dev": true, "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "@jest/types": "^25.1.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" }, "dependencies": { - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "jest-resolve-dependencies": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.1.0.tgz", + "integrity": "sha512-Cu/Je38GSsccNy4I2vL12ZnBlD170x2Oh1devzuM9TLH5rrnLW1x51lN8kpZLYTvzx9j+77Y5pqBaTqfdzVzrw==", "dev": true, "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" + "@jest/types": "^25.1.0", + "jest-regex-util": "^25.1.0", + "jest-snapshot": "^25.1.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "jest-runner": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.1.0.tgz", + "integrity": "sha512-su3O5fy0ehwgt+e8Wy7A8CaxxAOCMzL4gUBftSs0Ip32S0epxyZPDov9Znvkl1nhVOJNf4UwAsnqfc3plfQH9w==", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "@jest/console": "^25.1.0", + "@jest/environment": "^25.1.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.3", + "jest-config": "^25.1.0", + "jest-docblock": "^25.1.0", + "jest-haste-map": "^25.1.0", + "jest-jasmine2": "^25.1.0", + "jest-leak-detector": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-resolve": "^25.1.0", + "jest-runtime": "^25.1.0", + "jest-util": "^25.1.0", + "jest-worker": "^25.1.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" }, "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-docblock": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.1.0.tgz", + "integrity": "sha512-370P/mh1wzoef6hUKiaMcsPtIapY25suP6JqM70V9RJvdKLrV4GaGbfUseUVk4FZJw4oTZ1qSCJNdrClKt5JQA==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-haste-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.1.0.tgz", + "integrity": "sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.3", + "jest-serializer": "^25.1.0", + "jest-util": "^25.1.0", + "jest-worker": "^25.1.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-serializer": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.1.0.tgz", + "integrity": "sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA==", + "dev": true + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "jest-worker": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "requires": { - "glob": "^7.1.3" + "minimist": "^1.2.5" } }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } } } }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0" - } - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "iterate-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", - "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==", - "dev": true - }, - "iterate-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", - "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", - "dev": true, - "requires": { - "es-get-iterator": "^1.0.2", - "iterate-iterator": "^1.0.1" - } - }, - "java-properties": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-0.2.10.tgz", - "integrity": "sha512-CpKJh9VRNhS+XqZtg1UMejETGEiqwCGDC/uwPEEQwc2nfdbSm73SIE29TplG2gLYuBOOTNDqxzG6A9NtEPLt0w==", - "dev": true - }, - "jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", - "dev": true, - "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" + "jest-runtime": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.1.0.tgz", + "integrity": "sha512-mpPYYEdbExKBIBB16ryF6FLZTc1Rbk9Nx0ryIpIMiDDkOeGa0jQOKVI/QeGvVGlunKKm62ywcioeFVzIbK03bA==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/environment": "^25.1.0", + "@jest/source-map": "^25.1.0", + "@jest/test-result": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.3", + "jest-config": "^25.1.0", + "jest-haste-map": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-mock": "^25.1.0", + "jest-regex-util": "^25.1.0", + "jest-resolve": "^25.1.0", + "jest-snapshot": "^25.1.0", + "jest-util": "^25.1.0", + "jest-validate": "^25.1.0", + "realpath-native": "^1.1.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.0.0" }, "dependencies": { + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "@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.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "color-name": "~1.1.4" } }, - "path-exists": { + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "dev": true, + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "jest-haste-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.1.0.tgz", + "integrity": "sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "@jest/types": "^25.1.0", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.3", + "jest-serializer": "^25.1.0", + "jest-util": "^25.1.0", + "jest-worker": "^25.1.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" } }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "jest-mock": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.1.0.tgz", + "integrity": "sha512-28/u0sqS+42vIfcd1mlcg4ZVDmSUYuNvImP4X2lX5hRMLW+CN0BeiKVD4p+ujKKbSPKd3rg/zuhCF+QBLJ4vag==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "@jest/types": "^25.1.0" } }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "jest-serializer": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.1.0.tgz", + "integrity": "sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA==", "dev": true }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" - } - }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.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.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.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" - } - }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, - "jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", - "dev": true, - "requires": { - "@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": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", - "dev": true, - "requires": { - "@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": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" - }, - "jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", - "requires": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.7", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "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" - } - }, - "jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.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.9.0", - "is-generator-fn": "^2.0.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": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", - "dev": true, - "requires": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "requires": { - "@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": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", - "requires": { - "@jest/types": "^24.9.0" - } - }, - "jest-pnp-resolver": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", - "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", - "dev": true - }, - "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "dev": true - }, - "jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", - "dev": true, - "requires": { - "@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-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" - } - }, - "jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@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.9.0", - "jest-docblock": "^24.3.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" - }, - "dependencies": { - "jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "jest-validate": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.1.0.tgz", + "integrity": "sha512-kGbZq1f02/zVO2+t1KQGSVoCTERc5XeObLwITqC6BTRH3Adv7NZdYqCpKIZLUgpLXf2yISzQ465qOZpul8abXA==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.1.0", + "leven": "^3.1.0", + "pretty-format": "^25.1.0" + } + }, + "jest-worker": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", + "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + } + }, + "yargs-parser": { + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.1.tgz", + "integrity": "sha512-KRHEsOM16IX7XuLnMOqImcPNbLVXMNHYAoFc3BKR8Ortl5gzDbtXvvEoGx9imk5E+X1VeNKNlcHr8B8vi+7ipA==", "dev": true, "requires": { - "detect-newline": "^2.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } }, - "jest-runtime": { + "jest-serializer": { "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==" + }, + "jest-snapshot": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.1.0.tgz", + "integrity": "sha512-xZ73dFYN8b/+X2hKLXz4VpBZGIAn7muD/DAg+pXtDzDGw3iIV10jM7WiHqhCcpDZfGiKEj7/2HXAEPtHTj0P2A==", "dev": true, "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@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.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.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": "^13.3.0" + "@babel/types": "^7.0.0", + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "expect": "^25.1.0", + "jest-diff": "^25.1.0", + "jest-get-type": "^25.1.0", + "jest-matcher-utils": "^25.1.0", + "jest-message-util": "^25.1.0", + "jest-resolve": "^25.1.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^25.1.0", + "semver": "^7.1.1" }, "dependencies": { + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "find-up": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "jest-get-type": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", + "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "dev": true + }, + "jest-message-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.1.0.tgz", + "integrity": "sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "minimist": "^1.2.5" } }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" } }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" + "has-flag": "^4.0.0" } }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "is-number": "^7.0.0" } } } }, - "jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==" - }, - "jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "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.9.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, "jest-util": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", @@ -13385,41 +18005,222 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "requires": { + "@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-watcher": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.1.0.tgz", + "integrity": "sha512-Q9eZ7pyaIr6xfU24OeTg4z1fUqBF/4MP6J801lyQfg7CsnZ/TCzAPvCfckKdL5dlBBEKBeHV0AdyjFZ5eWj4ig==", + "dev": true, + "requires": { + "@jest/test-result": "^25.1.0", + "@jest/types": "^25.1.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "string-length": "^3.1.0" + }, + "dependencies": { + "@jest/console": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.1.0.tgz", + "integrity": "sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==", + "dev": true, + "requires": { + "@jest/source-map": "^25.1.0", + "chalk": "^3.0.0", + "jest-util": "^25.1.0", + "slash": "^3.0.0" + } + }, + "@jest/source-map": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.1.0.tgz", + "integrity": "sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.3", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.1.0.tgz", + "integrity": "sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==", + "dev": true, + "requires": { + "@jest/console": "^25.1.0", + "@jest/transform": "^25.1.0", + "@jest/types": "^25.1.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-util": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.1.0.tgz", + "integrity": "sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==", + "dev": true, + "requires": { + "@jest/types": "^25.1.0", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, - "jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", - "requires": { - "@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-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", - "dev": true, - "requires": { - "@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": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", @@ -13474,47 +18275,61 @@ "integrity": "sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==" }, "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", "dev": true, "requires": { "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", "domexception": "^1.0.1", - "escodegen": "^1.9.1", + "escodegen": "^1.11.1", "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", + "tough-cookie": "^3.0.1", "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", "xml-name-validator": "^3.0.0" }, "dependencies": { - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "acorn": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "dev": true + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" } + }, + "ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", + "dev": true } } }, @@ -13524,15 +18339,9 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "json-fn": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-fn/-/json-fn-1.1.1.tgz", - "integrity": "sha1-QpPJGYpILWaX0zSm4yzQ0iESHoA=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, "json-parse-better-errors": { @@ -13579,6 +18388,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, "requires": { "minimist": "^1.2.0" }, @@ -13586,7 +18396,8 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true } } }, @@ -13631,12 +18442,12 @@ } }, "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.0.tgz", + "integrity": "sha512-U7ioE8AimvRVLfw4LffyOIRhL2xVgmE8T22L6i0BucSnBUyv4w+I7VN/zVZwRKHOI6ZRUcdMdWHQ8KSUvGpEog==", "dev": true, "requires": { - "json-buffer": "3.0.0" + "json-buffer": "3.0.1" } }, "kind-of": { @@ -13668,18 +18479,9 @@ "dev": true }, "ky": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-0.16.2.tgz", - "integrity": "sha512-4/Xcb0hqeueNX9sa+G2jREiam9yb+I2Y3p3J42lIeitAenHXUZwpyejEgeQcQsaGl+hbuA0s7c3u+nlcIYFtog==" - }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "dev": true, - "requires": { - "package-json": "^4.0.0" - } + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.19.0.tgz", + "integrity": "sha512-RkDgbg5ahMv1MjHfJI2WJA2+Qbxq0iNSLWhreYiCHeHry9Q12sedCnP5KYGPt7sydDvsyH+8UcG6Kanq5mpsyw==" }, "lazy-cache": { "version": "1.0.4", @@ -13716,12 +18518,6 @@ "invert-kv": "^1.0.0" } }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13791,13 +18587,13 @@ "dev": true }, "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", - "emojis-list": "^2.0.0", + "emojis-list": "^3.0.0", "json5": "^1.0.1" }, "dependencies": { @@ -13811,9 +18607,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -13917,7 +18713,8 @@ "lodash.unescape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", - "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", + "dev": true }, "lodash.uniq": { "version": "4.5.0", @@ -14078,6 +18875,15 @@ } } }, + "lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, "longest-streak": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", @@ -14091,21 +18897,6 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "lottie-ios": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/lottie-ios/-/lottie-ios-3.1.6.tgz", - "integrity": "sha512-pnwkPpM3e6CiHY/Mc1eXlDEfvv/CW9jx/TNsX/JWABVF0RiyEidQd8uXBiu5GUxY813pZJN53+k+/cOiAufE5A==" - }, - "lottie-react-native": { - "version": "github:NTag/lottie-react-native#2d639f79a924696b481b4199ff1bcb2915a8b33e", - "from": "github:NTag/lottie-react-native#reanimated-support", - "requires": { - "invariant": "^2.2.2", - "lottie-ios": "^3.1.3", - "prop-types": "^15.5.10", - "react-native-safe-modules": "^1.0.0" - } - }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -14117,15 +18908,18 @@ } }, "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz", + "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==", + "dev": true, + "requires": { + "tslib": "^1.10.0" + } }, "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true }, "lowlight": { @@ -14160,15 +18954,6 @@ "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==", "dev": true }, - "magic-string": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.6.tgz", - "integrity": "sha512-3a5LOMSGoCTH5rbqobC2HuDNRtE2glHZ8J7pK+QZYppyWA36yuNpsX994rIY2nCuyP7CZYy7lQq/X2jygiZ89g==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -14385,11 +19170,6 @@ "mimic-fn": "^1.0.0" } }, - "memoize-one": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", - "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==" - }, "memoizerific": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", @@ -14729,6 +19509,19 @@ "mime-db": "~1.23.0" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -14790,6 +19583,19 @@ "rimraf": "^2.5.4" }, "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -14860,9 +19666,9 @@ } }, "metro-react-native-babel-preset": { - "version": "0.57.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.57.0.tgz", - "integrity": "sha512-pvLh1QOwdxsjgYE2a+4aTKs3LSF3+t4jscxHtkND6wsJnKVVspLt8FkDaORa6zr3Fq12tVpEt5NJMdgtWqBpaA==", + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz", + "integrity": "sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg==", "dev": true, "requires": { "@babel/plugin-proposal-class-properties": "^7.0.0", @@ -14874,6 +19680,8 @@ "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/plugin-syntax-export-default-from": "^7.0.0", "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", "@babel/plugin-transform-arrow-functions": "^7.0.0", "@babel/plugin-transform-block-scoping": "^7.0.0", "@babel/plugin-transform-classes": "^7.0.0", @@ -14889,6 +19697,7 @@ "@babel/plugin-transform-parameters": "^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/plugin-transform-regenerator": "^7.0.0", "@babel/plugin-transform-runtime": "^7.0.0", @@ -14896,7 +19705,7 @@ "@babel/plugin-transform-spread": "^7.0.0", "@babel/plugin-transform-sticky-regex": "^7.0.0", "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", "@babel/plugin-transform-unicode-regex": "^7.0.0", "@babel/template": "^7.0.0", "react-refresh": "^0.4.0" @@ -15052,9 +19861,9 @@ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", "dev": true }, "min-document": { @@ -15073,9 +19882,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz", + "integrity": "sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ==", "dev": true, "requires": { "loader-utils": "^1.1.0", @@ -15107,7 +19916,8 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "minimist-options": { "version": "3.0.2", @@ -15270,12 +20080,10 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz", + "integrity": "sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==", + "dev": true }, "modify-values": { "version": "1.0.1", @@ -15283,22 +20091,16 @@ "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, - "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", - "dev": true - }, "morgan": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", - "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", "requires": { - "basic-auth": "~2.0.0", + "basic-auth": "~2.0.1", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "~2.0.0", "on-finished": "~2.3.0", - "on-headers": "~1.0.1" + "on-headers": "~1.0.2" }, "dependencies": { "debug": { @@ -15309,6 +20111,11 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -15330,6 +20137,21 @@ "run-queue": "^1.0.3" }, "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -15448,20 +20270,15 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", + "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==", "dev": true, "requires": { - "lower-case": "^1.1.1" + "lower-case": "^2.0.1", + "tslib": "^1.10.0" } }, - "node-ask": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/node-ask/-/node-ask-1.0.1.tgz", - "integrity": "sha1-yqoQdsxY4DZCZ6CQPj6t+sFYOWs=", - "dev": true - }, "node-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -15526,17 +20343,6 @@ } } }, - "node-loggly-bulk": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/node-loggly-bulk/-/node-loggly-bulk-2.2.4.tgz", - "integrity": "sha512-DfhtsDfkSBU6Dp1zvK+H1MgHRcA2yb4z07ctyA6uo+bNwKtv1exhohN910zcWNkdSYq1TImCq+O+3bOTuYHvmQ==", - "dev": true, - "requires": { - "json-stringify-safe": "5.0.x", - "moment": "^2.18.1", - "request": ">=2.76.0 <3.0.0" - } - }, "node-modules-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", @@ -15562,9 +20368,9 @@ } }, "node-releases": { - "version": "1.1.48", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.48.tgz", - "integrity": "sha512-Hr8BbmUl1ujAST0K0snItzEA5zkJTQup8VNTKNfT6Zw8vTJkIiagUPNfxHmgDOyfFYNfKAul40sD0UEYTvwebw==", + "version": "1.1.52", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz", + "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==", "dev": true, "requires": { "semver": "^6.3.0" @@ -15596,6 +20402,19 @@ "which": "1" }, "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -15620,6 +20439,21 @@ "ncp": "^2.0.0", "nodejs-mobile-gyp": "^0.3.1", "xcode": "^2.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + } } }, "nopt": { @@ -15630,12 +20464,6 @@ "abbrev": "1" } }, - "normalize-css-color": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/normalize-css-color/-/normalize-css-color-1.0.2.tgz", - "integrity": "sha1-Apkel8zOxmI/5XOvu/Deah8+n40=", - "dev": true - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -15963,12 +20791,6 @@ "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", "dev": true }, - "openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=", - "dev": true - }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", @@ -16120,9 +20942,9 @@ } }, "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", + "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==", "dev": true }, "p-defer": { @@ -16131,12 +20953,18 @@ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" }, "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", + "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", + "dev": true + }, + "p-event": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.1.0.tgz", + "integrity": "sha512-4vAd06GCsgflX4wHN1JqrMzBh/8QZ4j+rzp0cd2scXRwuBEv+QR3wrVA5aLhWDLw4y2WgDKvzWF3CCLmVM1UgA==", "dev": true, "requires": { - "p-reduce": "^1.0.0" + "p-timeout": "^2.0.1" } }, "p-finally": { @@ -16174,12 +21002,6 @@ "aggregate-error": "^3.0.0" } }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, "p-timeout": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", @@ -16194,60 +21016,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "dev": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - } - } - }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -16272,12 +21040,13 @@ "dev": true }, "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.3.tgz", + "integrity": "sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA==", "dev": true, "requires": { - "no-case": "^2.2.0" + "dot-case": "^3.0.3", + "tslib": "^1.10.0" } }, "parent-module": { @@ -16365,9 +21134,9 @@ "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" }, "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", "dev": true }, "parseurl": { @@ -16375,15 +21144,25 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "pascal-case": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.1.tgz", + "integrity": "sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==", + "dev": true, + "requires": { + "no-case": "^3.0.3", + "tslib": "^1.10.0" + } + }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "patch-package": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.2.0.tgz", - "integrity": "sha512-HWlQflaBBMjLBfOWomfolF8aqsFDeNbSNro1JDUgYqnVvPM5OILJ9DQdwIRiKmGaOsmHvhkl1FYkvv1I9r2ZJw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.2.1.tgz", + "integrity": "sha512-dfCtQor63PPij6DDYtCzBRoO5nNAcMSg7Cmh+DLhR+s3t0OLQBdvFxJksZHBe1J2MjsSWDjTF4+oQKFbdkssIg==", "dev": true, "requires": { "@yarnpkg/lockfile": "^1.1.0", @@ -16397,14 +21176,13 @@ "rimraf": "^2.6.3", "semver": "^5.6.0", "slash": "^2.0.0", - "tmp": "^0.0.33", - "update-notifier": "^2.5.0" + "tmp": "^0.0.33" }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "rimraf": { @@ -16469,12 +21247,6 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -16552,38 +21324,11 @@ }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pino": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/pino/-/pino-4.10.2.tgz", - "integrity": "sha512-hNNDgOju2UvK4iKqXR3ZwEutoOujBRN9jfQgty/X4B3q1QOqpWqvmVn+GT/a20o8Jw5Wd7VkGJAdgFQg55a+mw==", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "chalk": "^2.3.0", - "fast-json-parse": "^1.0.0", - "fast-safe-stringify": "^1.2.1", - "flatstr": "^1.0.4", - "pump": "^1.0.3", - "quick-format-unescaped": "^1.1.1", - "split2": "^2.2.0" - }, - "dependencies": { - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "pinkie": "^2.0.0" } }, "pirates": { @@ -16635,57 +21380,42 @@ } }, "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "^3.0.0" }, "dependencies": { "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^3.0.0" } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "^2.0.0", + "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.0.0" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -16770,12 +21500,12 @@ } }, "polished": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/polished/-/polished-3.4.4.tgz", - "integrity": "sha512-x9PKeExyI9AhWrJP3Q57I1k7GInujjiVBJMPFmycj9hX1yCOo/X9eu9eZwxgOziiXge3WbFQ5XOmkzunOntBSA==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/polished/-/polished-3.5.0.tgz", + "integrity": "sha512-TujkqjczBuuG8ObaNeq+zCCu46tTdaWxqtMxCGTxsV5NYTr9pL08H1P0jgy1V4PXLWm2UlIj+icSEwAZv7I8TA==", "dev": true, "requires": { - "@babel/runtime": "^7.6.3" + "@babel/runtime": "^7.8.7" } }, "popper.js": { @@ -16790,9 +21520,9 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.26.tgz", - "integrity": "sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -16870,9 +21600,9 @@ } }, "postcss-modules-scope": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz", - "integrity": "sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", "dev": true, "requires": { "postcss": "^7.0.6", @@ -16901,9 +21631,9 @@ } }, "postcss-value-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", - "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz", + "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==", "dev": true }, "prelude-ls": { @@ -17122,16 +21852,6 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "progress-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-2.0.0.tgz", - "integrity": "sha1-+sY6Cz0R3qy7CWmrzJOyFLzhntU=", - "dev": true, - "requires": { - "speedometer": "~1.0.0", - "through2": "~2.0.3" - } - }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -17171,13 +21891,13 @@ } }, "prompts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", - "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", + "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", "dev": true, "requires": { "kleur": "^3.0.3", - "sisteransi": "^1.0.3" + "sisteransi": "^1.0.4" } }, "prop-types": { @@ -17200,13 +21920,13 @@ } }, "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", "dev": true, "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" + "ipaddr.js": "1.9.1" } }, "prr": { @@ -17300,7 +22020,8 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true }, "querystring-es3": { "version": "0.2.1", @@ -17313,15 +22034,6 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" }, - "quick-format-unescaped": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-1.1.2.tgz", - "integrity": "sha1-DKWB3jF0vs7yWsPC6JVjQjgdtpg=", - "dev": true, - "requires": { - "fast-safe-stringify": "^1.0.8" - } - }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -17492,44 +22204,30 @@ "schema-utils": "^2.0.1" }, "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "schema-utils": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", - "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", "dev": true, "requires": { - "ajv": "^6.10.2", + "ajv": "^6.12.0", "ajv-keywords": "^3.4.1" } } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - } - } - }, "react": { "version": "16.9.0", "resolved": "https://registry.npmjs.org/react/-/react-16.9.0.tgz", @@ -17574,32 +22272,6 @@ } } }, - "react-art": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/react-art/-/react-art-16.12.0.tgz", - "integrity": "sha512-Bsszw6UYZ4C6IbkcvPeEx5qerALTCkHrTbh1x/hF4MmP5Bm8bk1PRfvxSaxC4VZ5HgTHF9FUvHk9jIogXE82Uw==", - "dev": true, - "requires": { - "art": "^0.10.1", - "create-react-class": "^15.6.2", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.18.0" - }, - "dependencies": { - "scheduler": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", - "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - } - } - }, "react-clientside-effect": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.2.tgz", @@ -17693,6 +22365,12 @@ "debug": "^2.6.0" } }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -17740,6 +22418,26 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -17750,6 +22448,12 @@ "path-exists": "^3.0.0" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -17765,12 +22469,66 @@ "p-limit": "^2.0.0" } }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + } + } + }, "rxjs": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", @@ -17853,9 +22611,9 @@ } }, "react-docgen": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-5.2.0.tgz", - "integrity": "sha512-QzloLDy4JftSRoP0EPtTceYHEzKjDk+88bc2tvjTrIjmxznd5SS9V+vs8tUnfukPymmD8+a/aBZPfi+y+1a+Bg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-5.3.0.tgz", + "integrity": "sha512-hUrv69k6nxazOuOmdGeOpC/ldiKy7Qj/UFpxaQi0eDMrUFUTIPGtY5HJu7BggSmiyAMfREaESbtBL9UzdQ+hyg==", "dev": true, "requires": { "@babel/core": "^7.7.5", @@ -17950,9 +22708,9 @@ } }, "react-error-overlay": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.5.tgz", - "integrity": "sha512-+DMR2k5c6BqMDSMF8hLH0vYKtKTeikiFW+fj0LClN+XZg4N9b8QUAdHC62CGWNLTi/gnuuemNcNcTFrCvK1f+A==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz", + "integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==", "dev": true }, "react-fast-compare": { @@ -17998,35 +22756,32 @@ } }, "react-inspector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-4.0.0.tgz", - "integrity": "sha512-heh4THBeJg0HLYO/3VBAOaFPkdEHoTZq9VFgP4rOzGw/jyqdVd5spfXSl3LNB1fwrwaWef75Q1hCuwlY4GaKjQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-4.0.1.tgz", + "integrity": "sha512-xSiM6CE79JBqSj8Fzd9dWBHv57tLTH7OM57GP3VrE5crzVF3D5Khce9w1Xcw75OAbvrA0Mi2vBneR1OajKmXFg==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", + "@babel/runtime": "^7.6.3", "is-dom": "^1.0.9", - "prop-types": "^15.6.1", - "storybook-chromatic": "^2.2.2" + "prop-types": "^15.6.1" } }, "react-intl": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-3.12.0.tgz", - "integrity": "sha512-VQWkFYSKKoi85p3gOXgG80KkBImdBJXwJxssO9gqdelW/fuVnxQLXgYOKuOqWrUz5beXK+qBve6bTpblh1ep2g==", - "requires": { - "@formatjs/intl-displaynames": "^1.2.0", - "@formatjs/intl-listformat": "^1.3.7", - "@formatjs/intl-relativetimeformat": "^4.5.7", - "@formatjs/intl-unified-numberformat": "^3.0.4", - "@formatjs/intl-utils": "^2.0.4", - "@formatjs/macro": "^0.2.6", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-4.2.2.tgz", + "integrity": "sha512-mwKAkH9G+4GFlIDUNhPsDE8vYHlfsR4uOWRxgJ//Huv3J0M0kY+gbVhq+O8YGhhXbF3DQbdNI8kcbsE0FsbXtw==", + "requires": { + "@formatjs/intl-displaynames": "^1.2.2", + "@formatjs/intl-listformat": "^1.4.2", + "@formatjs/intl-relativetimeformat": "^4.5.10", + "@formatjs/intl-unified-numberformat": "^3.3.0", + "@formatjs/intl-utils": "^2.2.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/invariant": "^2.2.31", - "hoist-non-react-statics": "^3.3.1", - "intl-format-cache": "^4.2.19", - "intl-locales-supported": "^1.8.4", - "intl-messageformat": "^7.8.2", - "intl-messageformat-parser": "^3.6.2", + "hoist-non-react-statics": "^3.3.2", + "intl-format-cache": "^4.2.22", + "intl-messageformat": "^8.2.3", + "intl-messageformat-parser": "^4.1.1", "shallow-equal": "^1.2.1" } }, @@ -18092,10 +22847,32 @@ "whatwg-fetch": "^3.0.0" }, "dependencies": { + "@jest/types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz", + "integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, "@react-native-community/cli": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-3.0.4.tgz", - "integrity": "sha512-kt+ENtC+eRUSfWPbbpx3r7fAQDcFwgM03VW/lBdVAUjkNxffPFT2GGdK23CJSBOXTjRSiGuwhvwH4Z28PdrlRA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-3.2.1.tgz", + "integrity": "sha512-bZ/bfZ+9r1gQSxp6t7+00DcpC6vmbVYSvzUCFM/yo5k8bhsDdcy8aocscIaXXVGG+v9Edri/Q7hH9ks7L18/Rg==", "requires": { "@hapi/joi": "^15.0.3", "@react-native-community/cli-debugger-ui": "^3.0.0", @@ -18108,6 +22885,7 @@ "connect": "^3.6.5", "cosmiconfig": "^5.1.0", "deepmerge": "^3.2.0", + "didyoumean": "^1.2.1", "envinfo": "^7.1.0", "errorhandler": "^1.5.0", "execa": "^1.0.0", @@ -18128,6 +22906,7 @@ "open": "^6.2.0", "ora": "^3.4.0", "plist": "^3.0.0", + "pretty-format": "^25.1.0", "semver": "^6.3.0", "serve-static": "^1.13.1", "shell-quote": "1.6.1", @@ -18135,17 +22914,73 @@ "sudo-prompt": "^9.0.0", "wcwidth": "^1.0.1", "ws": "^1.1.0" + }, + "dependencies": { + "pretty-format": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz", + "integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==", + "requires": { + "@jest/types": "^25.1.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + } + } + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "requires": { + "@types/yargs-parser": "*" } }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } }, "semver": { "version": "6.3.0", @@ -18157,7 +22992,22 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" } } } @@ -18173,41 +23023,25 @@ "integrity": "sha512-yGWzeJNR1m0Cml6grVEnE/5/5dcKvDLmnubJkA/6Tt5P/40JAgrtjwEnC8NifhLIKZ1rEzbL/inIh/m7qkvEtg==" }, "react-native-fs": { - "version": "2.16.4", - "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.16.4.tgz", - "integrity": "sha512-xxd2nvoxubxc7dhLi0CZqocmMA1AP5JZtvVngHRYP8QbpIDYCoJkGsABfa27oWzQNEc4VnRVT0EVhmeXc+3biA==", + "version": "2.16.6", + "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.16.6.tgz", + "integrity": "sha512-ZWOooD1AuFoAGY3HS2GY7Qx2LZo4oIg6AK0wbC68detxwvX75R/q9lRqThXNKP6vIo2VHWa0fYUo/SrLw80E8w==", "requires": { "base-64": "^0.1.0", "utf8": "^3.0.0" } }, "react-native-gesture-handler": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.5.6.tgz", - "integrity": "sha512-z2jLUkRiRc0PBAC9UcXYkqy3VUzBG0cYQAGMsDHsd90JgrzudHAFRJV9fvFm18wNauFTNnJievjZ0C3rI2ydhw==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.6.1.tgz", + "integrity": "sha512-gQgIKhDiYf754yzhhliagLuLupvGb6ZyBdzYzr7aus3Fyi87TLOw63ers+r4kGw0h26oAWTAdHd34JnF4NeL6Q==", "requires": { "@egjs/hammerjs": "^2.0.17", - "hammerjs": "git+https://github.com/naver/hammer.js.git", "hoist-non-react-statics": "^2.3.1", "invariant": "^2.2.4", "prop-types": "^15.7.2" }, "dependencies": { - "@egjs/hammerjs": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", - "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", - "requires": { - "@types/hammerjs": "^2.0.36" - }, - "dependencies": { - "@types/hammerjs": { - "version": "2.0.36", - "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.36.tgz", - "integrity": "sha512-7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==" - } - } - }, "hoist-non-react-statics": { "version": "2.5.5", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", @@ -18249,11 +23083,11 @@ "integrity": "sha512-iam74xXtrSqqZurCl1/bSjZ9jXcsJY84g7brx1/4uVGCY26c6m+4CArHNSHOsz5ATg2NQT+81sjNy0KlCPyK4g==" }, "react-native-progress": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/react-native-progress/-/react-native-progress-4.0.1.tgz", - "integrity": "sha512-libLQjUm8MJyAbW0drxDBUNyDB3C/pmv8rxR2EjdsdBAMsnDTPrL6ljN+vXWi2zfKOcbn+TFU5llnl/vcGPoaA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/react-native-progress/-/react-native-progress-4.0.3.tgz", + "integrity": "sha512-UMjY9W82bU/NLJ2PxkQ3rZFHZPzVTwKowuOfO1bWEainuyjAXwlcZdyQnZxuqIgHrLkZpg9ppdu+g2mflT86ZQ==", "requires": { - "@react-native-community/art": "^1.0.1", + "@react-native-community/art": "^1.0.3", "prop-types": "^15.7.2" } }, @@ -18262,17 +23096,6 @@ "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.7.0.tgz", "integrity": "sha512-FQWSqP605eQVJumuK2HpR+7heF0ZI+qfy4jNguv3Xv8nPFHeIgZaRTXHCEQL2AcuSIj50zy8jGJf5l134QMQWQ==" }, - "react-native-redash": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/react-native-redash/-/react-native-redash-9.6.0.tgz", - "integrity": "sha512-0Q0YppSQQ7LJlYcSzb2GGYtKvZFVOfzYeJc/cE1smXNisXyanFmFLrWZ1L4OuZyCas+cl3nELYeQi55ys3h6bg==", - "requires": { - "abs-svg-path": "^0.1.1", - "normalize-svg-path": "^1.0.1", - "parse-svg-path": "^0.1.2", - "use-memo-one": "^1.1.1" - } - }, "react-native-safe-area-view": { "version": "0.14.8", "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz", @@ -18288,26 +23111,18 @@ } } }, - "react-native-safe-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/react-native-safe-modules/-/react-native-safe-modules-1.0.0.tgz", - "integrity": "sha512-ShT8duWBT30W4OFcltZl+UvpPDikZFURvLDQqAsrvbyy6HzWPGJDCpdqM+6GqzPPs4DPEW31YfMNmdJcZ6zI2w==", - "requires": { - "dedent": "^0.6.0" - } - }, "react-native-screens": { - "version": "2.0.0-beta.2", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.0.0-beta.2.tgz", - "integrity": "sha512-N+k4S/Wr+YGjzuGF49fB4VjIG6Fcaj4md3uxTsyeshEILGptPWAlgb5hAgn6C9xOj1x/rrAoXwZmrPNxPw6CSg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.4.0.tgz", + "integrity": "sha512-7GcXlaj7IIrM4l5Ub7BPTkNQJ2slHGt2bhmfWmW73NTXEv+7pjHlp+JpQO32Yn+O8UQGPFf0rsesfYUdER7ppQ==", "requires": { "debounce": "^1.2.0" } }, "react-native-share": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-native-share/-/react-native-share-2.0.0.tgz", - "integrity": "sha512-J8Xl3mq0L9KDFtSYtKsQDAnZWw/niZIpAD1PRiNfZFHo44Rc+oS2bEIhskNnoQXKEgBNdPzCl/DenMXYAHXRYg==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/react-native-share/-/react-native-share-3.1.1.tgz", + "integrity": "sha512-3BwSo3lhrUlqqx0LxHF5tyKc927UI6N6pu+o2+agdYjtfdVLeUeyYIjkdYGobcIvviTr4qcr9FJ0AfUCSHvlGQ==" }, "react-native-splash-screen": { "version": "3.2.0", @@ -18315,9 +23130,9 @@ "integrity": "sha512-Ls9qiNZzW/OLFoI25wfjjAcrf2DZ975hn2vr6U9gyuxi2nooVbzQeFoQS5vQcbCt9QX5NY8ASEEAtlLdIa6KVg==" }, "react-native-swipe-gestures": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/react-native-swipe-gestures/-/react-native-swipe-gestures-1.0.4.tgz", - "integrity": "sha512-C/vz0KPHNyqHk3uF4Cz/jzd/0N8z34ZgsjAZUh/RsXPH2FtJJf3Fw73pQDWJSoCMtvVadlztb8xQ+/aEQrll7w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/react-native-swipe-gestures/-/react-native-swipe-gestures-1.0.5.tgz", + "integrity": "sha512-Ns7Bn9H/Tyw278+5SQx9oAblDZ7JixyzeOczcBK8dipQk2pD7Djkcfnf1nB/8RErAmMLL9iXgW0QHqiII8AhKw==", "dev": true }, "react-native-tab-view": { @@ -18489,24 +23304,6 @@ } } }, - "react-native-web": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.11.7.tgz", - "integrity": "sha512-w1KAxX2FYLS2GAi3w3BnEZg/IUu7FdgHnLmFKHplRnHMV3u1OPB2EVA7ndNdfu7ds4Rn2OZjSXoNh6F61g3gkA==", - "dev": true, - "requires": { - "array-find-index": "^1.0.2", - "create-react-class": "^15.6.2", - "debounce": "^1.2.0", - "deep-assign": "^3.0.0", - "fbjs": "^1.0.0", - "hyphenate-style-name": "^1.0.2", - "inline-style-prefixer": "^5.0.3", - "normalize-css-color": "^1.0.2", - "prop-types": "^15.6.0", - "react-timer-mixin": "^0.13.4" - } - }, "react-navigation": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-3.13.0.tgz", @@ -18575,11 +23372,6 @@ } } }, - "react-navigation-transitions": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/react-navigation-transitions/-/react-navigation-transitions-1.0.12.tgz", - "integrity": "sha512-Hp0wX9KoXwsFch6Fgiz9HpGjQZDhnyucLbCai0LcaOC3VpmgYmvkbeAg/mQ5Z5exuY6PPrh/+FXU00yMPDHkcw==" - }, "react-popper": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz", @@ -18657,12 +23449,6 @@ "prop-types": "^15.6.0" } }, - "react-timer-mixin": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz", - "integrity": "sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q==", - "dev": true - }, "read-babelrc-up": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/read-babelrc-up/-/read-babelrc-up-0.3.1.tgz", @@ -18947,25 +23733,6 @@ "unicode-match-property-value-ecmascript": "^1.1.0" } }, - "registry-auth-token": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", - "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dev": true, - "requires": { - "rc": "^1.0.1" - } - }, "regjsgen": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", @@ -19239,12 +24006,20 @@ } }, "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } } }, "resolve-from": { @@ -19258,12 +24033,12 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "^2.0.0" } }, "restore-cursor": { @@ -19280,12 +24055,6 @@ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -19323,12 +24092,6 @@ "is-promise": "^2.1.0" } }, - "run-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", - "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==", - "dev": true - }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -19405,6 +24168,15 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "requires": { + "xmlchars": "^2.1.1" + } + }, "scheduler": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz", @@ -19433,9 +24205,9 @@ "optional": true }, "semver": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.2.tgz", - "integrity": "sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==" + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==" }, "semver-compare": { "version": "1.0.0", @@ -19443,22 +24215,11 @@ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", "dev": true }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "dev": true, - "requires": { - "semver": "^5.0.3" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "dev": true }, "send": { "version": "0.17.1", @@ -19734,9 +24495,9 @@ } }, "sisteransi": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", - "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { @@ -19962,12 +24723,6 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, "space-separated-tokens": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", @@ -20002,12 +24757,6 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" }, - "speedometer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-1.0.0.tgz", - "integrity": "sha1-zWccsGdSwivKM3Di8zREC+T8YuI=", - "dev": true - }, "split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", @@ -20041,421 +24790,164 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" - }, - "stacktrace-parser": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.8.tgz", - "integrity": "sha512-ig5rHJSdJrAsVqdb3oAI/8C6aQ7dEwJXoy/TIEIOTzdJHssmn12o6RsFoeQSLHoKjq0lX+kqhmnLDpyQTuWiJA==", - "requires": { - "type-fest": "^0.7.1" - } - }, - "standard-version": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-6.0.1.tgz", - "integrity": "sha512-+09AwTbyLKyUwefiZSccgarp24okvH9A229NOVSpYTKWcxBxqZqdYmtQaJ8UET9mjPXRxP84vonJU4YMqCyBTQ==", - "dev": true, - "requires": { - "chalk": "2.4.2", - "conventional-changelog": "3.1.8", - "conventional-changelog-config-spec": "1.0.0", - "conventional-recommended-bump": "5.0.0", - "detect-indent": "6.0.0", - "detect-newline": "3.0.0", - "dotgitignore": "2.1.0", - "figures": "3.0.0", - "find-up": "3.0.0", - "fs-access": "1.0.1", - "git-semver-tags": "2.0.2", - "semver": "6.0.0", - "stringify-package": "1.0.0", - "yargs": "13.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - } - } - }, - "conventional-changelog": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.8.tgz", - "integrity": "sha512-fb3/DOLLrQdNqN0yYn/lT6HcNsAa9A+VTDBqlZBMQcEPPIeJIMI+DBs3yu+eiYOLi22w9oShq3nn/zN6qm1Hmw==", - "dev": true, - "requires": { - "conventional-changelog-angular": "^5.0.3", - "conventional-changelog-atom": "^2.0.1", - "conventional-changelog-codemirror": "^2.0.1", - "conventional-changelog-conventionalcommits": "^3.0.2", - "conventional-changelog-core": "^3.2.2", - "conventional-changelog-ember": "^2.0.2", - "conventional-changelog-eslint": "^3.0.2", - "conventional-changelog-express": "^2.0.1", - "conventional-changelog-jquery": "^3.0.4", - "conventional-changelog-jshint": "^2.0.1", - "conventional-changelog-preset-loader": "^2.1.1" - } - }, - "conventional-changelog-conventionalcommits": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-3.0.2.tgz", - "integrity": "sha512-w1+fQSDnm/7+sPKIYC5nfRVYDszt+6HdWizrigSqWFVIiiBVzkHGeqDLMSHc+Qq9qssHVAxAak5206epZyK87A==", - "dev": true, - "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" - } - }, - "conventional-changelog-core": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", - "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", - "dev": true, - "requires": { - "conventional-changelog-writer": "^4.0.6", - "conventional-commits-parser": "^3.0.3", - "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "2.0.0", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^2.0.3", - "lodash": "^4.2.1", - "normalize-package-data": "^2.3.5", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^3.0.0" - }, - "dependencies": { - "git-semver-tags": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", - "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", - "dev": true, - "requires": { - "meow": "^4.0.0", - "semver": "^6.0.0" - } - } - } - }, - "detect-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.0.0.tgz", - "integrity": "sha512-JAP22dVPAqvhdRFFxK1G5GViIokyUn0UWXRNW0ztK96fsqi9cuM8w8ESbSk+T2w5OVorcMcL6m7yUg1RrX+2CA==", - "dev": true - }, - "figures": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", - "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - }, - "dependencies": { - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - } - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "git-semver-tags": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.2.tgz", - "integrity": "sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w==", - "dev": true, - "requires": { - "meow": "^4.0.0", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" + }, + "stacktrace-parser": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.9.tgz", + "integrity": "sha512-DRy03ljj0367Ud3OAJHD6eVS/+CvMK2u/djVYuU37fHYcYHoZ8tkFyhbRf7PNG1h3bWLsw+SNTSXrPFe07A7aQ==", + "requires": { + "type-fest": "^0.7.1" + } + }, + "standard-version": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-7.1.0.tgz", + "integrity": "sha512-bHY2E/1tYGeVl+0XSXFivb+54h2fA4pWJocXAd6FGbtSFUvGsnfmMbIXYDxrYErpq7oEqoKreV8xTAp78WoATA==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "conventional-changelog": "3.1.15", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.2.3", + "conventional-recommended-bump": "6.0.5", + "detect-indent": "6.0.0", + "detect-newline": "3.1.0", + "dotgitignore": "2.1.0", + "figures": "3.1.0", + "find-up": "4.1.0", + "fs-access": "1.0.1", + "git-semver-tags": "3.0.1", + "semver": "6.3.0", + "stringify-package": "1.0.1", + "yargs": "15.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "invert-kv": "^2.0.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "color-name": "~1.1.4" } }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" + "conventional-changelog": { + "version": "3.1.15", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.15.tgz", + "integrity": "sha512-CoWM+Z9bYyF00QzNpTnxkCLiuLAeRocJz3C/foFjvhsdltdtkJgMChp7GytQNjm4pT7JFBVJTpqLHTpxNtOzaA==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.6", + "conventional-changelog-atom": "^2.0.3", + "conventional-changelog-codemirror": "^2.0.3", + "conventional-changelog-conventionalcommits": "^4.2.3", + "conventional-changelog-core": "^4.1.1", + "conventional-changelog-ember": "^2.0.4", + "conventional-changelog-eslint": "^3.0.4", + "conventional-changelog-express": "^2.0.1", + "conventional-changelog-jquery": "^3.0.6", + "conventional-changelog-jshint": "^2.0.3", + "conventional-changelog-preset-loader": "^2.3.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "os-locale": { + "figures": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "escape-string-regexp": "^1.0.5" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - } - } - }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -20463,55 +24955,40 @@ "dev": true }, "semver": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", - "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.0" } }, - "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { - "readable-stream": "2 || 3" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "y18n": { @@ -20521,28 +24998,28 @@ "dev": true }, "yargs": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", - "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.0.2.tgz", + "integrity": "sha512-GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q==", "dev": true, "requires": { - "cliui": "^4.0.0", - "find-up": "^3.0.0", + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^3.0.0", + "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.0.0" + "yargs-parser": "^16.1.0" } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -20592,72 +25069,6 @@ "integrity": "sha512-tWEpK0snS2RPUq1i3R6OahfJNjWCQYNxq0+by1amCSuw0mXtymJpzmZIeYpA1UAa+7B0grCpNYIbDcd7AgTbFg==", "dev": true }, - "storybook-chromatic": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/storybook-chromatic/-/storybook-chromatic-2.2.2.tgz", - "integrity": "sha512-n79eX0MQEHzDCnXqgOjvDOQ1xfBOTyQHy1RNxEMQvZolfAle8YVS0NnRpcW0xh/Ye621Iote3dwFI3uQmlcqPw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.3.1", - "@chromaui/localtunnel": "1.10.1", - "async-retry": "^1.1.4", - "commander": "^2.9.0", - "debug": "^3.0.1", - "denodeify": "^1.2.1", - "env-ci": "^2.1.0", - "fake-tag": "^1.0.0", - "jsdom": "^11.5.1", - "jsonfile": "^4.0.0", - "minimatch": "^3.0.4", - "node-ask": "^1.0.1", - "node-fetch": "^2.6.0", - "node-loggly-bulk": "^2.2.4", - "param-case": "^2.1.1", - "pino": "4.10.2", - "progress": "^2.0.3", - "progress-stream": "^2.0.0", - "semver": "^6.2.0", - "strip-color": "^0.1.0", - "tmp": "^0.1.0", - "tree-kill": "^1.1.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dev": true, - "requires": { - "rimraf": "^2.6.3" - } - } - } - }, "stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", @@ -20708,28 +25119,28 @@ "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" }, "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", "dev": true, "requires": { "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.2.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -20819,9 +25230,9 @@ } }, "stringify-package": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.0.tgz", - "integrity": "sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", "dev": true }, "strip-ansi": { @@ -20837,12 +25248,6 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" }, - "strip-color": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", - "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=", - "dev": true - }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -20876,13 +25281,25 @@ "schema-utils": "^2.6.4" }, "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "schema-utils": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", - "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", "dev": true, "requires": { - "ajv": "^6.10.2", + "ajv": "^6.12.0", "ajv-keywords": "^3.4.1" } } @@ -20901,15 +25318,42 @@ "has-flag": "^3.0.0" } }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "svg-arc-to-cubic-bezier": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" }, "svg-parser": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.3.tgz", - "integrity": "sha512-fnCWiifNhK8i2Z7b9R5tbNahpxrRdAaQbnoxKlT2KrSCj9Kq/yBSgulCRgBJRhy1dPnSY5slg5ehPUnzpEcHlg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", "dev": true }, "svgo": { @@ -20960,6 +25404,21 @@ "dom-serializer": "0", "domelementtype": "1" } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } } } }, @@ -21048,6 +25507,21 @@ "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", "yallist": "^3.0.3" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + } } }, "telejson": { @@ -21112,10 +25586,37 @@ "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", "dev": true }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, "terser": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.3.tgz", - "integrity": "sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ==", + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz", + "integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==", "dev": true, "requires": { "commander": "^2.20.0", @@ -21132,9 +25633,9 @@ } }, "terser-webpack-plugin": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.4.tgz", - "integrity": "sha512-Nv96Nws2R2nrFOpbzF6IxRDpIkkIfmhvOws+IqMvYdFLO7o6wAILWFKONFgaYy8+T4LVz77DQW0f7wOeDEAjrg==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz", + "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==", "dev": true, "requires": { "cacache": "^13.0.1", @@ -21148,6 +25649,18 @@ "webpack-sources": "^1.4.3" }, "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "cacache": { "version": "13.0.1", "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", @@ -21175,13 +25688,13 @@ } }, "find-cache-dir": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.2.0.tgz", - "integrity": "sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^3.0.0", + "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, @@ -21228,9 +25741,9 @@ } }, "make-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", - "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", + "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", "dev": true, "requires": { "semver": "^6.0.0" @@ -21242,6 +25755,12 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "minipass": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", @@ -21251,6 +25770,15 @@ "yallist": "^4.0.0" } }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -21270,12 +25798,12 @@ } }, "schema-utils": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", - "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", "dev": true, "requires": { - "ajv": "^6.10.2", + "ajv": "^6.12.0", "ajv-keywords": "^3.4.1" } }, @@ -21291,135 +25819,44 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" } }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" + "has-flag": "^4.0.0" } }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, "text-extensions": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", @@ -21462,12 +25899,6 @@ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, "timers-browserify": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", @@ -21538,6 +25969,12 @@ } } }, + "to-readable-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==", + "dev": true + }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -21605,12 +26042,6 @@ "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", "dev": true }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, "trim": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", @@ -21645,22 +26076,20 @@ "dev": true }, "ts-pnp": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.5.tgz", - "integrity": "sha512-ti7OGMOUOzo66wLF3liskw6YQIaSsBgc4GOAlWRnIEj8htCxJUxskanMUoJOD6MDCRAXo36goXJZch+nOS0VMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.6.tgz", + "integrity": "sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ==", "dev": true }, "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tsutils": { "version": "3.17.1", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, "requires": { "tslib": "^1.8.1" } @@ -21699,6 +26128,12 @@ "prelude-ls": "~1.1.2" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, "type-fest": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", @@ -21725,10 +26160,19 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, "typescript": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", - "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", + "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", "dev": true }, "typescript-compiler": { @@ -21910,15 +26354,6 @@ "imurmurhash": "^0.1.4" } }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "dev": true, - "requires": { - "crypto-random-string": "^1.0.0" - } - }, "unist-util-flatmap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unist-util-flatmap/-/unist-util-flatmap-1.0.0.tgz", @@ -21956,9 +26391,9 @@ "integrity": "sha512-yvo+MMLjEwdc3RhhPYSximset7rwjMrdt9E41Smmvg25UQIenzrN83cRnF1JMzoMi9zZOQeYXHSDf7p+IQkW3Q==" }, "universal-user-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", - "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", + "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", "dev": true, "requires": { "os-name": "^3.1.0" @@ -22016,16 +26451,10 @@ } } }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "dev": true - }, "unzipper": { - "version": "0.9.15", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.9.15.tgz", - "integrity": "sha512-2aaUvO4RAeHDvOCuEtth7jrHFaCKTSXPqUkXwADaLBzGbgZGzUDccoEdJ5lW+3RmfpOZYNx0Rw6F6PUzM6caIA==", + "version": "0.10.10", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.10.tgz", + "integrity": "sha512-wEgtqtrnJ/9zIBsQb8UIxOhAH1eTHfi7D/xvmrUoMEePeI6u24nq1wigazbIFtHt6ANYXdEVTvc8XYNlTurs7A==", "dev": true, "requires": { "big-integer": "^1.6.17", @@ -22034,6 +26463,7 @@ "buffer-indexof-polyfill": "~1.0.0", "duplexer2": "~0.1.4", "fstream": "^1.0.12", + "graceful-fs": "^4.2.2", "listenercount": "~1.0.1", "readable-stream": "~2.3.6", "setimmediate": "~1.0.4" @@ -22053,164 +26483,6 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "dev": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", - "dev": true, - "requires": { - "string-width": "^2.0.0" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "^0.7.0" - } - }, - "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", - "dev": true, - "requires": { - "string-width": "^2.1.1" - } - } - } - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -22253,6 +26525,18 @@ "schema-utils": "^2.5.0" }, "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "mime": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", @@ -22260,12 +26544,12 @@ "dev": true }, "schema-utils": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", - "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", "dev": true, "requires": { - "ajv": "^6.10.2", + "ajv": "^6.12.0", "ajv-keywords": "^3.4.1" } } @@ -22280,29 +26564,6 @@ "requires-port": "^1.0.0" } }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - } - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true - }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -22403,6 +26664,25 @@ "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", "dev": true }, + "v8-to-istanbul": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.2.tgz", + "integrity": "sha512-G9R+Hpw0ITAmPSr47lSlc5A1uekSYzXxTMlFxso2xoffwo4jQnzbv1p9yXIinO8UMZKfAFewaCHwWvnH4Jb4Ug==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -22463,12 +26743,23 @@ "dev": true }, "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", "dev": true, "requires": { - "browser-process-hrtime": "^0.1.2" + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" } }, "walker": { @@ -22514,9 +26805,9 @@ "dev": true }, "webpack": { - "version": "4.41.6", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.6.tgz", - "integrity": "sha512-yxXfV0Zv9WMGRD+QexkZzmGIh54bsvEs+9aRWxnN8erLWEOehAKUTeNBoUbA6HPEZPlRo7KDi2ZcNveoZgK9MA==", + "version": "4.42.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", + "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", @@ -22544,12 +26835,21 @@ "webpack-sources": "^1.4.1" }, "dependencies": { - "acorn": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", - "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -22593,6 +26893,21 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } } } }, @@ -22702,9 +27017,9 @@ "dev": true }, "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", @@ -22725,6 +27040,12 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", @@ -22841,6 +27162,23 @@ "dev": true, "requires": { "mkdirp": "^0.5.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } } }, "write-file-atomic": { @@ -22876,12 +27214,6 @@ "uuid": "^3.3.2" } }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", - "dev": true - }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", @@ -22893,6 +27225,12 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "xmldoc": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", @@ -22917,6 +27255,15 @@ "resolved": "https://registry.npmjs.org/xpipe/-/xpipe-1.0.5.tgz", "integrity": "sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98=" }, + "xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", + "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -22933,12 +27280,12 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yaml": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz", - "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.8.3.tgz", + "integrity": "sha512-X/v7VDnK+sxbQ2Imq4Jt2PRUsRsP7UcpSl3Llg6+NRRqWLIvxkMFYtH1FmvwNGYRKKPa+EPA4qDBlI9WVG1UKw==", "dev": true, "requires": { - "@babel/runtime": "^7.6.3" + "@babel/runtime": "^7.8.7" } }, "yargs": { diff --git a/package.json b/package.json index 2b9f41d3a..d7b06a94f 100644 --- a/package.json +++ b/package.json @@ -39,51 +39,43 @@ }, "dependencies": { "@digidem/wcmc-mapeo-mobile-intro": "^1.0.1", - "@react-native-community/art": "1.0.2", - "@react-native-community/async-storage": "^1.5.0", - "@react-native-community/netinfo": "^4.1.3", - "@react-native-mapbox-gl/maps": "github:gmaclennan/react-native-mapbox-gl#set-connected", + "@react-native-community/async-storage": "^1.8.1", + "@react-native-community/netinfo": "^5.6.2", + "@react-native-mapbox-gl/maps": "^8.0.0-rc1", "bugsnag-react-native": "^2.21.0", "core-js": "^3.1.4", "debug": "^4.1.1", - "eslint-plugin-jest": "^22.6.4", + "eslint-plugin-jest": "^23.8.2", "expo-camera": "^8.0.0", "expo-document-picker": "^8.0.0", "expo-linear-gradient": "^8.0.0", "expo-localization": "^8.0.0", "expo-location": "^8.0.0", "expo-sensors": "^8.0.0", - "get-contrast-ratio": "^0.2.1", "hoist-non-react-statics": "^3.3.0", - "ky": "^0.16.1", + "ky": "^0.19.0", "lodash": "^4.17.11", - "lottie-react-native": "github:NTag/lottie-react-native#reanimated-support", "mapeo-schema": "^1.8.0", - "mdast-normalize-react-native": "^3.2.0", - "memoize-one": "^5.0.0", "nodejs-mobile-react-native": "^0.5.0", "path": "^0.12.7", "prop-types": "^15.7.2", - "querystring": "^0.2.0", "react": "16.9.0", - "react-intl": "^3.3.2", - "react-markdown": "^4.3.1", - "react-native": "0.61.5", + "react-intl": "^4.2.2", + "react-native": "^0.61.5", "react-native-android-open-settings": "^1.3.0", "react-native-build-config": "^0.3.2", - "react-native-fs": "^2.16.1", - "react-native-gesture-handler": "^1.5.6", + "react-native-fs": "^2.16.6", + "react-native-gesture-handler": "^1.6.1", "react-native-hooks": "^0.9.0", "react-native-image-resizer": "^1.1.0", "react-native-indicators": "^0.17.0", "react-native-keep-awake": "^4.0.0", "react-native-linear-gradient": "^2.5.4", "react-native-network-info": "^5", - "react-native-progress": "4.0.1", + "react-native-progress": "^4.0.3", "react-native-reanimated": "^1.3.0", - "react-native-redash": "^9.6.0", - "react-native-screens": "^2.0.0-alpha.34", - "react-native-share": "^2.0.0", + "react-native-screens": "^2.4.0", + "react-native-share": "^3.1.1", "react-native-splash-screen": "^3.2.0", "react-native-tab-view": "^2.12.0", "react-native-unimodules": "^0.7.0", @@ -91,67 +83,61 @@ "react-native-vector-icons": "^6.3.0", "react-navigation": "^3.9.0", "react-navigation-hooks": "^1.0.1", - "react-navigation-transitions": "^1.0.10", - "remark": "^11.0.2", - "semver": "^7.1.1", + "semver": "^7.1.3", "shallowequal": "^1.1.0", - "stacktrace-parser": "^0.1.4", "use-memo-one": "^1.1.1", "utm": "^1.1.1" }, "devDependencies": { - "@babel/core": "^7.5.0", - "@babel/runtime": "^7.5.0", + "@babel/core": "^7.9.0", + "@babel/runtime": "^7.9.0", "@digidem/extract-react-intl-messages": "^2.0.2", - "@react-native-community/eslint-config": "^0.0.5", - "@storybook/addon-actions": "^5.1.0-rc.0", - "@storybook/addon-info": "^5.1.0-rc.0", - "@storybook/addon-links": "^5.1.0-rc.0", - "@storybook/addon-viewport": "^5.1.0-rc.0", - "@storybook/addons": "^5.1.0-rc.0", - "@storybook/react": "^5.1.0-rc.0", - "@storybook/react-native": "^5.1.0-rc.0", - "@storybook/react-native-server": "^5.1.0-rc.0", + "@react-native-community/eslint-config": "0.0.7", + "@storybook/addon-actions": "^5.3.17", + "@storybook/addon-info": "^5.3.17", + "@storybook/addon-links": "^5.3.17", + "@storybook/addon-viewport": "^5.3.17", + "@storybook/addons": "^5.3.17", + "@storybook/react": "^5.3.17", + "@storybook/react-native": "^5.3.17", + "@storybook/react-native-server": "^5.3.17", "@turf/random": "^6.0.2", - "babel-eslint": "^10.0.1", - "babel-jest": "^24.1.0", - "babel-loader": "^8.0.5", - "babel-plugin-react-intl-auto": "^2.3.0", - "babel-plugin-react-native-web": "^0.11.2", - "buble": "^0.19.6", + "babel-eslint": "^10.1.0", + "babel-jest": "^25.1.0", + "babel-loader": "^8.1.0", + "babel-plugin-react-intl-auto": "^3.1.1", + "babel-plugin-react-native-web": "^0.12.2", "conventional-changelog-cli": "^2.0.17", "eslint": "^6.5.1", "eslint-config-prettier": "^6.0.0", - "eslint-config-standard": "^13.0.1", - "eslint-plugin-flowtype": "^3.4.2", + "eslint-config-standard": "^14.1.1", + "eslint-plugin-flowtype": "^4.6.0", "eslint-plugin-import": "^2.16.0", - "eslint-plugin-node": "^9.1.0", + "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.0.1", "eslint-plugin-promise": "^4.0.1", - "eslint-plugin-react": "^7.12.4", - "eslint-plugin-react-hooks": "^1.6.1", + "eslint-plugin-react": "^7.19.0", + "eslint-plugin-react-hooks": "^2.5.1", "eslint-plugin-react-native": "^3.6.0", "eslint-plugin-standard": "^4.0.0", - "flow-bin": "^0.105.0", - "flow-typed": "^2.5.1", + "flow-bin": "^0.121.0", + "flow-typed": "^3.1.0", "glob": "^7.1.5", "hubfs.js": "^1.0.0", - "husky": "^3.0.9", - "jest": "^24.1.0", + "husky": "^4.2.3", + "jest": "^25.1.0", "jetifier": "^1.6.3", - "metro-react-native-babel-preset": "^0.57.0", - "mkdirp": "^0.5.1", - "patch-package": "^6.1.2", + "metro-react-native-babel-preset": "^0.59.0", + "mkdirp": "^1.0.3", + "patch-package": "^6.2.1", "prettier": "^1.17.1", "pretty-quick": "^2.0.0", "random-date-generator": "^1.0.2", "random-title": "^1.0.4", - "react-art": "^16.8.2", "react-dom": "^16.8.6", - "react-native-web": "^0.11.0", "react-test-renderer": "16.9.0", "rimraf": "^3.0.0", - "standard-version": "^6.0.1", + "standard-version": "^7.1.0", "txtgen": "^2.2.2" }, "jest": { diff --git a/patches/README.md b/patches/README.md index b684cd747..933afe92f 100644 --- a/patches/README.md +++ b/patches/README.md @@ -2,9 +2,3 @@ These patches use [`patch-package`](https://www.npmjs.com/package/patch-package) to update dependencies which have unpublished fixes. - -## [`lottie-react-native`](https://github.com/react-native-community/lottie-react-native) - -Lottie does not work with [`react-native-reanimated`](https://github.com/software-mansion/react-native-reanimated) Nodes, but we are using that for animating the intro screens. - -This patch applies the changes from [PR #607](https://github.com/react-native-community/lottie-react-native/pull/607) which was not yet merged as of 2020-02-04. diff --git a/patches/lottie-react-native+3.3.2.patch b/patches/lottie-react-native+3.3.2.patch deleted file mode 100644 index 44d7c6a27..000000000 --- a/patches/lottie-react-native+3.3.2.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/node_modules/lottie-react-native/src/js/LottieView.js b/node_modules/lottie-react-native/src/js/LottieView.js -index 371d5d6..8360805 100644 ---- a/node_modules/lottie-react-native/src/js/LottieView.js -+++ b/node_modules/lottie-react-native/src/js/LottieView.js -@@ -8,6 +8,12 @@ import { - StyleSheet, - ViewPropTypes, - } from 'react-native'; -+let Reanimated; -+try { -+ Reanimated = require('react-native-reanimated').default; -+} catch (e) { -+ // react-native-reanimated isn't installed, we'll fallback on React.Animated -+} - import SafeModule from 'react-native-safe-modules'; - import PropTypes from 'prop-types'; - -@@ -16,6 +22,9 @@ const NativeLottieView = SafeModule.component({ - mockComponent: View, - }); - const AnimatedNativeLottieView = Animated.createAnimatedComponent(NativeLottieView); -+const ReanimatedNativeLottieView = Reanimated -+ ? Reanimated.createAnimatedComponent(NativeLottieView) -+ : undefined; - - const LottieViewManager = SafeModule.module({ - moduleName: 'LottieAnimationView', -@@ -167,20 +176,32 @@ class LottieView extends React.Component { - - const speed = - this.props.duration && sourceJson && this.props.source.fr -- ? Math.round(this.props.source.op / this.props.source.fr * 1000 / this.props.duration) -+ ? Math.round(((this.props.source.op / this.props.source.fr) * 1000) / this.props.duration) - : this.props.speed; - - return ( - -- -+ {Reanimated && this.props.progress instanceof Reanimated.Node ? ( -+ -+ ) : ( -+ -+ )} - - ); - } -diff --git a/node_modules/lottie-react-native/src/js/index.d.ts b/node_modules/lottie-react-native/src/js/index.d.ts -index 1d1a175..2f571a3 100644 ---- a/node_modules/lottie-react-native/src/js/index.d.ts -+++ b/node_modules/lottie-react-native/src/js/index.d.ts -@@ -39,7 +39,7 @@ declare module "lottie-react-native" { - * animation will correspondingly update to the frame at that progress value. This - * prop is not required if you are using the imperative API. - */ -- progress?: number | Animated.Value; -+ progress?: number | Animated.Value | any; - - /** - * The speed the animation will progress. This only affects the imperative API. The diff --git a/src/backend/package-lock.json b/src/backend/package-lock.json index 137454afa..407317dda 100644 --- a/src/backend/package-lock.json +++ b/src/backend/package-lock.json @@ -52,6 +52,14 @@ "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" } + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } } } }, @@ -176,9 +184,9 @@ } }, "acorn-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", - "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", + "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", "dev": true }, "almost-equal": { @@ -228,6 +236,16 @@ "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "tmp-promise": "^1.0.5" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + } } }, "assign-symbols": { @@ -860,12 +878,6 @@ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", "dev": true - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true } } }, @@ -2313,9 +2325,9 @@ } }, "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mixin-deep": { "version": "1.3.2", @@ -2337,12 +2349,9 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz", + "integrity": "sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==" }, "module-deps": { "version": "6.1.0", @@ -2506,14 +2515,14 @@ "integrity": "sha1-Sqe/1D8D8LgclwKxPWqFjdsybz4=" }, "node-gyp-build": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.0.tgz", - "integrity": "sha512-4oiumOLhCDU9Rronz8PZ5S4IvT39H5+JEv/hps9V8s7RSLhsac0TCP78ulnHXOo8X1wdpPiTayGlM1jr4IbnaQ==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.1.tgz", + "integrity": "sha512-XyCKXsqZfLqHep1hhsMncoXuUNt/cXCjg1+8CLbu69V1TKuPiOeSGbL9n+k/ByKH8UT0p4rdIX8XkTRZV0i7Sw==" }, "noderify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/noderify/-/noderify-4.3.0.tgz", - "integrity": "sha512-382A9HWr6s5FcvnRILE8aG3PAtkZIIiugfgWvc4eQNVUmcWu5wQ5ollKgT0leHndjedZeWrN2G1X4lfBCeFtyA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/noderify/-/noderify-5.0.0.tgz", + "integrity": "sha512-LTddfq22zGCZgAD+S1ZmQHNAqLzjcA87SW+9lSSdI33rbNKiwgetp4sBwf+YNkQS7DCEUzxW8l7q08ytEObX+Q==", "dev": true, "requires": { "minimist": "^1.1.2", @@ -2524,12 +2533,6 @@ "through2": "~2.0.3" }, "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -2623,6 +2626,16 @@ "mkdirp": "^0.5.1", "once": "^1.3.3", "random-access-file": "^2.1.0" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + } } }, "osm-p2p-geojson": { @@ -2771,6 +2784,14 @@ "unordered-set": "^2.0.0" } }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + }, "multifeed": { "version": "4.1.10", "resolved": "https://registry.npmjs.org/multifeed/-/multifeed-4.1.10.tgz", @@ -2948,6 +2969,16 @@ "requires": { "mkdirp": "^0.5.1", "random-access-storage": "^1.1.1" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + } } }, "random-access-memory": { @@ -3002,14 +3033,6 @@ "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } } }, "reachdown": { @@ -3149,9 +3172,9 @@ } }, "semver": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.2.tgz", - "integrity": "sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==" + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==" }, "set-value": { "version": "2.0.1", @@ -3504,14 +3527,6 @@ "dev": true, "requires": { "minimist": "^1.1.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } } }, "subleveldown": { @@ -3546,6 +3561,14 @@ "readable-stream": "^3.0.1" } }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + }, "readable-stream": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", diff --git a/src/backend/package.json b/src/backend/package.json index e6bf7115b..661593b2a 100644 --- a/src/backend/package.json +++ b/src/backend/package.json @@ -20,17 +20,17 @@ "mapeo-config-icca": "^1.2.1", "mapeo-default-settings": "^2.1.0", "mapeo-server": "^17.0.0", - "mkdirp": "^0.5.1", + "mkdirp": "^1.0.3", "pump": "^3.0.0", "random-access-file": "^2.1.0", "rimraf": "^3.0.0", "safe-fs-blob-store": "^1.0.3", - "semver": "^7.1.1", + "semver": "^7.1.3", "tar-fs": "^2.0.0", "tmp": "^0.1.0" }, "devDependencies": { - "node-gyp-build": "^4.1.0", - "noderify": "^4.1.0" + "node-gyp-build": "^4.2.1", + "noderify": "^5.0.0" } } diff --git a/src/frontend/App.js b/src/frontend/App.js index b7e6eb9b5..0f4ac7f72 100644 --- a/src/frontend/App.js +++ b/src/frontend/App.js @@ -32,7 +32,6 @@ const persistNavigationState = async navState => { } }; const loadNavigationState = async () => { - return; try { const navState = JSON.parse(await AsyncStorage.getItem(NAV_STORE_KEY)); const didCrashLastOpen = JSON.parse( diff --git a/src/frontend/AppContainer.js b/src/frontend/AppContainer.js index ecd2487be..cca835b09 100644 --- a/src/frontend/AppContainer.js +++ b/src/frontend/AppContainer.js @@ -58,16 +58,25 @@ const AppStack = createStackNavigator( // $FlowFixMe - flow definitions don't recognize static props on function components { Home: HomeTabs, + // $FlowFixMe GpsModal: GpsModal, + // $FlowFixMe SyncModal: SyncModal, Settings: Settings, + // $FlowFixMe ProjectConfig: ProjectConfig, + // $FlowFixMe LanguageSettings, PhotosModal: PhotosModal, + // $FlowFixMe CategoryChooser: CategoryChooser, + // $FlowFixMe AddPhoto: AddPhoto, + // $FlowFixMe ObservationList: ObservationList, + // $FlowFixMe Observation: Observation, + // $FlowFixMe ObservationEdit: ObservationEdit, ManualGpsScreen: ManualGpsScreen, ObservationDetails: ObservationDetails diff --git a/src/frontend/api.js b/src/frontend/api.js index 213b33bf6..6283cfdfd 100644 --- a/src/frontend/api.js +++ b/src/frontend/api.js @@ -496,7 +496,7 @@ function convertFromServer(obs: ServerObservation): Observation { metadata, value: { ...value, - tags: (value || {}).tags + tags: (value || {}).tags || {} } }; } diff --git a/src/frontend/context/PermissionsContext.js b/src/frontend/context/PermissionsContext.js index 681dae719..fe6d7f3d9 100644 --- a/src/frontend/context/PermissionsContext.js +++ b/src/frontend/context/PermissionsContext.js @@ -76,7 +76,6 @@ export class PermissionsProvider extends React.Component< async requestPermissions(permissions: PermissionType | PermissionType[]) { if (!Array.isArray(permissions)) permissions = [permissions]; - // $FlowFixMe const status = await PermissionsAndroid.requestMultiple(permissions); log("Permission status", status); // Bail if nothing to update From 2748b10d2748e4d4ac51a51f0d8c510b19e28dd5 Mon Sep 17 00:00:00 2001 From: Gregor MacLennan Date: Mon, 23 Mar 2020 11:44:23 +0100 Subject: [PATCH 036/116] chore: remove unused yarn artifacts --- .yarn/releases/yarn-1.17.3.js | 147123 ------------------------------- .yarnrc | 6 - 2 files changed, 147129 deletions(-) delete mode 100755 .yarn/releases/yarn-1.17.3.js delete mode 100644 .yarnrc diff --git a/.yarn/releases/yarn-1.17.3.js b/.yarn/releases/yarn-1.17.3.js deleted file mode 100755 index e59b58319..000000000 --- a/.yarn/releases/yarn-1.17.3.js +++ /dev/null @@ -1,147123 +0,0 @@ -#!/usr/bin/env node -module.exports = -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 548); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -module.exports = require("path"); - -/***/ }), -/* 1 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = __extends; -/* unused harmony export __assign */ -/* unused harmony export __rest */ -/* unused harmony export __decorate */ -/* unused harmony export __param */ -/* unused harmony export __metadata */ -/* unused harmony export __awaiter */ -/* unused harmony export __generator */ -/* unused harmony export __exportStar */ -/* unused harmony export __values */ -/* unused harmony export __read */ -/* unused harmony export __spread */ -/* unused harmony export __await */ -/* unused harmony export __asyncGenerator */ -/* unused harmony export __asyncDelegator */ -/* unused harmony export __asyncValues */ -/* unused harmony export __makeTemplateObject */ -/* unused harmony export __importStar */ -/* unused harmony export __importDefault */ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ -/* global Reflect, Promise */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -function __extends(d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; -} - -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -function __awaiter(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -function __exportStar(m, exports) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} - -function __values(o) { - var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; - if (m) return m.call(o); - return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; -} - -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } -} - -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -function __importStar(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result.default = mod; - return result; -} - -function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _promise = __webpack_require__(227); - -var _promise2 = _interopRequireDefault(_promise); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (fn) { - return function () { - var gen = fn.apply(this, arguments); - return new _promise2.default(function (resolve, reject) { - function step(key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - - if (info.done) { - resolve(value); - } else { - return _promise2.default.resolve(value).then(function (value) { - step("next", value); - }, function (err) { - step("throw", err); - }); - } - } - - return step("next"); - }); - }; -}; - -/***/ }), -/* 3 */ -/***/ (function(module, exports) { - -module.exports = require("util"); - -/***/ }), -/* 4 */ -/***/ (function(module, exports) { - -module.exports = require("fs"); - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -class MessageError extends Error { - constructor(msg, code) { - super(msg); - this.code = code; - } - -} - -exports.MessageError = MessageError; -class ProcessSpawnError extends MessageError { - constructor(msg, code, process) { - super(msg, code); - this.process = process; - } - -} - -exports.ProcessSpawnError = ProcessSpawnError; -class SecurityError extends MessageError {} - -exports.SecurityError = SecurityError; -class ProcessTermError extends MessageError {} - -exports.ProcessTermError = ProcessTermError; -class ResponseError extends Error { - constructor(msg, responseCode) { - super(msg); - this.responseCode = responseCode; - } - -} - -exports.ResponseError = ResponseError; -class OneTimePasswordError extends Error {} -exports.OneTimePasswordError = OneTimePasswordError; - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getFirstSuitableFolder = exports.readFirstAvailableStream = exports.makeTempDir = exports.hardlinksWork = exports.writeFilePreservingEol = exports.getFileSizeOnDisk = exports.walk = exports.symlink = exports.find = exports.readJsonAndFile = exports.readJson = exports.readFileAny = exports.hardlinkBulk = exports.copyBulk = exports.unlink = exports.glob = exports.link = exports.chmod = exports.lstat = exports.exists = exports.mkdirp = exports.stat = exports.access = exports.rename = exports.readdir = exports.realpath = exports.readlink = exports.writeFile = exports.open = exports.readFileBuffer = exports.lockQueue = exports.constants = undefined; - -var _asyncToGenerator2; - -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(2)); -} - -let buildActionsForCopy = (() => { - var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { - - // - let build = (() => { - var _ref5 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - const src = data.src, - dest = data.dest, - type = data.type; - - const onFresh = data.onFresh || noop; - const onDone = data.onDone || noop; - - // TODO https://github.com/yarnpkg/yarn/issues/3751 - // related to bundled dependencies handling - if (files.has(dest.toLowerCase())) { - reporter.verbose(`The case-insensitive file ${dest} shouldn't be copied twice in one bulk copy`); - } else { - files.add(dest.toLowerCase()); - } - - if (type === 'symlink') { - yield mkdirp((_path || _load_path()).default.dirname(dest)); - onFresh(); - actions.symlink.push({ - dest, - linkname: src - }); - onDone(); - return; - } - - if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { - // ignored file - return; - } - - const srcStat = yield lstat(src); - let srcFiles; - - if (srcStat.isDirectory()) { - srcFiles = yield readdir(src); - } - - let destStat; - try { - // try accessing the destination - destStat = yield lstat(dest); - } catch (e) { - // proceed if destination doesn't exist, otherwise error - if (e.code !== 'ENOENT') { - throw e; - } - } - - // if destination exists - if (destStat) { - const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); - const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); - const bothFiles = srcStat.isFile() && destStat.isFile(); - - // EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving - // us modes that aren't valid. investigate this, it's generally safe to proceed. - - /* if (srcStat.mode !== destStat.mode) { - try { - await access(dest, srcStat.mode); - } catch (err) {} - } */ - - if (bothFiles && artifactFiles.has(dest)) { - // this file gets changed during build, likely by a custom install script. Don't bother checking it. - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipArtifact', src)); - return; - } - - if (bothFiles && srcStat.size === destStat.size && (0, (_fsNormalized || _load_fsNormalized()).fileDatesEqual)(srcStat.mtime, destStat.mtime)) { - // we can safely assume this is the same file - onDone(); - reporter.verbose(reporter.lang('verboseFileSkip', src, dest, srcStat.size, +srcStat.mtime)); - return; - } - - if (bothSymlinks) { - const srcReallink = yield readlink(src); - if (srcReallink === (yield readlink(dest))) { - // if both symlinks are the same then we can continue on - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipSymlink', src, dest, srcReallink)); - return; - } - } - - if (bothFolders) { - // mark files that aren't in this folder as possibly extraneous - const destFiles = yield readdir(dest); - invariant(srcFiles, 'src files not initialised'); - - for (var _iterator4 = destFiles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref6; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref6 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref6 = _i4.value; - } - - const file = _ref6; - - if (srcFiles.indexOf(file) < 0) { - const loc = (_path || _load_path()).default.join(dest, file); - possibleExtraneous.add(loc); - - if ((yield lstat(loc)).isDirectory()) { - for (var _iterator5 = yield readdir(loc), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref7; - - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref7 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref7 = _i5.value; - } - - const file = _ref7; - - possibleExtraneous.add((_path || _load_path()).default.join(loc, file)); - } - } - } - } - } - } - - if (destStat && destStat.isSymbolicLink()) { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); - destStat = null; - } - - if (srcStat.isSymbolicLink()) { - onFresh(); - const linkname = yield readlink(src); - actions.symlink.push({ - dest, - linkname - }); - onDone(); - } else if (srcStat.isDirectory()) { - if (!destStat) { - reporter.verbose(reporter.lang('verboseFileFolder', dest)); - yield mkdirp(dest); - } - - const destParts = dest.split((_path || _load_path()).default.sep); - while (destParts.length) { - files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); - destParts.pop(); - } - - // push all files to queue - invariant(srcFiles, 'src files not initialised'); - let remaining = srcFiles.length; - if (!remaining) { - onDone(); - } - for (var _iterator6 = srcFiles, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref8; - - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref8 = _iterator6[_i6++]; - } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref8 = _i6.value; - } - - const file = _ref8; - - queue.push({ - dest: (_path || _load_path()).default.join(dest, file), - onFresh, - onDone: function (_onDone) { - function onDone() { - return _onDone.apply(this, arguments); - } - - onDone.toString = function () { - return _onDone.toString(); - }; - - return onDone; - }(function () { - if (--remaining === 0) { - onDone(); - } - }), - src: (_path || _load_path()).default.join(src, file) - }); - } - } else if (srcStat.isFile()) { - onFresh(); - actions.file.push({ - src, - dest, - atime: srcStat.atime, - mtime: srcStat.mtime, - mode: srcStat.mode - }); - onDone(); - } else { - throw new Error(`unsure how to copy this: ${src}`); - } - }); - - return function build(_x5) { - return _ref5.apply(this, arguments); - }; - })(); - - const artifactFiles = new Set(events.artifactFiles || []); - const files = new Set(); - - // initialise events - for (var _iterator = queue, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref2; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref2 = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref2 = _i.value; - } - - const item = _ref2; - - const onDone = item.onDone; - item.onDone = function () { - events.onProgress(item.dest); - if (onDone) { - onDone(); - } - }; - } - events.onStart(queue.length); - - // start building actions - const actions = { - file: [], - symlink: [], - link: [] - }; - - // custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items - // at a time due to the requirement to push items onto the queue - while (queue.length) { - const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); - yield Promise.all(items.map(build)); - } - - // simulate the existence of some files to prevent considering them extraneous - for (var _iterator2 = artifactFiles, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref3; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref3 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref3 = _i2.value; - } - - const file = _ref3; - - if (possibleExtraneous.has(file)) { - reporter.verbose(reporter.lang('verboseFilePhantomExtraneous', file)); - possibleExtraneous.delete(file); - } - } - - for (var _iterator3 = possibleExtraneous, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref4; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref4 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref4 = _i3.value; - } - - const loc = _ref4; - - if (files.has(loc.toLowerCase())) { - possibleExtraneous.delete(loc); - } - } - - return actions; - }); - - return function buildActionsForCopy(_x, _x2, _x3, _x4) { - return _ref.apply(this, arguments); - }; -})(); - -let buildActionsForHardlink = (() => { - var _ref9 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { - - // - let build = (() => { - var _ref13 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - const src = data.src, - dest = data.dest; - - const onFresh = data.onFresh || noop; - const onDone = data.onDone || noop; - if (files.has(dest.toLowerCase())) { - // Fixes issue https://github.com/yarnpkg/yarn/issues/2734 - // When bulk hardlinking we have A -> B structure that we want to hardlink to A1 -> B1, - // package-linker passes that modules A1 and B1 need to be hardlinked, - // the recursive linking algorithm of A1 ends up scheduling files in B1 to be linked twice which will case - // an exception. - onDone(); - return; - } - files.add(dest.toLowerCase()); - - if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { - // ignored file - return; - } - - const srcStat = yield lstat(src); - let srcFiles; - - if (srcStat.isDirectory()) { - srcFiles = yield readdir(src); - } - - const destExists = yield exists(dest); - if (destExists) { - const destStat = yield lstat(dest); - - const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); - const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); - const bothFiles = srcStat.isFile() && destStat.isFile(); - - if (srcStat.mode !== destStat.mode) { - try { - yield access(dest, srcStat.mode); - } catch (err) { - // EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving - // us modes that aren't valid. investigate this, it's generally safe to proceed. - reporter.verbose(err); - } - } - - if (bothFiles && artifactFiles.has(dest)) { - // this file gets changed during build, likely by a custom install script. Don't bother checking it. - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipArtifact', src)); - return; - } - - // correct hardlink - if (bothFiles && srcStat.ino !== null && srcStat.ino === destStat.ino) { - onDone(); - reporter.verbose(reporter.lang('verboseFileSkip', src, dest, srcStat.ino)); - return; - } - - if (bothSymlinks) { - const srcReallink = yield readlink(src); - if (srcReallink === (yield readlink(dest))) { - // if both symlinks are the same then we can continue on - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipSymlink', src, dest, srcReallink)); - return; - } - } - - if (bothFolders) { - // mark files that aren't in this folder as possibly extraneous - const destFiles = yield readdir(dest); - invariant(srcFiles, 'src files not initialised'); - - for (var _iterator10 = destFiles, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { - var _ref14; - - if (_isArray10) { - if (_i10 >= _iterator10.length) break; - _ref14 = _iterator10[_i10++]; - } else { - _i10 = _iterator10.next(); - if (_i10.done) break; - _ref14 = _i10.value; - } - - const file = _ref14; - - if (srcFiles.indexOf(file) < 0) { - const loc = (_path || _load_path()).default.join(dest, file); - possibleExtraneous.add(loc); - - if ((yield lstat(loc)).isDirectory()) { - for (var _iterator11 = yield readdir(loc), _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) { - var _ref15; - - if (_isArray11) { - if (_i11 >= _iterator11.length) break; - _ref15 = _iterator11[_i11++]; - } else { - _i11 = _iterator11.next(); - if (_i11.done) break; - _ref15 = _i11.value; - } - - const file = _ref15; - - possibleExtraneous.add((_path || _load_path()).default.join(loc, file)); - } - } - } - } - } - } - - if (srcStat.isSymbolicLink()) { - onFresh(); - const linkname = yield readlink(src); - actions.symlink.push({ - dest, - linkname - }); - onDone(); - } else if (srcStat.isDirectory()) { - reporter.verbose(reporter.lang('verboseFileFolder', dest)); - yield mkdirp(dest); - - const destParts = dest.split((_path || _load_path()).default.sep); - while (destParts.length) { - files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); - destParts.pop(); - } - - // push all files to queue - invariant(srcFiles, 'src files not initialised'); - let remaining = srcFiles.length; - if (!remaining) { - onDone(); - } - for (var _iterator12 = srcFiles, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) { - var _ref16; - - if (_isArray12) { - if (_i12 >= _iterator12.length) break; - _ref16 = _iterator12[_i12++]; - } else { - _i12 = _iterator12.next(); - if (_i12.done) break; - _ref16 = _i12.value; - } - - const file = _ref16; - - queue.push({ - onFresh, - src: (_path || _load_path()).default.join(src, file), - dest: (_path || _load_path()).default.join(dest, file), - onDone: function (_onDone2) { - function onDone() { - return _onDone2.apply(this, arguments); - } - - onDone.toString = function () { - return _onDone2.toString(); - }; - - return onDone; - }(function () { - if (--remaining === 0) { - onDone(); - } - }) - }); - } - } else if (srcStat.isFile()) { - onFresh(); - actions.link.push({ - src, - dest, - removeDest: destExists - }); - onDone(); - } else { - throw new Error(`unsure how to copy this: ${src}`); - } - }); - - return function build(_x10) { - return _ref13.apply(this, arguments); - }; - })(); - - const artifactFiles = new Set(events.artifactFiles || []); - const files = new Set(); - - // initialise events - for (var _iterator7 = queue, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { - var _ref10; - - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref10 = _iterator7[_i7++]; - } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref10 = _i7.value; - } - - const item = _ref10; - - const onDone = item.onDone || noop; - item.onDone = function () { - events.onProgress(item.dest); - onDone(); - }; - } - events.onStart(queue.length); - - // start building actions - const actions = { - file: [], - symlink: [], - link: [] - }; - - // custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items - // at a time due to the requirement to push items onto the queue - while (queue.length) { - const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); - yield Promise.all(items.map(build)); - } - - // simulate the existence of some files to prevent considering them extraneous - for (var _iterator8 = artifactFiles, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { - var _ref11; - - if (_isArray8) { - if (_i8 >= _iterator8.length) break; - _ref11 = _iterator8[_i8++]; - } else { - _i8 = _iterator8.next(); - if (_i8.done) break; - _ref11 = _i8.value; - } - - const file = _ref11; - - if (possibleExtraneous.has(file)) { - reporter.verbose(reporter.lang('verboseFilePhantomExtraneous', file)); - possibleExtraneous.delete(file); - } - } - - for (var _iterator9 = possibleExtraneous, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { - var _ref12; - - if (_isArray9) { - if (_i9 >= _iterator9.length) break; - _ref12 = _iterator9[_i9++]; - } else { - _i9 = _iterator9.next(); - if (_i9.done) break; - _ref12 = _i9.value; - } - - const loc = _ref12; - - if (files.has(loc.toLowerCase())) { - possibleExtraneous.delete(loc); - } - } - - return actions; - }); - - return function buildActionsForHardlink(_x6, _x7, _x8, _x9) { - return _ref9.apply(this, arguments); - }; -})(); - -let copyBulk = exports.copyBulk = (() => { - var _ref17 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { - const events = { - onStart: _events && _events.onStart || noop, - onProgress: _events && _events.onProgress || noop, - possibleExtraneous: _events ? _events.possibleExtraneous : new Set(), - ignoreBasenames: _events && _events.ignoreBasenames || [], - artifactFiles: _events && _events.artifactFiles || [] - }; - - const actions = yield buildActionsForCopy(queue, events, events.possibleExtraneous, reporter); - events.onStart(actions.file.length + actions.symlink.length + actions.link.length); - - const fileActions = actions.file; - - const currentlyWriting = new Map(); - - yield (_promise || _load_promise()).queue(fileActions, (() => { - var _ref18 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - let writePromise; - while (writePromise = currentlyWriting.get(data.dest)) { - yield writePromise; - } - - reporter.verbose(reporter.lang('verboseFileCopy', data.src, data.dest)); - const copier = (0, (_fsNormalized || _load_fsNormalized()).copyFile)(data, function () { - return currentlyWriting.delete(data.dest); - }); - currentlyWriting.set(data.dest, copier); - events.onProgress(data.dest); - return copier; - }); - - return function (_x14) { - return _ref18.apply(this, arguments); - }; - })(), CONCURRENT_QUEUE_ITEMS); - - // we need to copy symlinks last as they could reference files we were copying - const symlinkActions = actions.symlink; - yield (_promise || _load_promise()).queue(symlinkActions, function (data) { - const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); - reporter.verbose(reporter.lang('verboseFileSymlink', data.dest, linkname)); - return symlink(linkname, data.dest); - }); - }); - - return function copyBulk(_x11, _x12, _x13) { - return _ref17.apply(this, arguments); - }; -})(); - -let hardlinkBulk = exports.hardlinkBulk = (() => { - var _ref19 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { - const events = { - onStart: _events && _events.onStart || noop, - onProgress: _events && _events.onProgress || noop, - possibleExtraneous: _events ? _events.possibleExtraneous : new Set(), - artifactFiles: _events && _events.artifactFiles || [], - ignoreBasenames: [] - }; - - const actions = yield buildActionsForHardlink(queue, events, events.possibleExtraneous, reporter); - events.onStart(actions.file.length + actions.symlink.length + actions.link.length); - - const fileActions = actions.link; - - yield (_promise || _load_promise()).queue(fileActions, (() => { - var _ref20 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - reporter.verbose(reporter.lang('verboseFileLink', data.src, data.dest)); - if (data.removeDest) { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(data.dest); - } - yield link(data.src, data.dest); - }); - - return function (_x18) { - return _ref20.apply(this, arguments); - }; - })(), CONCURRENT_QUEUE_ITEMS); - - // we need to copy symlinks last as they could reference files we were copying - const symlinkActions = actions.symlink; - yield (_promise || _load_promise()).queue(symlinkActions, function (data) { - const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); - reporter.verbose(reporter.lang('verboseFileSymlink', data.dest, linkname)); - return symlink(linkname, data.dest); - }); - }); - - return function hardlinkBulk(_x15, _x16, _x17) { - return _ref19.apply(this, arguments); - }; -})(); - -let readFileAny = exports.readFileAny = (() => { - var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (files) { - for (var _iterator13 = files, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) { - var _ref22; - - if (_isArray13) { - if (_i13 >= _iterator13.length) break; - _ref22 = _iterator13[_i13++]; - } else { - _i13 = _iterator13.next(); - if (_i13.done) break; - _ref22 = _i13.value; - } - - const file = _ref22; - - if (yield exists(file)) { - return readFile(file); - } - } - return null; - }); - - return function readFileAny(_x19) { - return _ref21.apply(this, arguments); - }; -})(); - -let readJson = exports.readJson = (() => { - var _ref23 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - return (yield readJsonAndFile(loc)).object; - }); - - return function readJson(_x20) { - return _ref23.apply(this, arguments); - }; -})(); - -let readJsonAndFile = exports.readJsonAndFile = (() => { - var _ref24 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - const file = yield readFile(loc); - try { - return { - object: (0, (_map || _load_map()).default)(JSON.parse(stripBOM(file))), - content: file - }; - } catch (err) { - err.message = `${loc}: ${err.message}`; - throw err; - } - }); - - return function readJsonAndFile(_x21) { - return _ref24.apply(this, arguments); - }; -})(); - -let find = exports.find = (() => { - var _ref25 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (filename, dir) { - const parts = dir.split((_path || _load_path()).default.sep); - - while (parts.length) { - const loc = parts.concat(filename).join((_path || _load_path()).default.sep); - - if (yield exists(loc)) { - return loc; - } else { - parts.pop(); - } - } - - return false; - }); - - return function find(_x22, _x23) { - return _ref25.apply(this, arguments); - }; -})(); - -let symlink = exports.symlink = (() => { - var _ref26 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest) { - if (process.platform !== 'win32') { - // use relative paths otherwise which will be retained if the directory is moved - src = (_path || _load_path()).default.relative((_path || _load_path()).default.dirname(dest), src); - // When path.relative returns an empty string for the current directory, we should instead use - // '.', which is a valid fs.symlink target. - src = src || '.'; - } - - try { - const stats = yield lstat(dest); - if (stats.isSymbolicLink()) { - const resolved = dest; - if (resolved === src) { - return; - } - } - } catch (err) { - if (err.code !== 'ENOENT') { - throw err; - } - } - - // We use rimraf for unlink which never throws an ENOENT on missing target - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); - - if (process.platform === 'win32') { - // use directory junctions if possible on win32, this requires absolute paths - yield fsSymlink(src, dest, 'junction'); - } else { - yield fsSymlink(src, dest); - } - }); - - return function symlink(_x24, _x25) { - return _ref26.apply(this, arguments); - }; -})(); - -let walk = exports.walk = (() => { - var _ref27 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir, relativeDir, ignoreBasenames = new Set()) { - let files = []; - - let filenames = yield readdir(dir); - if (ignoreBasenames.size) { - filenames = filenames.filter(function (name) { - return !ignoreBasenames.has(name); - }); - } - - for (var _iterator14 = filenames, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) { - var _ref28; - - if (_isArray14) { - if (_i14 >= _iterator14.length) break; - _ref28 = _iterator14[_i14++]; - } else { - _i14 = _iterator14.next(); - if (_i14.done) break; - _ref28 = _i14.value; - } - - const name = _ref28; - - const relative = relativeDir ? (_path || _load_path()).default.join(relativeDir, name) : name; - const loc = (_path || _load_path()).default.join(dir, name); - const stat = yield lstat(loc); - - files.push({ - relative, - basename: name, - absolute: loc, - mtime: +stat.mtime - }); - - if (stat.isDirectory()) { - files = files.concat((yield walk(loc, relative, ignoreBasenames))); - } - } - - return files; - }); - - return function walk(_x26, _x27) { - return _ref27.apply(this, arguments); - }; -})(); - -let getFileSizeOnDisk = exports.getFileSizeOnDisk = (() => { - var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - const stat = yield lstat(loc); - const size = stat.size, - blockSize = stat.blksize; - - - return Math.ceil(size / blockSize) * blockSize; - }); - - return function getFileSizeOnDisk(_x28) { - return _ref29.apply(this, arguments); - }; -})(); - -let getEolFromFile = (() => { - var _ref30 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path) { - if (!(yield exists(path))) { - return undefined; - } - - const buffer = yield readFileBuffer(path); - - for (let i = 0; i < buffer.length; ++i) { - if (buffer[i] === cr) { - return '\r\n'; - } - if (buffer[i] === lf) { - return '\n'; - } - } - return undefined; - }); - - return function getEolFromFile(_x29) { - return _ref30.apply(this, arguments); - }; -})(); - -let writeFilePreservingEol = exports.writeFilePreservingEol = (() => { - var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path, data) { - const eol = (yield getEolFromFile(path)) || (_os || _load_os()).default.EOL; - if (eol !== '\n') { - data = data.replace(/\n/g, eol); - } - yield writeFile(path, data); - }); - - return function writeFilePreservingEol(_x30, _x31) { - return _ref31.apply(this, arguments); - }; -})(); - -let hardlinksWork = exports.hardlinksWork = (() => { - var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir) { - const filename = 'test-file' + Math.random(); - const file = (_path || _load_path()).default.join(dir, filename); - const fileLink = (_path || _load_path()).default.join(dir, filename + '-link'); - try { - yield writeFile(file, 'test'); - yield link(file, fileLink); - } catch (err) { - return false; - } finally { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(file); - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(fileLink); - } - return true; - }); - - return function hardlinksWork(_x32) { - return _ref32.apply(this, arguments); - }; -})(); - -// not a strict polyfill for Node's fs.mkdtemp - - -let makeTempDir = exports.makeTempDir = (() => { - var _ref33 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (prefix) { - const dir = (_path || _load_path()).default.join((_os || _load_os()).default.tmpdir(), `yarn-${prefix || ''}-${Date.now()}-${Math.random()}`); - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dir); - yield mkdirp(dir); - return dir; - }); - - return function makeTempDir(_x33) { - return _ref33.apply(this, arguments); - }; -})(); - -let readFirstAvailableStream = exports.readFirstAvailableStream = (() => { - var _ref34 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths) { - for (var _iterator15 = paths, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) { - var _ref35; - - if (_isArray15) { - if (_i15 >= _iterator15.length) break; - _ref35 = _iterator15[_i15++]; - } else { - _i15 = _iterator15.next(); - if (_i15.done) break; - _ref35 = _i15.value; - } - - const path = _ref35; - - try { - const fd = yield open(path, 'r'); - return (_fs || _load_fs()).default.createReadStream(path, { fd }); - } catch (err) { - // Try the next one - } - } - return null; - }); - - return function readFirstAvailableStream(_x34) { - return _ref34.apply(this, arguments); - }; -})(); - -let getFirstSuitableFolder = exports.getFirstSuitableFolder = (() => { - var _ref36 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths, mode = constants.W_OK | constants.X_OK) { - const result = { - skipped: [], - folder: null - }; - - for (var _iterator16 = paths, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) { - var _ref37; - - if (_isArray16) { - if (_i16 >= _iterator16.length) break; - _ref37 = _iterator16[_i16++]; - } else { - _i16 = _iterator16.next(); - if (_i16.done) break; - _ref37 = _i16.value; - } - - const folder = _ref37; - - try { - yield mkdirp(folder); - yield access(folder, mode); - - result.folder = folder; - - return result; - } catch (error) { - result.skipped.push({ - error, - folder - }); - } - } - return result; - }); - - return function getFirstSuitableFolder(_x35) { - return _ref36.apply(this, arguments); - }; -})(); - -exports.copy = copy; -exports.readFile = readFile; -exports.readFileRaw = readFileRaw; -exports.normalizeOS = normalizeOS; - -var _fs; - -function _load_fs() { - return _fs = _interopRequireDefault(__webpack_require__(4)); -} - -var _glob; - -function _load_glob() { - return _glob = _interopRequireDefault(__webpack_require__(99)); -} - -var _os; - -function _load_os() { - return _os = _interopRequireDefault(__webpack_require__(49)); -} - -var _path; - -function _load_path() { - return _path = _interopRequireDefault(__webpack_require__(0)); -} - -var _blockingQueue; - -function _load_blockingQueue() { - return _blockingQueue = _interopRequireDefault(__webpack_require__(110)); -} - -var _promise; - -function _load_promise() { - return _promise = _interopRequireWildcard(__webpack_require__(50)); -} - -var _promise2; - -function _load_promise2() { - return _promise2 = __webpack_require__(50); -} - -var _map; - -function _load_map() { - return _map = _interopRequireDefault(__webpack_require__(29)); -} - -var _fsNormalized; - -function _load_fsNormalized() { - return _fsNormalized = __webpack_require__(218); -} - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const constants = exports.constants = typeof (_fs || _load_fs()).default.constants !== 'undefined' ? (_fs || _load_fs()).default.constants : { - R_OK: (_fs || _load_fs()).default.R_OK, - W_OK: (_fs || _load_fs()).default.W_OK, - X_OK: (_fs || _load_fs()).default.X_OK -}; - -const lockQueue = exports.lockQueue = new (_blockingQueue || _load_blockingQueue()).default('fs lock'); - -const readFileBuffer = exports.readFileBuffer = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readFile); -const open = exports.open = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.open); -const writeFile = exports.writeFile = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.writeFile); -const readlink = exports.readlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readlink); -const realpath = exports.realpath = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.realpath); -const readdir = exports.readdir = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readdir); -const rename = exports.rename = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.rename); -const access = exports.access = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.access); -const stat = exports.stat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.stat); -const mkdirp = exports.mkdirp = (0, (_promise2 || _load_promise2()).promisify)(__webpack_require__(145)); -const exists = exports.exists = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.exists, true); -const lstat = exports.lstat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.lstat); -const chmod = exports.chmod = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.chmod); -const link = exports.link = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.link); -const glob = exports.glob = (0, (_promise2 || _load_promise2()).promisify)((_glob || _load_glob()).default); -exports.unlink = (_fsNormalized || _load_fsNormalized()).unlink; - -// fs.copyFile uses the native file copying instructions on the system, performing much better -// than any JS-based solution and consumes fewer resources. Repeated testing to fine tune the -// concurrency level revealed 128 as the sweet spot on a quad-core, 16 CPU Intel system with SSD. - -const CONCURRENT_QUEUE_ITEMS = (_fs || _load_fs()).default.copyFile ? 128 : 4; - -const fsSymlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.symlink); -const invariant = __webpack_require__(9); -const stripBOM = __webpack_require__(160); - -const noop = () => {}; - -function copy(src, dest, reporter) { - return copyBulk([{ src, dest }], reporter); -} - -function _readFile(loc, encoding) { - return new Promise((resolve, reject) => { - (_fs || _load_fs()).default.readFile(loc, encoding, function (err, content) { - if (err) { - reject(err); - } else { - resolve(content); - } - }); - }); -} - -function readFile(loc) { - return _readFile(loc, 'utf8').then(normalizeOS); -} - -function readFileRaw(loc) { - return _readFile(loc, 'binary'); -} - -function normalizeOS(body) { - return body.replace(/\r\n/g, '\n'); -} - -const cr = '\r'.charCodeAt(0); -const lf = '\n'.charCodeAt(0); - -/***/ }), -/* 7 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Subscriber; }); -/* unused harmony export SafeSubscriber */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_isFunction__ = __webpack_require__(154); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Observer__ = __webpack_require__(419); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ = __webpack_require__(25); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_symbol_rxSubscriber__ = __webpack_require__(321); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__config__ = __webpack_require__(185); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_hostReportError__ = __webpack_require__(323); -/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */ - - - - - - - -var Subscriber = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](Subscriber, _super); - function Subscriber(destinationOrNext, error, complete) { - var _this = _super.call(this) || this; - _this.syncErrorValue = null; - _this.syncErrorThrown = false; - _this.syncErrorThrowable = false; - _this.isStopped = false; - _this._parentSubscription = null; - switch (arguments.length) { - case 0: - _this.destination = __WEBPACK_IMPORTED_MODULE_2__Observer__["a" /* empty */]; - break; - case 1: - if (!destinationOrNext) { - _this.destination = __WEBPACK_IMPORTED_MODULE_2__Observer__["a" /* empty */]; - break; - } - if (typeof destinationOrNext === 'object') { - if (destinationOrNext instanceof Subscriber) { - _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable; - _this.destination = destinationOrNext; - destinationOrNext.add(_this); - } - else { - _this.syncErrorThrowable = true; - _this.destination = new SafeSubscriber(_this, destinationOrNext); - } - break; - } - default: - _this.syncErrorThrowable = true; - _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete); - break; - } - return _this; - } - Subscriber.prototype[__WEBPACK_IMPORTED_MODULE_4__internal_symbol_rxSubscriber__["a" /* rxSubscriber */]] = function () { return this; }; - Subscriber.create = function (next, error, complete) { - var subscriber = new Subscriber(next, error, complete); - subscriber.syncErrorThrowable = false; - return subscriber; - }; - Subscriber.prototype.next = function (value) { - if (!this.isStopped) { - this._next(value); - } - }; - Subscriber.prototype.error = function (err) { - if (!this.isStopped) { - this.isStopped = true; - this._error(err); - } - }; - Subscriber.prototype.complete = function () { - if (!this.isStopped) { - this.isStopped = true; - this._complete(); - } - }; - Subscriber.prototype.unsubscribe = function () { - if (this.closed) { - return; - } - this.isStopped = true; - _super.prototype.unsubscribe.call(this); - }; - Subscriber.prototype._next = function (value) { - this.destination.next(value); - }; - Subscriber.prototype._error = function (err) { - this.destination.error(err); - this.unsubscribe(); - }; - Subscriber.prototype._complete = function () { - this.destination.complete(); - this.unsubscribe(); - }; - Subscriber.prototype._unsubscribeAndRecycle = function () { - var _a = this, _parent = _a._parent, _parents = _a._parents; - this._parent = null; - this._parents = null; - this.unsubscribe(); - this.closed = false; - this.isStopped = false; - this._parent = _parent; - this._parents = _parents; - this._parentSubscription = null; - return this; - }; - return Subscriber; -}(__WEBPACK_IMPORTED_MODULE_3__Subscription__["a" /* Subscription */])); - -var SafeSubscriber = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](SafeSubscriber, _super); - function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) { - var _this = _super.call(this) || this; - _this._parentSubscriber = _parentSubscriber; - var next; - var context = _this; - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_isFunction__["a" /* isFunction */])(observerOrNext)) { - next = observerOrNext; - } - else if (observerOrNext) { - next = observerOrNext.next; - error = observerOrNext.error; - complete = observerOrNext.complete; - if (observerOrNext !== __WEBPACK_IMPORTED_MODULE_2__Observer__["a" /* empty */]) { - context = Object.create(observerOrNext); - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_isFunction__["a" /* isFunction */])(context.unsubscribe)) { - _this.add(context.unsubscribe.bind(context)); - } - context.unsubscribe = _this.unsubscribe.bind(_this); - } - } - _this._context = context; - _this._next = next; - _this._error = error; - _this._complete = complete; - return _this; - } - SafeSubscriber.prototype.next = function (value) { - if (!this.isStopped && this._next) { - var _parentSubscriber = this._parentSubscriber; - if (!__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) { - this.__tryOrUnsub(this._next, value); - } - else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) { - this.unsubscribe(); - } - } - }; - SafeSubscriber.prototype.error = function (err) { - if (!this.isStopped) { - var _parentSubscriber = this._parentSubscriber; - var useDeprecatedSynchronousErrorHandling = __WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling; - if (this._error) { - if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) { - this.__tryOrUnsub(this._error, err); - this.unsubscribe(); - } - else { - this.__tryOrSetError(_parentSubscriber, this._error, err); - this.unsubscribe(); - } - } - else if (!_parentSubscriber.syncErrorThrowable) { - this.unsubscribe(); - if (useDeprecatedSynchronousErrorHandling) { - throw err; - } - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__["a" /* hostReportError */])(err); - } - else { - if (useDeprecatedSynchronousErrorHandling) { - _parentSubscriber.syncErrorValue = err; - _parentSubscriber.syncErrorThrown = true; - } - else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__["a" /* hostReportError */])(err); - } - this.unsubscribe(); - } - } - }; - SafeSubscriber.prototype.complete = function () { - var _this = this; - if (!this.isStopped) { - var _parentSubscriber = this._parentSubscriber; - if (this._complete) { - var wrappedComplete = function () { return _this._complete.call(_this._context); }; - if (!__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) { - this.__tryOrUnsub(wrappedComplete); - this.unsubscribe(); - } - else { - this.__tryOrSetError(_parentSubscriber, wrappedComplete); - this.unsubscribe(); - } - } - else { - this.unsubscribe(); - } - } - }; - SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) { - try { - fn.call(this._context, value); - } - catch (err) { - this.unsubscribe(); - if (__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - throw err; - } - else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__["a" /* hostReportError */])(err); - } - } - }; - SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) { - if (!__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - throw new Error('bad call'); - } - try { - fn.call(this._context, value); - } - catch (err) { - if (__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - parent.syncErrorValue = err; - parent.syncErrorThrown = true; - return true; - } - else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__["a" /* hostReportError */])(err); - return true; - } - } - return false; - }; - SafeSubscriber.prototype._unsubscribe = function () { - var _parentSubscriber = this._parentSubscriber; - this._context = null; - this._parentSubscriber = null; - _parentSubscriber.unsubscribe(); - }; - return SafeSubscriber; -}(Subscriber)); - -//# sourceMappingURL=Subscriber.js.map - - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getPathKey = getPathKey; -const os = __webpack_require__(49); -const path = __webpack_require__(0); -const userHome = __webpack_require__(66).default; - -var _require = __webpack_require__(225); - -const getCacheDir = _require.getCacheDir, - getConfigDir = _require.getConfigDir, - getDataDir = _require.getDataDir; - -const isWebpackBundle = __webpack_require__(278); - -const DEPENDENCY_TYPES = exports.DEPENDENCY_TYPES = ['devDependencies', 'dependencies', 'optionalDependencies', 'peerDependencies']; -const OWNED_DEPENDENCY_TYPES = exports.OWNED_DEPENDENCY_TYPES = ['devDependencies', 'dependencies', 'optionalDependencies']; - -const RESOLUTIONS = exports.RESOLUTIONS = 'resolutions'; -const MANIFEST_FIELDS = exports.MANIFEST_FIELDS = [RESOLUTIONS, ...DEPENDENCY_TYPES]; - -const SUPPORTED_NODE_VERSIONS = exports.SUPPORTED_NODE_VERSIONS = '^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0'; - -const YARN_REGISTRY = exports.YARN_REGISTRY = 'https://registry.yarnpkg.com'; -const NPM_REGISTRY_RE = exports.NPM_REGISTRY_RE = /https?:\/\/registry\.npmjs\.org/g; - -const YARN_DOCS = exports.YARN_DOCS = 'https://yarnpkg.com/en/docs/cli/'; -const YARN_INSTALLER_SH = exports.YARN_INSTALLER_SH = 'https://yarnpkg.com/install.sh'; -const YARN_INSTALLER_MSI = exports.YARN_INSTALLER_MSI = 'https://yarnpkg.com/latest.msi'; - -const SELF_UPDATE_VERSION_URL = exports.SELF_UPDATE_VERSION_URL = 'https://yarnpkg.com/latest-version'; - -// cache version, bump whenever we make backwards incompatible changes -const CACHE_VERSION = exports.CACHE_VERSION = 4; - -// lockfile version, bump whenever we make backwards incompatible changes -const LOCKFILE_VERSION = exports.LOCKFILE_VERSION = 1; - -// max amount of network requests to perform concurrently -const NETWORK_CONCURRENCY = exports.NETWORK_CONCURRENCY = 8; - -// HTTP timeout used when downloading packages -const NETWORK_TIMEOUT = exports.NETWORK_TIMEOUT = 30 * 1000; // in milliseconds - -// max amount of child processes to execute concurrently -const CHILD_CONCURRENCY = exports.CHILD_CONCURRENCY = 5; - -const REQUIRED_PACKAGE_KEYS = exports.REQUIRED_PACKAGE_KEYS = ['name', 'version', '_uid']; - -function getPreferredCacheDirectories() { - const preferredCacheDirectories = [getCacheDir()]; - - if (process.getuid) { - // $FlowFixMe: process.getuid exists, dammit - preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache-${process.getuid()}`)); - } - - preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache`)); - - return preferredCacheDirectories; -} - -const PREFERRED_MODULE_CACHE_DIRECTORIES = exports.PREFERRED_MODULE_CACHE_DIRECTORIES = getPreferredCacheDirectories(); -const CONFIG_DIRECTORY = exports.CONFIG_DIRECTORY = getConfigDir(); -const DATA_DIRECTORY = exports.DATA_DIRECTORY = getDataDir(); -const LINK_REGISTRY_DIRECTORY = exports.LINK_REGISTRY_DIRECTORY = path.join(DATA_DIRECTORY, 'link'); -const GLOBAL_MODULE_DIRECTORY = exports.GLOBAL_MODULE_DIRECTORY = path.join(DATA_DIRECTORY, 'global'); - -const NODE_BIN_PATH = exports.NODE_BIN_PATH = process.execPath; -const YARN_BIN_PATH = exports.YARN_BIN_PATH = getYarnBinPath(); - -// Webpack needs to be configured with node.__dirname/__filename = false -function getYarnBinPath() { - if (isWebpackBundle) { - return __filename; - } else { - return path.join(__dirname, '..', 'bin', 'yarn.js'); - } -} - -const NODE_MODULES_FOLDER = exports.NODE_MODULES_FOLDER = 'node_modules'; -const NODE_PACKAGE_JSON = exports.NODE_PACKAGE_JSON = 'package.json'; - -const PNP_FILENAME = exports.PNP_FILENAME = '.pnp.js'; - -const POSIX_GLOBAL_PREFIX = exports.POSIX_GLOBAL_PREFIX = `${process.env.DESTDIR || ''}/usr/local`; -const FALLBACK_GLOBAL_PREFIX = exports.FALLBACK_GLOBAL_PREFIX = path.join(userHome, '.yarn'); - -const META_FOLDER = exports.META_FOLDER = '.yarn-meta'; -const INTEGRITY_FILENAME = exports.INTEGRITY_FILENAME = '.yarn-integrity'; -const LOCKFILE_FILENAME = exports.LOCKFILE_FILENAME = 'yarn.lock'; -const METADATA_FILENAME = exports.METADATA_FILENAME = '.yarn-metadata.json'; -const TARBALL_FILENAME = exports.TARBALL_FILENAME = '.yarn-tarball.tgz'; -const CLEAN_FILENAME = exports.CLEAN_FILENAME = '.yarnclean'; - -const NPM_LOCK_FILENAME = exports.NPM_LOCK_FILENAME = 'package-lock.json'; -const NPM_SHRINKWRAP_FILENAME = exports.NPM_SHRINKWRAP_FILENAME = 'npm-shrinkwrap.json'; - -const DEFAULT_INDENT = exports.DEFAULT_INDENT = ' '; -const SINGLE_INSTANCE_PORT = exports.SINGLE_INSTANCE_PORT = 31997; -const SINGLE_INSTANCE_FILENAME = exports.SINGLE_INSTANCE_FILENAME = '.yarn-single-instance'; - -const ENV_PATH_KEY = exports.ENV_PATH_KEY = getPathKey(process.platform, process.env); - -function getPathKey(platform, env) { - let pathKey = 'PATH'; - - // windows calls its path "Path" usually, but this is not guaranteed. - if (platform === 'win32') { - pathKey = 'Path'; - - for (const key in env) { - if (key.toLowerCase() === 'path') { - pathKey = key; - } - } - } - - return pathKey; -} - -const VERSION_COLOR_SCHEME = exports.VERSION_COLOR_SCHEME = { - major: 'red', - premajor: 'red', - minor: 'yellow', - preminor: 'yellow', - patch: 'green', - prepatch: 'green', - prerelease: 'red', - unchanged: 'white', - unknown: 'red' -}; - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - -var NODE_ENV = process.env.NODE_ENV; - -var invariant = function(condition, format, a, b, c, d, e, f) { - if (NODE_ENV !== 'production') { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } - - if (!condition) { - var error; - if (format === undefined) { - error = new Error( - 'Minified exception occurred; use the non-minified dev environment ' + - 'for the full error message and additional helpful warnings.' - ); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error( - format.replace(/%s/g, function() { return args[argIndex++]; }) - ); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -}; - -module.exports = invariant; - - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var YAMLException = __webpack_require__(54); - -var TYPE_CONSTRUCTOR_OPTIONS = [ - 'kind', - 'resolve', - 'construct', - 'instanceOf', - 'predicate', - 'represent', - 'defaultStyle', - 'styleAliases' -]; - -var YAML_NODE_KINDS = [ - 'scalar', - 'sequence', - 'mapping' -]; - -function compileStyleAliases(map) { - var result = {}; - - if (map !== null) { - Object.keys(map).forEach(function (style) { - map[style].forEach(function (alias) { - result[String(alias)] = style; - }); - }); - } - - return result; -} - -function Type(tag, options) { - options = options || {}; - - Object.keys(options).forEach(function (name) { - if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { - throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); - } - }); - - // TODO: Add tag format check. - this.tag = tag; - this.kind = options['kind'] || null; - this.resolve = options['resolve'] || function () { return true; }; - this.construct = options['construct'] || function (data) { return data; }; - this.instanceOf = options['instanceOf'] || null; - this.predicate = options['predicate'] || null; - this.represent = options['represent'] || null; - this.defaultStyle = options['defaultStyle'] || null; - this.styleAliases = compileStyleAliases(options['styleAliases'] || null); - - if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { - throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); - } -} - -module.exports = Type; - - -/***/ }), -/* 11 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Observable; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_canReportError__ = __webpack_require__(322); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_toSubscriber__ = __webpack_require__(932); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__internal_symbol_observable__ = __webpack_require__(117); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_pipe__ = __webpack_require__(324); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__config__ = __webpack_require__(185); -/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_internal_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */ - - - - - -var Observable = /*@__PURE__*/ (function () { - function Observable(subscribe) { - this._isScalar = false; - if (subscribe) { - this._subscribe = subscribe; - } - } - Observable.prototype.lift = function (operator) { - var observable = new Observable(); - observable.source = this; - observable.operator = operator; - return observable; - }; - Observable.prototype.subscribe = function (observerOrNext, error, complete) { - var operator = this.operator; - var sink = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_toSubscriber__["a" /* toSubscriber */])(observerOrNext, error, complete); - if (operator) { - operator.call(sink, this.source); - } - else { - sink.add(this.source || (__WEBPACK_IMPORTED_MODULE_4__config__["a" /* config */].useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ? - this._subscribe(sink) : - this._trySubscribe(sink)); - } - if (__WEBPACK_IMPORTED_MODULE_4__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - if (sink.syncErrorThrowable) { - sink.syncErrorThrowable = false; - if (sink.syncErrorThrown) { - throw sink.syncErrorValue; - } - } - } - return sink; - }; - Observable.prototype._trySubscribe = function (sink) { - try { - return this._subscribe(sink); - } - catch (err) { - if (__WEBPACK_IMPORTED_MODULE_4__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - sink.syncErrorThrown = true; - sink.syncErrorValue = err; - } - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_canReportError__["a" /* canReportError */])(sink)) { - sink.error(err); - } - else { - console.warn(err); - } - } - }; - Observable.prototype.forEach = function (next, promiseCtor) { - var _this = this; - promiseCtor = getPromiseCtor(promiseCtor); - return new promiseCtor(function (resolve, reject) { - var subscription; - subscription = _this.subscribe(function (value) { - try { - next(value); - } - catch (err) { - reject(err); - if (subscription) { - subscription.unsubscribe(); - } - } - }, reject, resolve); - }); - }; - Observable.prototype._subscribe = function (subscriber) { - var source = this.source; - return source && source.subscribe(subscriber); - }; - Observable.prototype[__WEBPACK_IMPORTED_MODULE_2__internal_symbol_observable__["a" /* observable */]] = function () { - return this; - }; - Observable.prototype.pipe = function () { - var operations = []; - for (var _i = 0; _i < arguments.length; _i++) { - operations[_i] = arguments[_i]; - } - if (operations.length === 0) { - return this; - } - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util_pipe__["b" /* pipeFromArray */])(operations)(this); - }; - Observable.prototype.toPromise = function (promiseCtor) { - var _this = this; - promiseCtor = getPromiseCtor(promiseCtor); - return new promiseCtor(function (resolve, reject) { - var value; - _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); }); - }); - }; - Observable.create = function (subscribe) { - return new Observable(subscribe); - }; - return Observable; -}()); - -function getPromiseCtor(promiseCtor) { - if (!promiseCtor) { - promiseCtor = __WEBPACK_IMPORTED_MODULE_4__config__["a" /* config */].Promise || Promise; - } - if (!promiseCtor) { - throw new Error('no Promise impl found'); - } - return promiseCtor; -} -//# sourceMappingURL=Observable.js.map - - -/***/ }), -/* 12 */ -/***/ (function(module, exports) { - -module.exports = require("crypto"); - -/***/ }), -/* 13 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return OuterSubscriber; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Subscriber__ = __webpack_require__(7); -/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ - - -var OuterSubscriber = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](OuterSubscriber, _super); - function OuterSubscriber() { - return _super !== null && _super.apply(this, arguments) || this; - } - OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) { - this.destination.next(innerValue); - }; - OuterSubscriber.prototype.notifyError = function (error, innerSub) { - this.destination.error(error); - }; - OuterSubscriber.prototype.notifyComplete = function (innerSub) { - this.destination.complete(); - }; - return OuterSubscriber; -}(__WEBPACK_IMPORTED_MODULE_1__Subscriber__["a" /* Subscriber */])); - -//# sourceMappingURL=OuterSubscriber.js.map - - -/***/ }), -/* 14 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = subscribeToResult; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__InnerSubscriber__ = __webpack_require__(84); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__subscribeTo__ = __webpack_require__(445); -/** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo PURE_IMPORTS_END */ - - -function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, destination) { - if (destination === void 0) { - destination = new __WEBPACK_IMPORTED_MODULE_0__InnerSubscriber__["a" /* InnerSubscriber */](outerSubscriber, outerValue, outerIndex); - } - if (destination.closed) { - return; - } - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__subscribeTo__["a" /* subscribeTo */])(result)(destination); -} -//# sourceMappingURL=subscribeToResult.js.map - - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* eslint-disable node/no-deprecated-api */ - - - -var buffer = __webpack_require__(64) -var Buffer = buffer.Buffer - -var safer = {} - -var key - -for (key in buffer) { - if (!buffer.hasOwnProperty(key)) continue - if (key === 'SlowBuffer' || key === 'Buffer') continue - safer[key] = buffer[key] -} - -var Safer = safer.Buffer = {} -for (key in Buffer) { - if (!Buffer.hasOwnProperty(key)) continue - if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue - Safer[key] = Buffer[key] -} - -safer.Buffer.prototype = Buffer.prototype - -if (!Safer.from || Safer.from === Uint8Array.from) { - Safer.from = function (value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value) - } - if (value && typeof value.length === 'undefined') { - throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value) - } - return Buffer(value, encodingOrOffset, length) - } -} - -if (!Safer.alloc) { - Safer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) - } - if (size < 0 || size >= 2 * (1 << 30)) { - throw new RangeError('The value "' + size + '" is invalid for option "size"') - } - var buf = Buffer(size) - if (!fill || fill.length === 0) { - buf.fill(0) - } else if (typeof encoding === 'string') { - buf.fill(fill, encoding) - } else { - buf.fill(fill) - } - return buf - } -} - -if (!safer.kStringMaxLength) { - try { - safer.kStringMaxLength = process.binding('buffer').kStringMaxLength - } catch (e) { - // we can't determine kStringMaxLength in environments where process.binding - // is unsupported, so let's not set it - } -} - -if (!safer.constants) { - safer.constants = { - MAX_LENGTH: safer.kMaxLength - } - if (safer.kStringMaxLength) { - safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength - } -} - -module.exports = safer - - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright (c) 2012, Mark Cavage. All rights reserved. -// Copyright 2015 Joyent, Inc. - -var assert = __webpack_require__(28); -var Stream = __webpack_require__(23).Stream; -var util = __webpack_require__(3); - - -///--- Globals - -/* JSSTYLED */ -var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; - - -///--- Internal - -function _capitalize(str) { - return (str.charAt(0).toUpperCase() + str.slice(1)); -} - -function _toss(name, expected, oper, arg, actual) { - throw new assert.AssertionError({ - message: util.format('%s (%s) is required', name, expected), - actual: (actual === undefined) ? typeof (arg) : actual(arg), - expected: expected, - operator: oper || '===', - stackStartFunction: _toss.caller - }); -} - -function _getClass(arg) { - return (Object.prototype.toString.call(arg).slice(8, -1)); -} - -function noop() { - // Why even bother with asserts? -} - - -///--- Exports - -var types = { - bool: { - check: function (arg) { return typeof (arg) === 'boolean'; } - }, - func: { - check: function (arg) { return typeof (arg) === 'function'; } - }, - string: { - check: function (arg) { return typeof (arg) === 'string'; } - }, - object: { - check: function (arg) { - return typeof (arg) === 'object' && arg !== null; - } - }, - number: { - check: function (arg) { - return typeof (arg) === 'number' && !isNaN(arg); - } - }, - finite: { - check: function (arg) { - return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg); - } - }, - buffer: { - check: function (arg) { return Buffer.isBuffer(arg); }, - operator: 'Buffer.isBuffer' - }, - array: { - check: function (arg) { return Array.isArray(arg); }, - operator: 'Array.isArray' - }, - stream: { - check: function (arg) { return arg instanceof Stream; }, - operator: 'instanceof', - actual: _getClass - }, - date: { - check: function (arg) { return arg instanceof Date; }, - operator: 'instanceof', - actual: _getClass - }, - regexp: { - check: function (arg) { return arg instanceof RegExp; }, - operator: 'instanceof', - actual: _getClass - }, - uuid: { - check: function (arg) { - return typeof (arg) === 'string' && UUID_REGEXP.test(arg); - }, - operator: 'isUUID' - } -}; - -function _setExports(ndebug) { - var keys = Object.keys(types); - var out; - - /* re-export standard assert */ - if (process.env.NODE_NDEBUG) { - out = noop; - } else { - out = function (arg, msg) { - if (!arg) { - _toss(msg, 'true', arg); - } - }; - } - - /* standard checks */ - keys.forEach(function (k) { - if (ndebug) { - out[k] = noop; - return; - } - var type = types[k]; - out[k] = function (arg, msg) { - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* optional checks */ - keys.forEach(function (k) { - var name = 'optional' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* arrayOf checks */ - keys.forEach(function (k) { - var name = 'arrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* optionalArrayOf checks */ - keys.forEach(function (k) { - var name = 'optionalArrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* re-export built-in assertions */ - Object.keys(assert).forEach(function (k) { - if (k === 'AssertionError') { - out[k] = assert[k]; - return; - } - if (ndebug) { - out[k] = noop; - return; - } - out[k] = assert[k]; - }); - - /* export ourselves (for unit tests _only_) */ - out._setExports = _setExports; - - return out; -} - -module.exports = _setExports(process.env.NODE_NDEBUG); - - -/***/ }), -/* 17 */ -/***/ (function(module, exports) { - -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self - // eslint-disable-next-line no-new-func - : Function('return this')(); -if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef - - -/***/ }), -/* 18 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.sortAlpha = sortAlpha; -exports.sortOptionsByFlags = sortOptionsByFlags; -exports.entries = entries; -exports.removePrefix = removePrefix; -exports.removeSuffix = removeSuffix; -exports.addSuffix = addSuffix; -exports.hyphenate = hyphenate; -exports.camelCase = camelCase; -exports.compareSortedArrays = compareSortedArrays; -exports.sleep = sleep; -const _camelCase = __webpack_require__(230); - -function sortAlpha(a, b) { - // sort alphabetically in a deterministic way - const shortLen = Math.min(a.length, b.length); - for (let i = 0; i < shortLen; i++) { - const aChar = a.charCodeAt(i); - const bChar = b.charCodeAt(i); - if (aChar !== bChar) { - return aChar - bChar; - } - } - return a.length - b.length; -} - -function sortOptionsByFlags(a, b) { - const aOpt = a.flags.replace(/-/g, ''); - const bOpt = b.flags.replace(/-/g, ''); - return sortAlpha(aOpt, bOpt); -} - -function entries(obj) { - const entries = []; - if (obj) { - for (const key in obj) { - entries.push([key, obj[key]]); - } - } - return entries; -} - -function removePrefix(pattern, prefix) { - if (pattern.startsWith(prefix)) { - pattern = pattern.slice(prefix.length); - } - - return pattern; -} - -function removeSuffix(pattern, suffix) { - if (pattern.endsWith(suffix)) { - return pattern.slice(0, -suffix.length); - } - - return pattern; -} - -function addSuffix(pattern, suffix) { - if (!pattern.endsWith(suffix)) { - return pattern + suffix; - } - - return pattern; -} - -function hyphenate(str) { - return str.replace(/[A-Z]/g, match => { - return '-' + match.charAt(0).toLowerCase(); - }); -} - -function camelCase(str) { - if (/[A-Z]/.test(str)) { - return null; - } else { - return _camelCase(str); - } -} - -function compareSortedArrays(array1, array2) { - if (array1.length !== array2.length) { - return false; - } - for (let i = 0, len = array1.length; i < len; i++) { - if (array1[i] !== array2[i]) { - return false; - } - } - return true; -} - -function sleep(ms) { - return new Promise(resolve => { - setTimeout(resolve, ms); - }); -} - -/***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.stringify = exports.parse = undefined; - -var _asyncToGenerator2; - -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(2)); -} - -var _parse; - -function _load_parse() { - return _parse = __webpack_require__(105); -} - -Object.defineProperty(exports, 'parse', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_parse || _load_parse()).default; - } -}); - -var _stringify; - -function _load_stringify() { - return _stringify = __webpack_require__(199); -} - -Object.defineProperty(exports, 'stringify', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_stringify || _load_stringify()).default; - } -}); -exports.implodeEntry = implodeEntry; -exports.explodeEntry = explodeEntry; - -var _misc; - -function _load_misc() { - return _misc = __webpack_require__(18); -} - -var _normalizePattern; - -function _load_normalizePattern() { - return _normalizePattern = __webpack_require__(37); -} - -var _parse2; - -function _load_parse2() { - return _parse2 = _interopRequireDefault(__webpack_require__(105)); -} - -var _constants; - -function _load_constants() { - return _constants = __webpack_require__(8); -} - -var _fs; - -function _load_fs() { - return _fs = _interopRequireWildcard(__webpack_require__(6)); -} - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const invariant = __webpack_require__(9); - -const path = __webpack_require__(0); -const ssri = __webpack_require__(77); - -function getName(pattern) { - return (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern).name; -} - -function blankObjectUndefined(obj) { - return obj && Object.keys(obj).length ? obj : undefined; -} - -function keyForRemote(remote) { - return remote.resolved || (remote.reference && remote.hash ? `${remote.reference}#${remote.hash}` : null); -} - -function serializeIntegrity(integrity) { - // We need this because `Integrity.toString()` does not use sorting to ensure a stable string output - // See https://git.io/vx2Hy - return integrity.toString().split(' ').sort().join(' '); -} - -function implodeEntry(pattern, obj) { - const inferredName = getName(pattern); - const integrity = obj.integrity ? serializeIntegrity(obj.integrity) : ''; - const imploded = { - name: inferredName === obj.name ? undefined : obj.name, - version: obj.version, - uid: obj.uid === obj.version ? undefined : obj.uid, - resolved: obj.resolved, - registry: obj.registry === 'npm' ? undefined : obj.registry, - dependencies: blankObjectUndefined(obj.dependencies), - optionalDependencies: blankObjectUndefined(obj.optionalDependencies), - permissions: blankObjectUndefined(obj.permissions), - prebuiltVariants: blankObjectUndefined(obj.prebuiltVariants) - }; - if (integrity) { - imploded.integrity = integrity; - } - return imploded; -} - -function explodeEntry(pattern, obj) { - obj.optionalDependencies = obj.optionalDependencies || {}; - obj.dependencies = obj.dependencies || {}; - obj.uid = obj.uid || obj.version; - obj.permissions = obj.permissions || {}; - obj.registry = obj.registry || 'npm'; - obj.name = obj.name || getName(pattern); - const integrity = obj.integrity; - if (integrity && integrity.isIntegrity) { - obj.integrity = ssri.parse(integrity); - } - return obj; -} - -class Lockfile { - constructor({ cache, source, parseResultType } = {}) { - this.source = source || ''; - this.cache = cache; - this.parseResultType = parseResultType; - } - - // source string if the `cache` was parsed - - - // if true, we're parsing an old yarn file and need to update integrity fields - hasEntriesExistWithoutIntegrity() { - if (!this.cache) { - return false; - } - - for (const key in this.cache) { - // $FlowFixMe - `this.cache` is clearly defined at this point - if (!/^.*@(file:|http)/.test(key) && this.cache[key] && !this.cache[key].integrity) { - return true; - } - } - - return false; - } - - static fromDirectory(dir, reporter) { - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // read the manifest in this directory - const lockfileLoc = path.join(dir, (_constants || _load_constants()).LOCKFILE_FILENAME); - - let lockfile; - let rawLockfile = ''; - let parseResult; - - if (yield (_fs || _load_fs()).exists(lockfileLoc)) { - rawLockfile = yield (_fs || _load_fs()).readFile(lockfileLoc); - parseResult = (0, (_parse2 || _load_parse2()).default)(rawLockfile, lockfileLoc); - - if (reporter) { - if (parseResult.type === 'merge') { - reporter.info(reporter.lang('lockfileMerged')); - } else if (parseResult.type === 'conflict') { - reporter.warn(reporter.lang('lockfileConflict')); - } - } - - lockfile = parseResult.object; - } else if (reporter) { - reporter.info(reporter.lang('noLockfileFound')); - } - - return new Lockfile({ cache: lockfile, source: rawLockfile, parseResultType: parseResult && parseResult.type }); - })(); - } - - getLocked(pattern) { - const cache = this.cache; - if (!cache) { - return undefined; - } - - const shrunk = pattern in cache && cache[pattern]; - - if (typeof shrunk === 'string') { - return this.getLocked(shrunk); - } else if (shrunk) { - explodeEntry(pattern, shrunk); - return shrunk; - } - - return undefined; - } - - removePattern(pattern) { - const cache = this.cache; - if (!cache) { - return; - } - delete cache[pattern]; - } - - getLockfile(patterns) { - const lockfile = {}; - const seen = new Map(); - - // order by name so that lockfile manifest is assigned to the first dependency with this manifest - // the others that have the same remoteKey will just refer to the first - // ordering allows for consistency in lockfile when it is serialized - const sortedPatternsKeys = Object.keys(patterns).sort((_misc || _load_misc()).sortAlpha); - - for (var _iterator = sortedPatternsKeys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - const pattern = _ref; - - const pkg = patterns[pattern]; - const remote = pkg._remote, - ref = pkg._reference; - - invariant(ref, 'Package is missing a reference'); - invariant(remote, 'Package is missing a remote'); - - const remoteKey = keyForRemote(remote); - const seenPattern = remoteKey && seen.get(remoteKey); - if (seenPattern) { - // no point in duplicating it - lockfile[pattern] = seenPattern; - - // if we're relying on our name being inferred and two of the patterns have - // different inferred names then we need to set it - if (!seenPattern.name && getName(pattern) !== pkg.name) { - seenPattern.name = pkg.name; - } - continue; - } - const obj = implodeEntry(pattern, { - name: pkg.name, - version: pkg.version, - uid: pkg._uid, - resolved: remote.resolved, - integrity: remote.integrity, - registry: remote.registry, - dependencies: pkg.dependencies, - peerDependencies: pkg.peerDependencies, - optionalDependencies: pkg.optionalDependencies, - permissions: ref.permissions, - prebuiltVariants: pkg.prebuiltVariants - }); - - lockfile[pattern] = obj; - - if (remoteKey) { - seen.set(remoteKey, obj); - } - } - - return lockfile; - } -} -exports.default = Lockfile; - -/***/ }), -/* 20 */ -/***/ (function(module, exports, __webpack_require__) { - -var store = __webpack_require__(133)('wks'); -var uid = __webpack_require__(137); -var Symbol = __webpack_require__(17).Symbol; -var USE_SYMBOL = typeof Symbol == 'function'; - -var $exports = module.exports = function (name) { - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - -$exports.store = store; - - -/***/ }), -/* 21 */ -/***/ (function(module, exports) { - -exports = module.exports = SemVer; - -// The debug function is excluded entirely from the minified version. -/* nomin */ var debug; -/* nomin */ if (typeof process === 'object' && - /* nomin */ process.env && - /* nomin */ process.env.NODE_DEBUG && - /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG)) - /* nomin */ debug = function() { - /* nomin */ var args = Array.prototype.slice.call(arguments, 0); - /* nomin */ args.unshift('SEMVER'); - /* nomin */ console.log.apply(console, args); - /* nomin */ }; -/* nomin */ else - /* nomin */ debug = function() {}; - -// Note: this is the semver.org version of the spec that it implements -// Not necessarily the package version of this code. -exports.SEMVER_SPEC_VERSION = '2.0.0'; - -var MAX_LENGTH = 256; -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - -// Max safe segment length for coercion. -var MAX_SAFE_COMPONENT_LENGTH = 16; - -// The actual regexps go on exports.re -var re = exports.re = []; -var src = exports.src = []; -var R = 0; - -// The following Regular Expressions can be used for tokenizing, -// validating, and parsing SemVer version strings. - -// ## Numeric Identifier -// A single `0`, or a non-zero digit followed by zero or more digits. - -var NUMERICIDENTIFIER = R++; -src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'; -var NUMERICIDENTIFIERLOOSE = R++; -src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'; - - -// ## Non-numeric Identifier -// Zero or more digits, followed by a letter or hyphen, and then zero or -// more letters, digits, or hyphens. - -var NONNUMERICIDENTIFIER = R++; -src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; - - -// ## Main Version -// Three dot-separated numeric identifiers. - -var MAINVERSION = R++; -src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')'; - -var MAINVERSIONLOOSE = R++; -src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')'; - -// ## Pre-release Version Identifier -// A numeric identifier, or a non-numeric identifier. - -var PRERELEASEIDENTIFIER = R++; -src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - -var PRERELEASEIDENTIFIERLOOSE = R++; -src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - - -// ## Pre-release Version -// Hyphen, followed by one or more dot-separated pre-release version -// identifiers. - -var PRERELEASE = R++; -src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + - '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'; - -var PRERELEASELOOSE = R++; -src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + - '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'; - -// ## Build Metadata Identifier -// Any combination of digits, letters, or hyphens. - -var BUILDIDENTIFIER = R++; -src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; - -// ## Build Metadata -// Plus sign, followed by one or more period-separated build metadata -// identifiers. - -var BUILD = R++; -src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + - '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'; - - -// ## Full Version String -// A main version, followed optionally by a pre-release version and -// build metadata. - -// Note that the only major, minor, patch, and pre-release sections of -// the version string are capturing groups. The build metadata is not a -// capturing group, because it should not ever be used in version -// comparison. - -var FULL = R++; -var FULLPLAIN = 'v?' + src[MAINVERSION] + - src[PRERELEASE] + '?' + - src[BUILD] + '?'; - -src[FULL] = '^' + FULLPLAIN + '$'; - -// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. -// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty -// common in the npm registry. -var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + - src[PRERELEASELOOSE] + '?' + - src[BUILD] + '?'; - -var LOOSE = R++; -src[LOOSE] = '^' + LOOSEPLAIN + '$'; - -var GTLT = R++; -src[GTLT] = '((?:<|>)?=?)'; - -// Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" -// Only the first item is strictly required. -var XRANGEIDENTIFIERLOOSE = R++; -src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; -var XRANGEIDENTIFIER = R++; -src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'; - -var XRANGEPLAIN = R++; -src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:' + src[PRERELEASE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGEPLAINLOOSE = R++; -src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:' + src[PRERELEASELOOSE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGE = R++; -src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'; -var XRANGELOOSE = R++; -src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'; - -// Coercion. -// Extract anything that could conceivably be a part of a valid semver -var COERCE = R++; -src[COERCE] = '(?:^|[^\\d])' + - '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + - '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + - '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + - '(?:$|[^\\d])'; - -// Tilde ranges. -// Meaning is "reasonably at or greater than" -var LONETILDE = R++; -src[LONETILDE] = '(?:~>?)'; - -var TILDETRIM = R++; -src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'; -re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g'); -var tildeTrimReplace = '$1~'; - -var TILDE = R++; -src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'; -var TILDELOOSE = R++; -src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'; - -// Caret ranges. -// Meaning is "at least and backwards compatible with" -var LONECARET = R++; -src[LONECARET] = '(?:\\^)'; - -var CARETTRIM = R++; -src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'; -re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g'); -var caretTrimReplace = '$1^'; - -var CARET = R++; -src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'; -var CARETLOOSE = R++; -src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'; - -// A simple gt/lt/eq thing, or just "" to indicate "any version" -var COMPARATORLOOSE = R++; -src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'; -var COMPARATOR = R++; -src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'; - - -// An expression to strip any whitespace between the gtlt and the thing -// it modifies, so that `> 1.2.3` ==> `>1.2.3` -var COMPARATORTRIM = R++; -src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + - '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'; - -// this one has to use the /g flag -re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g'); -var comparatorTrimReplace = '$1$2$3'; - - -// Something like `1.2.3 - 1.2.4` -// Note that these all use the loose form, because they'll be -// checked against either the strict or loose comparator form -// later. -var HYPHENRANGE = R++; -src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAIN] + ')' + - '\\s*$'; - -var HYPHENRANGELOOSE = R++; -src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s*$'; - -// Star ranges basically just allow anything at all. -var STAR = R++; -src[STAR] = '(<|>)?=?\\s*\\*'; - -// Compile to actual regexp objects. -// All are flag-free, unless they were created above with a flag. -for (var i = 0; i < R; i++) { - debug(i, src[i]); - if (!re[i]) - re[i] = new RegExp(src[i]); -} - -exports.parse = parse; -function parse(version, loose) { - if (version instanceof SemVer) - return version; - - if (typeof version !== 'string') - return null; - - if (version.length > MAX_LENGTH) - return null; - - var r = loose ? re[LOOSE] : re[FULL]; - if (!r.test(version)) - return null; - - try { - return new SemVer(version, loose); - } catch (er) { - return null; - } -} - -exports.valid = valid; -function valid(version, loose) { - var v = parse(version, loose); - return v ? v.version : null; -} - - -exports.clean = clean; -function clean(version, loose) { - var s = parse(version.trim().replace(/^[=v]+/, ''), loose); - return s ? s.version : null; -} - -exports.SemVer = SemVer; - -function SemVer(version, loose) { - if (version instanceof SemVer) { - if (version.loose === loose) - return version; - else - version = version.version; - } else if (typeof version !== 'string') { - throw new TypeError('Invalid Version: ' + version); - } - - if (version.length > MAX_LENGTH) - throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') - - if (!(this instanceof SemVer)) - return new SemVer(version, loose); - - debug('SemVer', version, loose); - this.loose = loose; - var m = version.trim().match(loose ? re[LOOSE] : re[FULL]); - - if (!m) - throw new TypeError('Invalid Version: ' + version); - - this.raw = version; - - // these are actually numbers - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - - if (this.major > MAX_SAFE_INTEGER || this.major < 0) - throw new TypeError('Invalid major version') - - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) - throw new TypeError('Invalid minor version') - - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) - throw new TypeError('Invalid patch version') - - // numberify any prerelease numeric ids - if (!m[4]) - this.prerelease = []; - else - this.prerelease = m[4].split('.').map(function(id) { - if (/^[0-9]+$/.test(id)) { - var num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) - return num; - } - return id; - }); - - this.build = m[5] ? m[5].split('.') : []; - this.format(); -} - -SemVer.prototype.format = function() { - this.version = this.major + '.' + this.minor + '.' + this.patch; - if (this.prerelease.length) - this.version += '-' + this.prerelease.join('.'); - return this.version; -}; - -SemVer.prototype.toString = function() { - return this.version; -}; - -SemVer.prototype.compare = function(other) { - debug('SemVer.compare', this.version, this.loose, other); - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return this.compareMain(other) || this.comparePre(other); -}; - -SemVer.prototype.compareMain = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch); -}; - -SemVer.prototype.comparePre = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - // NOT having a prerelease is > having one - if (this.prerelease.length && !other.prerelease.length) - return -1; - else if (!this.prerelease.length && other.prerelease.length) - return 1; - else if (!this.prerelease.length && !other.prerelease.length) - return 0; - - var i = 0; - do { - var a = this.prerelease[i]; - var b = other.prerelease[i]; - debug('prerelease compare', i, a, b); - if (a === undefined && b === undefined) - return 0; - else if (b === undefined) - return 1; - else if (a === undefined) - return -1; - else if (a === b) - continue; - else - return compareIdentifiers(a, b); - } while (++i); -}; - -// preminor will bump the version up to the next minor release, and immediately -// down to pre-release. premajor and prepatch work the same way. -SemVer.prototype.inc = function(release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); - break; - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); - break; - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. - case 'prerelease': - if (this.prerelease.length === 0) - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) - this.major++; - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) - this.minor++; - this.patch = 0; - this.prerelease = []; - break; - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) - this.patch++; - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. - case 'pre': - if (this.prerelease.length === 0) - this.prerelease = [0]; - else { - var i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) // didn't increment anything - this.prerelease.push(0); - } - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) - this.prerelease = [identifier, 0]; - } else - this.prerelease = [identifier, 0]; - } - break; - - default: - throw new Error('invalid increment argument: ' + release); - } - this.format(); - this.raw = this.version; - return this; -}; - -exports.inc = inc; -function inc(version, release, loose, identifier) { - if (typeof(loose) === 'string') { - identifier = loose; - loose = undefined; - } - - try { - return new SemVer(version, loose).inc(release, identifier).version; - } catch (er) { - return null; - } -} - -exports.diff = diff; -function diff(version1, version2) { - if (eq(version1, version2)) { - return null; - } else { - var v1 = parse(version1); - var v2 = parse(version2); - if (v1.prerelease.length || v2.prerelease.length) { - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return 'pre'+key; - } - } - } - return 'prerelease'; - } - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return key; - } - } - } - } -} - -exports.compareIdentifiers = compareIdentifiers; - -var numeric = /^[0-9]+$/; -function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); - - if (anum && bnum) { - a = +a; - b = +b; - } - - return (anum && !bnum) ? -1 : - (bnum && !anum) ? 1 : - a < b ? -1 : - a > b ? 1 : - 0; -} - -exports.rcompareIdentifiers = rcompareIdentifiers; -function rcompareIdentifiers(a, b) { - return compareIdentifiers(b, a); -} - -exports.major = major; -function major(a, loose) { - return new SemVer(a, loose).major; -} - -exports.minor = minor; -function minor(a, loose) { - return new SemVer(a, loose).minor; -} - -exports.patch = patch; -function patch(a, loose) { - return new SemVer(a, loose).patch; -} - -exports.compare = compare; -function compare(a, b, loose) { - return new SemVer(a, loose).compare(new SemVer(b, loose)); -} - -exports.compareLoose = compareLoose; -function compareLoose(a, b) { - return compare(a, b, true); -} - -exports.rcompare = rcompare; -function rcompare(a, b, loose) { - return compare(b, a, loose); -} - -exports.sort = sort; -function sort(list, loose) { - return list.sort(function(a, b) { - return exports.compare(a, b, loose); - }); -} - -exports.rsort = rsort; -function rsort(list, loose) { - return list.sort(function(a, b) { - return exports.rcompare(a, b, loose); - }); -} - -exports.gt = gt; -function gt(a, b, loose) { - return compare(a, b, loose) > 0; -} - -exports.lt = lt; -function lt(a, b, loose) { - return compare(a, b, loose) < 0; -} - -exports.eq = eq; -function eq(a, b, loose) { - return compare(a, b, loose) === 0; -} - -exports.neq = neq; -function neq(a, b, loose) { - return compare(a, b, loose) !== 0; -} - -exports.gte = gte; -function gte(a, b, loose) { - return compare(a, b, loose) >= 0; -} - -exports.lte = lte; -function lte(a, b, loose) { - return compare(a, b, loose) <= 0; -} - -exports.cmp = cmp; -function cmp(a, op, b, loose) { - var ret; - switch (op) { - case '===': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a === b; - break; - case '!==': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a !== b; - break; - case '': case '=': case '==': ret = eq(a, b, loose); break; - case '!=': ret = neq(a, b, loose); break; - case '>': ret = gt(a, b, loose); break; - case '>=': ret = gte(a, b, loose); break; - case '<': ret = lt(a, b, loose); break; - case '<=': ret = lte(a, b, loose); break; - default: throw new TypeError('Invalid operator: ' + op); - } - return ret; -} - -exports.Comparator = Comparator; -function Comparator(comp, loose) { - if (comp instanceof Comparator) { - if (comp.loose === loose) - return comp; - else - comp = comp.value; - } - - if (!(this instanceof Comparator)) - return new Comparator(comp, loose); - - debug('comparator', comp, loose); - this.loose = loose; - this.parse(comp); - - if (this.semver === ANY) - this.value = ''; - else - this.value = this.operator + this.semver.version; - - debug('comp', this); -} - -var ANY = {}; -Comparator.prototype.parse = function(comp) { - var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var m = comp.match(r); - - if (!m) - throw new TypeError('Invalid comparator: ' + comp); - - this.operator = m[1]; - if (this.operator === '=') - this.operator = ''; - - // if it literally is just '>' or '' then allow anything. - if (!m[2]) - this.semver = ANY; - else - this.semver = new SemVer(m[2], this.loose); -}; - -Comparator.prototype.toString = function() { - return this.value; -}; - -Comparator.prototype.test = function(version) { - debug('Comparator.test', version, this.loose); - - if (this.semver === ANY) - return true; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - return cmp(version, this.operator, this.semver, this.loose); -}; - -Comparator.prototype.intersects = function(comp, loose) { - if (!(comp instanceof Comparator)) { - throw new TypeError('a Comparator is required'); - } - - var rangeTmp; - - if (this.operator === '') { - rangeTmp = new Range(comp.value, loose); - return satisfies(this.value, rangeTmp, loose); - } else if (comp.operator === '') { - rangeTmp = new Range(this.value, loose); - return satisfies(comp.semver, rangeTmp, loose); - } - - var sameDirectionIncreasing = - (this.operator === '>=' || this.operator === '>') && - (comp.operator === '>=' || comp.operator === '>'); - var sameDirectionDecreasing = - (this.operator === '<=' || this.operator === '<') && - (comp.operator === '<=' || comp.operator === '<'); - var sameSemVer = this.semver.version === comp.semver.version; - var differentDirectionsInclusive = - (this.operator === '>=' || this.operator === '<=') && - (comp.operator === '>=' || comp.operator === '<='); - var oppositeDirectionsLessThan = - cmp(this.semver, '<', comp.semver, loose) && - ((this.operator === '>=' || this.operator === '>') && - (comp.operator === '<=' || comp.operator === '<')); - var oppositeDirectionsGreaterThan = - cmp(this.semver, '>', comp.semver, loose) && - ((this.operator === '<=' || this.operator === '<') && - (comp.operator === '>=' || comp.operator === '>')); - - return sameDirectionIncreasing || sameDirectionDecreasing || - (sameSemVer && differentDirectionsInclusive) || - oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; -}; - - -exports.Range = Range; -function Range(range, loose) { - if (range instanceof Range) { - if (range.loose === loose) { - return range; - } else { - return new Range(range.raw, loose); - } - } - - if (range instanceof Comparator) { - return new Range(range.value, loose); - } - - if (!(this instanceof Range)) - return new Range(range, loose); - - this.loose = loose; - - // First, split based on boolean or || - this.raw = range; - this.set = range.split(/\s*\|\|\s*/).map(function(range) { - return this.parseRange(range.trim()); - }, this).filter(function(c) { - // throw out any that are not relevant for whatever reason - return c.length; - }); - - if (!this.set.length) { - throw new TypeError('Invalid SemVer Range: ' + range); - } - - this.format(); -} - -Range.prototype.format = function() { - this.range = this.set.map(function(comps) { - return comps.join(' ').trim(); - }).join('||').trim(); - return this.range; -}; - -Range.prototype.toString = function() { - return this.range; -}; - -Range.prototype.parseRange = function(range) { - var loose = this.loose; - range = range.trim(); - debug('range', range, loose); - // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` - var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug('hyphen replace', range); - // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` - range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace); - debug('comparator trim', range, re[COMPARATORTRIM]); - - // `~ 1.2.3` => `~1.2.3` - range = range.replace(re[TILDETRIM], tildeTrimReplace); - - // `^ 1.2.3` => `^1.2.3` - range = range.replace(re[CARETTRIM], caretTrimReplace); - - // normalize spaces - range = range.split(/\s+/).join(' '); - - // At this point, the range is completely trimmed and - // ready to be split into comparators. - - var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var set = range.split(' ').map(function(comp) { - return parseComparator(comp, loose); - }).join(' ').split(/\s+/); - if (this.loose) { - // in loose mode, throw out any that are not valid comparators - set = set.filter(function(comp) { - return !!comp.match(compRe); - }); - } - set = set.map(function(comp) { - return new Comparator(comp, loose); - }); - - return set; -}; - -Range.prototype.intersects = function(range, loose) { - if (!(range instanceof Range)) { - throw new TypeError('a Range is required'); - } - - return this.set.some(function(thisComparators) { - return thisComparators.every(function(thisComparator) { - return range.set.some(function(rangeComparators) { - return rangeComparators.every(function(rangeComparator) { - return thisComparator.intersects(rangeComparator, loose); - }); - }); - }); - }); -}; - -// Mostly just for testing and legacy API reasons -exports.toComparators = toComparators; -function toComparators(range, loose) { - return new Range(range, loose).set.map(function(comp) { - return comp.map(function(c) { - return c.value; - }).join(' ').trim().split(' '); - }); -} - -// comprised of xranges, tildes, stars, and gtlt's at this point. -// already replaced the hyphen ranges -// turn into a set of JUST comparators. -function parseComparator(comp, loose) { - debug('comp', comp); - comp = replaceCarets(comp, loose); - debug('caret', comp); - comp = replaceTildes(comp, loose); - debug('tildes', comp); - comp = replaceXRanges(comp, loose); - debug('xrange', comp); - comp = replaceStars(comp, loose); - debug('stars', comp); - return comp; -} - -function isX(id) { - return !id || id.toLowerCase() === 'x' || id === '*'; -} - -// ~, ~> --> * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 -function replaceTildes(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceTilde(comp, loose); - }).join(' '); -} - -function replaceTilde(comp, loose) { - var r = loose ? re[TILDELOOSE] : re[TILDE]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('tilde', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) - // ~1.2 == >=1.2.0 <1.3.0 - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else if (pr) { - debug('replaceTilde pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - // ~1.2.3 == >=1.2.3 <1.3.0 - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - - debug('tilde return', ret); - return ret; - }); -} - -// ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 -// ^1.2.3 --> >=1.2.3 <2.0.0 -// ^1.2.0 --> >=1.2.0 <2.0.0 -function replaceCarets(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceCaret(comp, loose); - }).join(' '); -} - -function replaceCaret(comp, loose) { - debug('caret', comp, loose); - var r = loose ? re[CARETLOOSE] : re[CARET]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('caret', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) { - if (M === '0') - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else - ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; - } else if (pr) { - debug('replaceCaret pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + (+M + 1) + '.0.0'; - } else { - debug('no pr'); - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + (+M + 1) + '.0.0'; - } - - debug('caret return', ret); - return ret; - }); -} - -function replaceXRanges(comp, loose) { - debug('replaceXRanges', comp, loose); - return comp.split(/\s+/).map(function(comp) { - return replaceXRange(comp, loose); - }).join(' '); -} - -function replaceXRange(comp, loose) { - comp = comp.trim(); - var r = loose ? re[XRANGELOOSE] : re[XRANGE]; - return comp.replace(r, function(ret, gtlt, M, m, p, pr) { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - - if (gtlt === '=' && anyX) - gtlt = ''; - - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0'; - } else { - // nothing is forbidden - ret = '*'; - } - } else if (gtlt && anyX) { - // replace X with 0 - if (xm) - m = 0; - if (xp) - p = 0; - - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - // >1.2.3 => >= 1.2.4 - gtlt = '>='; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else if (xp) { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<'; - if (xm) - M = +M + 1; - else - m = +m + 1; - } - - ret = gtlt + M + '.' + m + '.' + p; - } else if (xm) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (xp) { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } - - debug('xRange return', ret); - - return ret; - }); -} - -// Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. -function replaceStars(comp, loose) { - debug('replaceStars', comp, loose); - // Looseness is ignored here. star is always as loose as it gets! - return comp.trim().replace(re[STAR], ''); -} - -// This function is passed to string.replace(re[HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0 -function hyphenReplace($0, - from, fM, fm, fp, fpr, fb, - to, tM, tm, tp, tpr, tb) { - - if (isX(fM)) - from = ''; - else if (isX(fm)) - from = '>=' + fM + '.0.0'; - else if (isX(fp)) - from = '>=' + fM + '.' + fm + '.0'; - else - from = '>=' + from; - - if (isX(tM)) - to = ''; - else if (isX(tm)) - to = '<' + (+tM + 1) + '.0.0'; - else if (isX(tp)) - to = '<' + tM + '.' + (+tm + 1) + '.0'; - else if (tpr) - to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; - else - to = '<=' + to; - - return (from + ' ' + to).trim(); -} - - -// if ANY of the sets match ALL of its comparators, then pass -Range.prototype.test = function(version) { - if (!version) - return false; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version)) - return true; - } - return false; -}; - -function testSet(set, version) { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) - return false; - } - - if (version.prerelease.length) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (var i = 0; i < set.length; i++) { - debug(set[i].semver); - if (set[i].semver === ANY) - continue; - - if (set[i].semver.prerelease.length > 0) { - var allowed = set[i].semver; - if (allowed.major === version.major && - allowed.minor === version.minor && - allowed.patch === version.patch) - return true; - } - } - - // Version has a -pre, but it's not one of the ones we like. - return false; - } - - return true; -} - -exports.satisfies = satisfies; -function satisfies(version, range, loose) { - try { - range = new Range(range, loose); - } catch (er) { - return false; - } - return range.test(version); -} - -exports.maxSatisfying = maxSatisfying; -function maxSatisfying(versions, range, loose) { - var max = null; - var maxSV = null; - try { - var rangeObj = new Range(range, loose); - } catch (er) { - return null; - } - versions.forEach(function (v) { - if (rangeObj.test(v)) { // satisfies(v, range, loose) - if (!max || maxSV.compare(v) === -1) { // compare(max, v, true) - max = v; - maxSV = new SemVer(max, loose); - } - } - }) - return max; -} - -exports.minSatisfying = minSatisfying; -function minSatisfying(versions, range, loose) { - var min = null; - var minSV = null; - try { - var rangeObj = new Range(range, loose); - } catch (er) { - return null; - } - versions.forEach(function (v) { - if (rangeObj.test(v)) { // satisfies(v, range, loose) - if (!min || minSV.compare(v) === 1) { // compare(min, v, true) - min = v; - minSV = new SemVer(min, loose); - } - } - }) - return min; -} - -exports.validRange = validRange; -function validRange(range, loose) { - try { - // Return '*' instead of '' so that truthiness works. - // This will throw if it's invalid anyway - return new Range(range, loose).range || '*'; - } catch (er) { - return null; - } -} - -// Determine if version is less than all the versions possible in the range -exports.ltr = ltr; -function ltr(version, range, loose) { - return outside(version, range, '<', loose); -} - -// Determine if version is greater than all the versions possible in the range. -exports.gtr = gtr; -function gtr(version, range, loose) { - return outside(version, range, '>', loose); -} - -exports.outside = outside; -function outside(version, range, hilo, loose) { - version = new SemVer(version, loose); - range = new Range(range, loose); - - var gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case '>': - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = '>'; - ecomp = '>='; - break; - case '<': - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = '<'; - ecomp = '<='; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - - // If it satisifes the range it is not outside - if (satisfies(version, range, loose)) { - return false; - } - - // From now on, variable terms are as if we're in "gtr" mode. - // but note that everything is flipped for the "ltr" function. - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - - var high = null; - var low = null; - - comparators.forEach(function(comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator('>=0.0.0') - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, loose)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, loose)) { - low = comparator; - } - }); - - // If the edge version comparator has a operator then our version - // isn't outside it - if (high.operator === comp || high.operator === ecomp) { - return false; - } - - // If the lowest version comparator has an operator and our version - // is less than it then it isn't higher than the range - if ((!low.operator || low.operator === comp) && - ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; -} - -exports.prerelease = prerelease; -function prerelease(version, loose) { - var parsed = parse(version, loose); - return (parsed && parsed.prerelease.length) ? parsed.prerelease : null; -} - -exports.intersects = intersects; -function intersects(r1, r2, loose) { - r1 = new Range(r1, loose) - r2 = new Range(r2, loose) - return r1.intersects(r2) -} - -exports.coerce = coerce; -function coerce(version) { - if (version instanceof SemVer) - return version; - - if (typeof version !== 'string') - return null; - - var match = version.match(re[COERCE]); - - if (match == null) - return null; - - return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0')); -} - - -/***/ }), -/* 22 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _assign = __webpack_require__(591); - -var _assign2 = _interopRequireDefault(_assign); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = _assign2.default || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; - -/***/ }), -/* 23 */ -/***/ (function(module, exports) { - -module.exports = require("stream"); - -/***/ }), -/* 24 */ -/***/ (function(module, exports) { - -module.exports = require("url"); - -/***/ }), -/* 25 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Subscription; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_isArray__ = __webpack_require__(41); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_isObject__ = __webpack_require__(443); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_isFunction__ = __webpack_require__(154); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_tryCatch__ = __webpack_require__(56); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_errorObject__ = __webpack_require__(47); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__ = __webpack_require__(440); -/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_tryCatch,_util_errorObject,_util_UnsubscriptionError PURE_IMPORTS_END */ - - - - - - -var Subscription = /*@__PURE__*/ (function () { - function Subscription(unsubscribe) { - this.closed = false; - this._parent = null; - this._parents = null; - this._subscriptions = null; - if (unsubscribe) { - this._unsubscribe = unsubscribe; - } - } - Subscription.prototype.unsubscribe = function () { - var hasErrors = false; - var errors; - if (this.closed) { - return; - } - var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions; - this.closed = true; - this._parent = null; - this._parents = null; - this._subscriptions = null; - var index = -1; - var len = _parents ? _parents.length : 0; - while (_parent) { - _parent.remove(this); - _parent = ++index < len && _parents[index] || null; - } - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util_isFunction__["a" /* isFunction */])(_unsubscribe)) { - var trial = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util_tryCatch__["a" /* tryCatch */])(_unsubscribe).call(this); - if (trial === __WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */]) { - hasErrors = true; - errors = errors || (__WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */].e instanceof __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__["a" /* UnsubscriptionError */] ? - flattenUnsubscriptionErrors(__WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */].e.errors) : [__WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */].e]); - } - } - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_isArray__["a" /* isArray */])(_subscriptions)) { - index = -1; - len = _subscriptions.length; - while (++index < len) { - var sub = _subscriptions[index]; - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_isObject__["a" /* isObject */])(sub)) { - var trial = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util_tryCatch__["a" /* tryCatch */])(sub.unsubscribe).call(sub); - if (trial === __WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */]) { - hasErrors = true; - errors = errors || []; - var err = __WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */].e; - if (err instanceof __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__["a" /* UnsubscriptionError */]) { - errors = errors.concat(flattenUnsubscriptionErrors(err.errors)); - } - else { - errors.push(err); - } - } - } - } - } - if (hasErrors) { - throw new __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__["a" /* UnsubscriptionError */](errors); - } - }; - Subscription.prototype.add = function (teardown) { - if (!teardown || (teardown === Subscription.EMPTY)) { - return Subscription.EMPTY; - } - if (teardown === this) { - return this; - } - var subscription = teardown; - switch (typeof teardown) { - case 'function': - subscription = new Subscription(teardown); - case 'object': - if (subscription.closed || typeof subscription.unsubscribe !== 'function') { - return subscription; - } - else if (this.closed) { - subscription.unsubscribe(); - return subscription; - } - else if (typeof subscription._addParent !== 'function') { - var tmp = subscription; - subscription = new Subscription(); - subscription._subscriptions = [tmp]; - } - break; - default: - throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.'); - } - var subscriptions = this._subscriptions || (this._subscriptions = []); - subscriptions.push(subscription); - subscription._addParent(this); - return subscription; - }; - Subscription.prototype.remove = function (subscription) { - var subscriptions = this._subscriptions; - if (subscriptions) { - var subscriptionIndex = subscriptions.indexOf(subscription); - if (subscriptionIndex !== -1) { - subscriptions.splice(subscriptionIndex, 1); - } - } - }; - Subscription.prototype._addParent = function (parent) { - var _a = this, _parent = _a._parent, _parents = _a._parents; - if (!_parent || _parent === parent) { - this._parent = parent; - } - else if (!_parents) { - this._parents = [parent]; - } - else if (_parents.indexOf(parent) === -1) { - _parents.push(parent); - } - }; - Subscription.EMPTY = (function (empty) { - empty.closed = true; - return empty; - }(new Subscription())); - return Subscription; -}()); - -function flattenUnsubscriptionErrors(errors) { - return errors.reduce(function (errs, err) { return errs.concat((err instanceof __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__["a" /* UnsubscriptionError */]) ? err.errors : err); }, []); -} -//# sourceMappingURL=Subscription.js.map - - -/***/ }), -/* 26 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright 2015 Joyent, Inc. - -module.exports = { - bufferSplit: bufferSplit, - addRSAMissing: addRSAMissing, - calculateDSAPublic: calculateDSAPublic, - calculateED25519Public: calculateED25519Public, - calculateX25519Public: calculateX25519Public, - mpNormalize: mpNormalize, - mpDenormalize: mpDenormalize, - ecNormalize: ecNormalize, - countZeros: countZeros, - assertCompatible: assertCompatible, - isCompatible: isCompatible, - opensslKeyDeriv: opensslKeyDeriv, - opensshCipherInfo: opensshCipherInfo, - publicFromPrivateECDSA: publicFromPrivateECDSA, - zeroPadToLength: zeroPadToLength, - writeBitString: writeBitString, - readBitString: readBitString -}; - -var assert = __webpack_require__(16); -var Buffer = __webpack_require__(15).Buffer; -var PrivateKey = __webpack_require__(33); -var Key = __webpack_require__(27); -var crypto = __webpack_require__(12); -var algs = __webpack_require__(32); -var asn1 = __webpack_require__(65); - -var ec, jsbn; -var nacl; - -var MAX_CLASS_DEPTH = 3; - -function isCompatible(obj, klass, needVer) { - if (obj === null || typeof (obj) !== 'object') - return (false); - if (needVer === undefined) - needVer = klass.prototype._sshpkApiVersion; - if (obj instanceof klass && - klass.prototype._sshpkApiVersion[0] == needVer[0]) - return (true); - var proto = Object.getPrototypeOf(obj); - var depth = 0; - while (proto.constructor.name !== klass.name) { - proto = Object.getPrototypeOf(proto); - if (!proto || ++depth > MAX_CLASS_DEPTH) - return (false); - } - if (proto.constructor.name !== klass.name) - return (false); - var ver = proto._sshpkApiVersion; - if (ver === undefined) - ver = klass._oldVersionDetect(obj); - if (ver[0] != needVer[0] || ver[1] < needVer[1]) - return (false); - return (true); -} - -function assertCompatible(obj, klass, needVer, name) { - if (name === undefined) - name = 'object'; - assert.ok(obj, name + ' must not be null'); - assert.object(obj, name + ' must be an object'); - if (needVer === undefined) - needVer = klass.prototype._sshpkApiVersion; - if (obj instanceof klass && - klass.prototype._sshpkApiVersion[0] == needVer[0]) - return; - var proto = Object.getPrototypeOf(obj); - var depth = 0; - while (proto.constructor.name !== klass.name) { - proto = Object.getPrototypeOf(proto); - assert.ok(proto && ++depth <= MAX_CLASS_DEPTH, - name + ' must be a ' + klass.name + ' instance'); - } - assert.strictEqual(proto.constructor.name, klass.name, - name + ' must be a ' + klass.name + ' instance'); - var ver = proto._sshpkApiVersion; - if (ver === undefined) - ver = klass._oldVersionDetect(obj); - assert.ok(ver[0] == needVer[0] && ver[1] >= needVer[1], - name + ' must be compatible with ' + klass.name + ' klass ' + - 'version ' + needVer[0] + '.' + needVer[1]); -} - -var CIPHER_LEN = { - 'des-ede3-cbc': { key: 7, iv: 8 }, - 'aes-128-cbc': { key: 16, iv: 16 } -}; -var PKCS5_SALT_LEN = 8; - -function opensslKeyDeriv(cipher, salt, passphrase, count) { - assert.buffer(salt, 'salt'); - assert.buffer(passphrase, 'passphrase'); - assert.number(count, 'iteration count'); - - var clen = CIPHER_LEN[cipher]; - assert.object(clen, 'supported cipher'); - - salt = salt.slice(0, PKCS5_SALT_LEN); - - var D, D_prev, bufs; - var material = Buffer.alloc(0); - while (material.length < clen.key + clen.iv) { - bufs = []; - if (D_prev) - bufs.push(D_prev); - bufs.push(passphrase); - bufs.push(salt); - D = Buffer.concat(bufs); - for (var j = 0; j < count; ++j) - D = crypto.createHash('md5').update(D).digest(); - material = Buffer.concat([material, D]); - D_prev = D; - } - - return ({ - key: material.slice(0, clen.key), - iv: material.slice(clen.key, clen.key + clen.iv) - }); -} - -/* Count leading zero bits on a buffer */ -function countZeros(buf) { - var o = 0, obit = 8; - while (o < buf.length) { - var mask = (1 << obit); - if ((buf[o] & mask) === mask) - break; - obit--; - if (obit < 0) { - o++; - obit = 8; - } - } - return (o*8 + (8 - obit) - 1); -} - -function bufferSplit(buf, chr) { - assert.buffer(buf); - assert.string(chr); - - var parts = []; - var lastPart = 0; - var matches = 0; - for (var i = 0; i < buf.length; ++i) { - if (buf[i] === chr.charCodeAt(matches)) - ++matches; - else if (buf[i] === chr.charCodeAt(0)) - matches = 1; - else - matches = 0; - - if (matches >= chr.length) { - var newPart = i + 1; - parts.push(buf.slice(lastPart, newPart - matches)); - lastPart = newPart; - matches = 0; - } - } - if (lastPart <= buf.length) - parts.push(buf.slice(lastPart, buf.length)); - - return (parts); -} - -function ecNormalize(buf, addZero) { - assert.buffer(buf); - if (buf[0] === 0x00 && buf[1] === 0x04) { - if (addZero) - return (buf); - return (buf.slice(1)); - } else if (buf[0] === 0x04) { - if (!addZero) - return (buf); - } else { - while (buf[0] === 0x00) - buf = buf.slice(1); - if (buf[0] === 0x02 || buf[0] === 0x03) - throw (new Error('Compressed elliptic curve points ' + - 'are not supported')); - if (buf[0] !== 0x04) - throw (new Error('Not a valid elliptic curve point')); - if (!addZero) - return (buf); - } - var b = Buffer.alloc(buf.length + 1); - b[0] = 0x0; - buf.copy(b, 1); - return (b); -} - -function readBitString(der, tag) { - if (tag === undefined) - tag = asn1.Ber.BitString; - var buf = der.readString(tag, true); - assert.strictEqual(buf[0], 0x00, 'bit strings with unused bits are ' + - 'not supported (0x' + buf[0].toString(16) + ')'); - return (buf.slice(1)); -} - -function writeBitString(der, buf, tag) { - if (tag === undefined) - tag = asn1.Ber.BitString; - var b = Buffer.alloc(buf.length + 1); - b[0] = 0x00; - buf.copy(b, 1); - der.writeBuffer(b, tag); -} - -function mpNormalize(buf) { - assert.buffer(buf); - while (buf.length > 1 && buf[0] === 0x00 && (buf[1] & 0x80) === 0x00) - buf = buf.slice(1); - if ((buf[0] & 0x80) === 0x80) { - var b = Buffer.alloc(buf.length + 1); - b[0] = 0x00; - buf.copy(b, 1); - buf = b; - } - return (buf); -} - -function mpDenormalize(buf) { - assert.buffer(buf); - while (buf.length > 1 && buf[0] === 0x00) - buf = buf.slice(1); - return (buf); -} - -function zeroPadToLength(buf, len) { - assert.buffer(buf); - assert.number(len); - while (buf.length > len) { - assert.equal(buf[0], 0x00); - buf = buf.slice(1); - } - while (buf.length < len) { - var b = Buffer.alloc(buf.length + 1); - b[0] = 0x00; - buf.copy(b, 1); - buf = b; - } - return (buf); -} - -function bigintToMpBuf(bigint) { - var buf = Buffer.from(bigint.toByteArray()); - buf = mpNormalize(buf); - return (buf); -} - -function calculateDSAPublic(g, p, x) { - assert.buffer(g); - assert.buffer(p); - assert.buffer(x); - try { - var bigInt = __webpack_require__(81).BigInteger; - } catch (e) { - throw (new Error('To load a PKCS#8 format DSA private key, ' + - 'the node jsbn library is required.')); - } - g = new bigInt(g); - p = new bigInt(p); - x = new bigInt(x); - var y = g.modPow(x, p); - var ybuf = bigintToMpBuf(y); - return (ybuf); -} - -function calculateED25519Public(k) { - assert.buffer(k); - - if (nacl === undefined) - nacl = __webpack_require__(75); - - var kp = nacl.sign.keyPair.fromSeed(new Uint8Array(k)); - return (Buffer.from(kp.publicKey)); -} - -function calculateX25519Public(k) { - assert.buffer(k); - - if (nacl === undefined) - nacl = __webpack_require__(75); - - var kp = nacl.box.keyPair.fromSeed(new Uint8Array(k)); - return (Buffer.from(kp.publicKey)); -} - -function addRSAMissing(key) { - assert.object(key); - assertCompatible(key, PrivateKey, [1, 1]); - try { - var bigInt = __webpack_require__(81).BigInteger; - } catch (e) { - throw (new Error('To write a PEM private key from ' + - 'this source, the node jsbn lib is required.')); - } - - var d = new bigInt(key.part.d.data); - var buf; - - if (!key.part.dmodp) { - var p = new bigInt(key.part.p.data); - var dmodp = d.mod(p.subtract(1)); - - buf = bigintToMpBuf(dmodp); - key.part.dmodp = {name: 'dmodp', data: buf}; - key.parts.push(key.part.dmodp); - } - if (!key.part.dmodq) { - var q = new bigInt(key.part.q.data); - var dmodq = d.mod(q.subtract(1)); - - buf = bigintToMpBuf(dmodq); - key.part.dmodq = {name: 'dmodq', data: buf}; - key.parts.push(key.part.dmodq); - } -} - -function publicFromPrivateECDSA(curveName, priv) { - assert.string(curveName, 'curveName'); - assert.buffer(priv); - if (ec === undefined) - ec = __webpack_require__(139); - if (jsbn === undefined) - jsbn = __webpack_require__(81).BigInteger; - var params = algs.curves[curveName]; - var p = new jsbn(params.p); - var a = new jsbn(params.a); - var b = new jsbn(params.b); - var curve = new ec.ECCurveFp(p, a, b); - var G = curve.decodePointHex(params.G.toString('hex')); - - var d = new jsbn(mpNormalize(priv)); - var pub = G.multiply(d); - pub = Buffer.from(curve.encodePointHex(pub), 'hex'); - - var parts = []; - parts.push({name: 'curve', data: Buffer.from(curveName)}); - parts.push({name: 'Q', data: pub}); - - var key = new Key({type: 'ecdsa', curve: curve, parts: parts}); - return (key); -} - -function opensshCipherInfo(cipher) { - var inf = {}; - switch (cipher) { - case '3des-cbc': - inf.keySize = 24; - inf.blockSize = 8; - inf.opensslName = 'des-ede3-cbc'; - break; - case 'blowfish-cbc': - inf.keySize = 16; - inf.blockSize = 8; - inf.opensslName = 'bf-cbc'; - break; - case 'aes128-cbc': - case 'aes128-ctr': - case 'aes128-gcm@openssh.com': - inf.keySize = 16; - inf.blockSize = 16; - inf.opensslName = 'aes-128-' + cipher.slice(7, 10); - break; - case 'aes192-cbc': - case 'aes192-ctr': - case 'aes192-gcm@openssh.com': - inf.keySize = 24; - inf.blockSize = 16; - inf.opensslName = 'aes-192-' + cipher.slice(7, 10); - break; - case 'aes256-cbc': - case 'aes256-ctr': - case 'aes256-gcm@openssh.com': - inf.keySize = 32; - inf.blockSize = 16; - inf.opensslName = 'aes-256-' + cipher.slice(7, 10); - break; - default: - throw (new Error( - 'Unsupported openssl cipher "' + cipher + '"')); - } - return (inf); -} - - -/***/ }), -/* 27 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright 2017 Joyent, Inc. - -module.exports = Key; - -var assert = __webpack_require__(16); -var algs = __webpack_require__(32); -var crypto = __webpack_require__(12); -var Fingerprint = __webpack_require__(156); -var Signature = __webpack_require__(74); -var DiffieHellman = __webpack_require__(325).DiffieHellman; -var errs = __webpack_require__(73); -var utils = __webpack_require__(26); -var PrivateKey = __webpack_require__(33); -var edCompat; - -try { - edCompat = __webpack_require__(453); -} catch (e) { - /* Just continue through, and bail out if we try to use it. */ -} - -var InvalidAlgorithmError = errs.InvalidAlgorithmError; -var KeyParseError = errs.KeyParseError; - -var formats = {}; -formats['auto'] = __webpack_require__(454); -formats['pem'] = __webpack_require__(86); -formats['pkcs1'] = __webpack_require__(327); -formats['pkcs8'] = __webpack_require__(157); -formats['rfc4253'] = __webpack_require__(103); -formats['ssh'] = __webpack_require__(455); -formats['ssh-private'] = __webpack_require__(192); -formats['openssh'] = formats['ssh-private']; -formats['dnssec'] = __webpack_require__(326); - -function Key(opts) { - assert.object(opts, 'options'); - assert.arrayOfObject(opts.parts, 'options.parts'); - assert.string(opts.type, 'options.type'); - assert.optionalString(opts.comment, 'options.comment'); - - var algInfo = algs.info[opts.type]; - if (typeof (algInfo) !== 'object') - throw (new InvalidAlgorithmError(opts.type)); - - var partLookup = {}; - for (var i = 0; i < opts.parts.length; ++i) { - var part = opts.parts[i]; - partLookup[part.name] = part; - } - - this.type = opts.type; - this.parts = opts.parts; - this.part = partLookup; - this.comment = undefined; - this.source = opts.source; - - /* for speeding up hashing/fingerprint operations */ - this._rfc4253Cache = opts._rfc4253Cache; - this._hashCache = {}; - - var sz; - this.curve = undefined; - if (this.type === 'ecdsa') { - var curve = this.part.curve.data.toString(); - this.curve = curve; - sz = algs.curves[curve].size; - } else if (this.type === 'ed25519' || this.type === 'curve25519') { - sz = 256; - this.curve = 'curve25519'; - } else { - var szPart = this.part[algInfo.sizePart]; - sz = szPart.data.length; - sz = sz * 8 - utils.countZeros(szPart.data); - } - this.size = sz; -} - -Key.formats = formats; - -Key.prototype.toBuffer = function (format, options) { - if (format === undefined) - format = 'ssh'; - assert.string(format, 'format'); - assert.object(formats[format], 'formats[format]'); - assert.optionalObject(options, 'options'); - - if (format === 'rfc4253') { - if (this._rfc4253Cache === undefined) - this._rfc4253Cache = formats['rfc4253'].write(this); - return (this._rfc4253Cache); - } - - return (formats[format].write(this, options)); -}; - -Key.prototype.toString = function (format, options) { - return (this.toBuffer(format, options).toString()); -}; - -Key.prototype.hash = function (algo) { - assert.string(algo, 'algorithm'); - algo = algo.toLowerCase(); - if (algs.hashAlgs[algo] === undefined) - throw (new InvalidAlgorithmError(algo)); - - if (this._hashCache[algo]) - return (this._hashCache[algo]); - var hash = crypto.createHash(algo). - update(this.toBuffer('rfc4253')).digest(); - this._hashCache[algo] = hash; - return (hash); -}; - -Key.prototype.fingerprint = function (algo) { - if (algo === undefined) - algo = 'sha256'; - assert.string(algo, 'algorithm'); - var opts = { - type: 'key', - hash: this.hash(algo), - algorithm: algo - }; - return (new Fingerprint(opts)); -}; - -Key.prototype.defaultHashAlgorithm = function () { - var hashAlgo = 'sha1'; - if (this.type === 'rsa') - hashAlgo = 'sha256'; - if (this.type === 'dsa' && this.size > 1024) - hashAlgo = 'sha256'; - if (this.type === 'ed25519') - hashAlgo = 'sha512'; - if (this.type === 'ecdsa') { - if (this.size <= 256) - hashAlgo = 'sha256'; - else if (this.size <= 384) - hashAlgo = 'sha384'; - else - hashAlgo = 'sha512'; - } - return (hashAlgo); -}; - -Key.prototype.createVerify = function (hashAlgo) { - if (hashAlgo === undefined) - hashAlgo = this.defaultHashAlgorithm(); - assert.string(hashAlgo, 'hash algorithm'); - - /* ED25519 is not supported by OpenSSL, use a javascript impl. */ - if (this.type === 'ed25519' && edCompat !== undefined) - return (new edCompat.Verifier(this, hashAlgo)); - if (this.type === 'curve25519') - throw (new Error('Curve25519 keys are not suitable for ' + - 'signing or verification')); - - var v, nm, err; - try { - nm = hashAlgo.toUpperCase(); - v = crypto.createVerify(nm); - } catch (e) { - err = e; - } - if (v === undefined || (err instanceof Error && - err.message.match(/Unknown message digest/))) { - nm = 'RSA-'; - nm += hashAlgo.toUpperCase(); - v = crypto.createVerify(nm); - } - assert.ok(v, 'failed to create verifier'); - var oldVerify = v.verify.bind(v); - var key = this.toBuffer('pkcs8'); - var curve = this.curve; - var self = this; - v.verify = function (signature, fmt) { - if (Signature.isSignature(signature, [2, 0])) { - if (signature.type !== self.type) - return (false); - if (signature.hashAlgorithm && - signature.hashAlgorithm !== hashAlgo) - return (false); - if (signature.curve && self.type === 'ecdsa' && - signature.curve !== curve) - return (false); - return (oldVerify(key, signature.toBuffer('asn1'))); - - } else if (typeof (signature) === 'string' || - Buffer.isBuffer(signature)) { - return (oldVerify(key, signature, fmt)); - - /* - * Avoid doing this on valid arguments, walking the prototype - * chain can be quite slow. - */ - } else if (Signature.isSignature(signature, [1, 0])) { - throw (new Error('signature was created by too old ' + - 'a version of sshpk and cannot be verified')); - - } else { - throw (new TypeError('signature must be a string, ' + - 'Buffer, or Signature object')); - } - }; - return (v); -}; - -Key.prototype.createDiffieHellman = function () { - if (this.type === 'rsa') - throw (new Error('RSA keys do not support Diffie-Hellman')); - - return (new DiffieHellman(this)); -}; -Key.prototype.createDH = Key.prototype.createDiffieHellman; - -Key.parse = function (data, format, options) { - if (typeof (data) !== 'string') - assert.buffer(data, 'data'); - if (format === undefined) - format = 'auto'; - assert.string(format, 'format'); - if (typeof (options) === 'string') - options = { filename: options }; - assert.optionalObject(options, 'options'); - if (options === undefined) - options = {}; - assert.optionalString(options.filename, 'options.filename'); - if (options.filename === undefined) - options.filename = '(unnamed)'; - - assert.object(formats[format], 'formats[format]'); - - try { - var k = formats[format].read(data, options); - if (k instanceof PrivateKey) - k = k.toPublic(); - if (!k.comment) - k.comment = options.filename; - return (k); - } catch (e) { - if (e.name === 'KeyEncryptedError') - throw (e); - throw (new KeyParseError(options.filename, format, e)); - } -}; - -Key.isKey = function (obj, ver) { - return (utils.isCompatible(obj, Key, ver)); -}; - -/* - * API versions for Key: - * [1,0] -- initial ver, may take Signature for createVerify or may not - * [1,1] -- added pkcs1, pkcs8 formats - * [1,2] -- added auto, ssh-private, openssh formats - * [1,3] -- added defaultHashAlgorithm - * [1,4] -- added ed support, createDH - * [1,5] -- first explicitly tagged version - * [1,6] -- changed ed25519 part names - */ -Key.prototype._sshpkApiVersion = [1, 6]; - -Key._oldVersionDetect = function (obj) { - assert.func(obj.toBuffer); - assert.func(obj.fingerprint); - if (obj.createDH) - return ([1, 4]); - if (obj.defaultHashAlgorithm) - return ([1, 3]); - if (obj.formats['auto']) - return ([1, 2]); - if (obj.formats['pkcs1']) - return ([1, 1]); - return ([1, 0]); -}; - - -/***/ }), -/* 28 */ -/***/ (function(module, exports) { - -module.exports = require("assert"); - -/***/ }), -/* 29 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = nullify; -function nullify(obj = {}) { - if (Array.isArray(obj)) { - for (var _iterator = obj, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - const item = _ref; - - nullify(item); - } - } else if (obj !== null && typeof obj === 'object' || typeof obj === 'function') { - Object.setPrototypeOf(obj, null); - - // for..in can only be applied to 'object', not 'function' - if (typeof obj === 'object') { - for (const key in obj) { - nullify(obj[key]); - } - } - } - - return obj; -} - -/***/ }), -/* 30 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -const escapeStringRegexp = __webpack_require__(387); -const ansiStyles = __webpack_require__(505); -const stdoutColor = __webpack_require__(598).stdout; - -const template = __webpack_require__(599); - -const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); - -// `supportsColor.level` → `ansiStyles.color[name]` mapping -const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; - -// `color-convert` models to exclude from the Chalk API due to conflicts and such -const skipModels = new Set(['gray']); - -const styles = Object.create(null); - -function applyOptions(obj, options) { - options = options || {}; - - // Detect level if not set manually - const scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === undefined ? scLevel : options.level; - obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; -} - -function Chalk(options) { - // We check for this.template here since calling `chalk.constructor()` - // by itself will have a `this` of a previously constructed chalk object - if (!this || !(this instanceof Chalk) || this.template) { - const chalk = {}; - applyOptions(chalk, options); - - chalk.template = function () { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; - - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - - chalk.template.constructor = Chalk; - - return chalk.template; - } - - applyOptions(this, options); -} - -// Use bright blue on Windows as the normal blue color is illegible -if (isSimpleWindowsTerm) { - ansiStyles.blue.open = '\u001B[94m'; -} - -for (const key of Object.keys(ansiStyles)) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); - - styles[key] = { - get() { - const codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - }; -} - -styles.visible = { - get() { - return build.call(this, this._styles || [], true, 'visible'); - } -}; - -ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); -for (const model of Object.keys(ansiStyles.color.ansi)) { - if (skipModels.has(model)) { - continue; - } - - styles[model] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -} - -ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); -for (const model of Object.keys(ansiStyles.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } - - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -} - -const proto = Object.defineProperties(() => {}, styles); - -function build(_styles, _empty, key) { - const builder = function () { - return applyStyle.apply(builder, arguments); - }; - - builder._styles = _styles; - builder._empty = _empty; - - const self = this; - - Object.defineProperty(builder, 'level', { - enumerable: true, - get() { - return self.level; - }, - set(level) { - self.level = level; - } - }); - - Object.defineProperty(builder, 'enabled', { - enumerable: true, - get() { - return self.enabled; - }, - set(enabled) { - self.enabled = enabled; - } - }); - - // See below for fix regarding invisible grey/dim combination on Windows - builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; - - // `__proto__` is used because we must return a function, but there is - // no way to create a function with a different prototype - builder.__proto__ = proto; // eslint-disable-line no-proto - - return builder; -} - -function applyStyle() { - // Support varags, but simply cast to string in case there's only one arg - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); - - if (argsLen === 0) { - return ''; - } - - if (argsLen > 1) { - // Don't slice `arguments`, it prevents V8 optimizations - for (let a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } - - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? '' : str; - } - - // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, - // see https://github.com/chalk/chalk/issues/58 - // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. - const originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ''; - } - - for (const code of this._styles.slice().reverse()) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - str = code.open + str.replace(code.closeRe, code.open) + code.close; - - // Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS - // https://github.com/chalk/chalk/pull/92 - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); - } - - // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue - ansiStyles.dim.open = originalDim; - - return str; -} - -function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return [].slice.call(arguments, 1).join(' '); - } - - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; - - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); - parts.push(String(strings.raw[i])); - } - - return template(chalk, parts.join('')); -} - -Object.defineProperties(Chalk.prototype, styles); - -module.exports = Chalk(); // eslint-disable-line new-cap -module.exports.supportsColor = stdoutColor; -module.exports.default = module.exports; // For TypeScript - - -/***/ }), -/* 31 */ -/***/ (function(module, exports) { - -var core = module.exports = { version: '2.5.7' }; -if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - - -/***/ }), -/* 32 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright 2015 Joyent, Inc. - -var Buffer = __webpack_require__(15).Buffer; - -var algInfo = { - 'dsa': { - parts: ['p', 'q', 'g', 'y'], - sizePart: 'p' - }, - 'rsa': { - parts: ['e', 'n'], - sizePart: 'n' - }, - 'ecdsa': { - parts: ['curve', 'Q'], - sizePart: 'Q' - }, - 'ed25519': { - parts: ['A'], - sizePart: 'A' - } -}; -algInfo['curve25519'] = algInfo['ed25519']; - -var algPrivInfo = { - 'dsa': { - parts: ['p', 'q', 'g', 'y', 'x'] - }, - 'rsa': { - parts: ['n', 'e', 'd', 'iqmp', 'p', 'q'] - }, - 'ecdsa': { - parts: ['curve', 'Q', 'd'] - }, - 'ed25519': { - parts: ['A', 'k'] - } -}; -algPrivInfo['curve25519'] = algPrivInfo['ed25519']; - -var hashAlgs = { - 'md5': true, - 'sha1': true, - 'sha256': true, - 'sha384': true, - 'sha512': true -}; - -/* - * Taken from - * http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf - */ -var curves = { - 'nistp256': { - size: 256, - pkcs8oid: '1.2.840.10045.3.1.7', - p: Buffer.from(('00' + - 'ffffffff 00000001 00000000 00000000' + - '00000000 ffffffff ffffffff ffffffff'). - replace(/ /g, ''), 'hex'), - a: Buffer.from(('00' + - 'FFFFFFFF 00000001 00000000 00000000' + - '00000000 FFFFFFFF FFFFFFFF FFFFFFFC'). - replace(/ /g, ''), 'hex'), - b: Buffer.from(( - '5ac635d8 aa3a93e7 b3ebbd55 769886bc' + - '651d06b0 cc53b0f6 3bce3c3e 27d2604b'). - replace(/ /g, ''), 'hex'), - s: Buffer.from(('00' + - 'c49d3608 86e70493 6a6678e1 139d26b7' + - '819f7e90'). - replace(/ /g, ''), 'hex'), - n: Buffer.from(('00' + - 'ffffffff 00000000 ffffffff ffffffff' + - 'bce6faad a7179e84 f3b9cac2 fc632551'). - replace(/ /g, ''), 'hex'), - G: Buffer.from(('04' + - '6b17d1f2 e12c4247 f8bce6e5 63a440f2' + - '77037d81 2deb33a0 f4a13945 d898c296' + - '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16' + - '2bce3357 6b315ece cbb64068 37bf51f5'). - replace(/ /g, ''), 'hex') - }, - 'nistp384': { - size: 384, - pkcs8oid: '1.3.132.0.34', - p: Buffer.from(('00' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff fffffffe' + - 'ffffffff 00000000 00000000 ffffffff'). - replace(/ /g, ''), 'hex'), - a: Buffer.from(('00' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE' + - 'FFFFFFFF 00000000 00000000 FFFFFFFC'). - replace(/ /g, ''), 'hex'), - b: Buffer.from(( - 'b3312fa7 e23ee7e4 988e056b e3f82d19' + - '181d9c6e fe814112 0314088f 5013875a' + - 'c656398d 8a2ed19d 2a85c8ed d3ec2aef'). - replace(/ /g, ''), 'hex'), - s: Buffer.from(('00' + - 'a335926a a319a27a 1d00896a 6773a482' + - '7acdac73'). - replace(/ /g, ''), 'hex'), - n: Buffer.from(('00' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff c7634d81 f4372ddf' + - '581a0db2 48b0a77a ecec196a ccc52973'). - replace(/ /g, ''), 'hex'), - G: Buffer.from(('04' + - 'aa87ca22 be8b0537 8eb1c71e f320ad74' + - '6e1d3b62 8ba79b98 59f741e0 82542a38' + - '5502f25d bf55296c 3a545e38 72760ab7' + - '3617de4a 96262c6f 5d9e98bf 9292dc29' + - 'f8f41dbd 289a147c e9da3113 b5f0b8c0' + - '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'). - replace(/ /g, ''), 'hex') - }, - 'nistp521': { - size: 521, - pkcs8oid: '1.3.132.0.35', - p: Buffer.from(( - '01ffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffff').replace(/ /g, ''), 'hex'), - a: Buffer.from(('01FF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFC'). - replace(/ /g, ''), 'hex'), - b: Buffer.from(('51' + - '953eb961 8e1c9a1f 929a21a0 b68540ee' + - 'a2da725b 99b315f3 b8b48991 8ef109e1' + - '56193951 ec7e937b 1652c0bd 3bb1bf07' + - '3573df88 3d2c34f1 ef451fd4 6b503f00'). - replace(/ /g, ''), 'hex'), - s: Buffer.from(('00' + - 'd09e8800 291cb853 96cc6717 393284aa' + - 'a0da64ba').replace(/ /g, ''), 'hex'), - n: Buffer.from(('01ff' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff fffffffa' + - '51868783 bf2f966b 7fcc0148 f709a5d0' + - '3bb5c9b8 899c47ae bb6fb71e 91386409'). - replace(/ /g, ''), 'hex'), - G: Buffer.from(('04' + - '00c6 858e06b7 0404e9cd 9e3ecb66 2395b442' + - '9c648139 053fb521 f828af60 6b4d3dba' + - 'a14b5e77 efe75928 fe1dc127 a2ffa8de' + - '3348b3c1 856a429b f97e7e31 c2e5bd66' + - '0118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9' + - '98f54449 579b4468 17afbd17 273e662c' + - '97ee7299 5ef42640 c550b901 3fad0761' + - '353c7086 a272c240 88be9476 9fd16650'). - replace(/ /g, ''), 'hex') - } -}; - -module.exports = { - info: algInfo, - privInfo: algPrivInfo, - hashAlgs: hashAlgs, - curves: curves -}; - - -/***/ }), -/* 33 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright 2017 Joyent, Inc. - -module.exports = PrivateKey; - -var assert = __webpack_require__(16); -var Buffer = __webpack_require__(15).Buffer; -var algs = __webpack_require__(32); -var crypto = __webpack_require__(12); -var Fingerprint = __webpack_require__(156); -var Signature = __webpack_require__(74); -var errs = __webpack_require__(73); -var util = __webpack_require__(3); -var utils = __webpack_require__(26); -var dhe = __webpack_require__(325); -var generateECDSA = dhe.generateECDSA; -var generateED25519 = dhe.generateED25519; -var edCompat; -var nacl; - -try { - edCompat = __webpack_require__(453); -} catch (e) { - /* Just continue through, and bail out if we try to use it. */ -} - -var Key = __webpack_require__(27); - -var InvalidAlgorithmError = errs.InvalidAlgorithmError; -var KeyParseError = errs.KeyParseError; -var KeyEncryptedError = errs.KeyEncryptedError; - -var formats = {}; -formats['auto'] = __webpack_require__(454); -formats['pem'] = __webpack_require__(86); -formats['pkcs1'] = __webpack_require__(327); -formats['pkcs8'] = __webpack_require__(157); -formats['rfc4253'] = __webpack_require__(103); -formats['ssh-private'] = __webpack_require__(192); -formats['openssh'] = formats['ssh-private']; -formats['ssh'] = formats['ssh-private']; -formats['dnssec'] = __webpack_require__(326); - -function PrivateKey(opts) { - assert.object(opts, 'options'); - Key.call(this, opts); - - this._pubCache = undefined; -} -util.inherits(PrivateKey, Key); - -PrivateKey.formats = formats; - -PrivateKey.prototype.toBuffer = function (format, options) { - if (format === undefined) - format = 'pkcs1'; - assert.string(format, 'format'); - assert.object(formats[format], 'formats[format]'); - assert.optionalObject(options, 'options'); - - return (formats[format].write(this, options)); -}; - -PrivateKey.prototype.hash = function (algo) { - return (this.toPublic().hash(algo)); -}; - -PrivateKey.prototype.toPublic = function () { - if (this._pubCache) - return (this._pubCache); - - var algInfo = algs.info[this.type]; - var pubParts = []; - for (var i = 0; i < algInfo.parts.length; ++i) { - var p = algInfo.parts[i]; - pubParts.push(this.part[p]); - } - - this._pubCache = new Key({ - type: this.type, - source: this, - parts: pubParts - }); - if (this.comment) - this._pubCache.comment = this.comment; - return (this._pubCache); -}; - -PrivateKey.prototype.derive = function (newType) { - assert.string(newType, 'type'); - var priv, pub, pair; - - if (this.type === 'ed25519' && newType === 'curve25519') { - if (nacl === undefined) - nacl = __webpack_require__(75); - - priv = this.part.k.data; - if (priv[0] === 0x00) - priv = priv.slice(1); - - pair = nacl.box.keyPair.fromSecretKey(new Uint8Array(priv)); - pub = Buffer.from(pair.publicKey); - - return (new PrivateKey({ - type: 'curve25519', - parts: [ - { name: 'A', data: utils.mpNormalize(pub) }, - { name: 'k', data: utils.mpNormalize(priv) } - ] - })); - } else if (this.type === 'curve25519' && newType === 'ed25519') { - if (nacl === undefined) - nacl = __webpack_require__(75); - - priv = this.part.k.data; - if (priv[0] === 0x00) - priv = priv.slice(1); - - pair = nacl.sign.keyPair.fromSeed(new Uint8Array(priv)); - pub = Buffer.from(pair.publicKey); - - return (new PrivateKey({ - type: 'ed25519', - parts: [ - { name: 'A', data: utils.mpNormalize(pub) }, - { name: 'k', data: utils.mpNormalize(priv) } - ] - })); - } - throw (new Error('Key derivation not supported from ' + this.type + - ' to ' + newType)); -}; - -PrivateKey.prototype.createVerify = function (hashAlgo) { - return (this.toPublic().createVerify(hashAlgo)); -}; - -PrivateKey.prototype.createSign = function (hashAlgo) { - if (hashAlgo === undefined) - hashAlgo = this.defaultHashAlgorithm(); - assert.string(hashAlgo, 'hash algorithm'); - - /* ED25519 is not supported by OpenSSL, use a javascript impl. */ - if (this.type === 'ed25519' && edCompat !== undefined) - return (new edCompat.Signer(this, hashAlgo)); - if (this.type === 'curve25519') - throw (new Error('Curve25519 keys are not suitable for ' + - 'signing or verification')); - - var v, nm, err; - try { - nm = hashAlgo.toUpperCase(); - v = crypto.createSign(nm); - } catch (e) { - err = e; - } - if (v === undefined || (err instanceof Error && - err.message.match(/Unknown message digest/))) { - nm = 'RSA-'; - nm += hashAlgo.toUpperCase(); - v = crypto.createSign(nm); - } - assert.ok(v, 'failed to create verifier'); - var oldSign = v.sign.bind(v); - var key = this.toBuffer('pkcs1'); - var type = this.type; - var curve = this.curve; - v.sign = function () { - var sig = oldSign(key); - if (typeof (sig) === 'string') - sig = Buffer.from(sig, 'binary'); - sig = Signature.parse(sig, type, 'asn1'); - sig.hashAlgorithm = hashAlgo; - sig.curve = curve; - return (sig); - }; - return (v); -}; - -PrivateKey.parse = function (data, format, options) { - if (typeof (data) !== 'string') - assert.buffer(data, 'data'); - if (format === undefined) - format = 'auto'; - assert.string(format, 'format'); - if (typeof (options) === 'string') - options = { filename: options }; - assert.optionalObject(options, 'options'); - if (options === undefined) - options = {}; - assert.optionalString(options.filename, 'options.filename'); - if (options.filename === undefined) - options.filename = '(unnamed)'; - - assert.object(formats[format], 'formats[format]'); - - try { - var k = formats[format].read(data, options); - assert.ok(k instanceof PrivateKey, 'key is not a private key'); - if (!k.comment) - k.comment = options.filename; - return (k); - } catch (e) { - if (e.name === 'KeyEncryptedError') - throw (e); - throw (new KeyParseError(options.filename, format, e)); - } -}; - -PrivateKey.isPrivateKey = function (obj, ver) { - return (utils.isCompatible(obj, PrivateKey, ver)); -}; - -PrivateKey.generate = function (type, options) { - if (options === undefined) - options = {}; - assert.object(options, 'options'); - - switch (type) { - case 'ecdsa': - if (options.curve === undefined) - options.curve = 'nistp256'; - assert.string(options.curve, 'options.curve'); - return (generateECDSA(options.curve)); - case 'ed25519': - return (generateED25519()); - default: - throw (new Error('Key generation not supported with key ' + - 'type "' + type + '"')); - } -}; - -/* - * API versions for PrivateKey: - * [1,0] -- initial ver - * [1,1] -- added auto, pkcs[18], openssh/ssh-private formats - * [1,2] -- added defaultHashAlgorithm - * [1,3] -- added derive, ed, createDH - * [1,4] -- first tagged version - * [1,5] -- changed ed25519 part names and format - */ -PrivateKey.prototype._sshpkApiVersion = [1, 5]; - -PrivateKey._oldVersionDetect = function (obj) { - assert.func(obj.toPublic); - assert.func(obj.createSign); - if (obj.derive) - return ([1, 3]); - if (obj.defaultHashAlgorithm) - return ([1, 2]); - if (obj.formats['auto']) - return ([1, 1]); - return ([1, 0]); -}; - - -/***/ }), -/* 34 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.wrapLifecycle = exports.run = exports.install = exports.Install = undefined; - -var _extends2; - -function _load_extends() { - return _extends2 = _interopRequireDefault(__webpack_require__(22)); -} - -var _asyncToGenerator2; - -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(2)); -} - -let install = exports.install = (() => { - var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (config, reporter, flags, lockfile) { - yield wrapLifecycle(config, flags, (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const install = new Install(flags, config, reporter, lockfile); - yield install.init(); - })); - }); - - return function install(_x7, _x8, _x9, _x10) { - return _ref29.apply(this, arguments); - }; -})(); - -let run = exports.run = (() => { - var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (config, reporter, flags, args) { - let lockfile; - let error = 'installCommandRenamed'; - if (flags.lockfile === false) { - lockfile = new (_lockfile || _load_lockfile()).default(); - } else { - lockfile = yield (_lockfile || _load_lockfile()).default.fromDirectory(config.lockfileFolder, reporter); - } - - if (args.length) { - const exampleArgs = args.slice(); - - if (flags.saveDev) { - exampleArgs.push('--dev'); - } - if (flags.savePeer) { - exampleArgs.push('--peer'); - } - if (flags.saveOptional) { - exampleArgs.push('--optional'); - } - if (flags.saveExact) { - exampleArgs.push('--exact'); - } - if (flags.saveTilde) { - exampleArgs.push('--tilde'); - } - let command = 'add'; - if (flags.global) { - error = 'globalFlagRemoved'; - command = 'global add'; - } - throw new (_errors || _load_errors()).MessageError(reporter.lang(error, `yarn ${command} ${exampleArgs.join(' ')}`)); - } - - yield install(config, reporter, flags, lockfile); - }); - - return function run(_x11, _x12, _x13, _x14) { - return _ref31.apply(this, arguments); - }; -})(); - -let wrapLifecycle = exports.wrapLifecycle = (() => { - var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (config, flags, factory) { - yield config.executeLifecycleScript('preinstall'); - - yield factory(); - - // npm behaviour, seems kinda funky but yay compatibility - yield config.executeLifecycleScript('install'); - yield config.executeLifecycleScript('postinstall'); - - if (!config.production) { - if (!config.disablePrepublish) { - yield config.executeLifecycleScript('prepublish'); - } - yield config.executeLifecycleScript('prepare'); - } - }); - - return function wrapLifecycle(_x15, _x16, _x17) { - return _ref32.apply(this, arguments); - }; -})(); - -exports.hasWrapper = hasWrapper; -exports.setFlags = setFlags; - -var _objectPath; - -function _load_objectPath() { - return _objectPath = _interopRequireDefault(__webpack_require__(304)); -} - -var _hooks; - -function _load_hooks() { - return _hooks = __webpack_require__(581); -} - -var _index; - -function _load_index() { - return _index = _interopRequireDefault(__webpack_require__(220)); -} - -var _errors; - -function _load_errors() { - return _errors = __webpack_require__(5); -} - -var _integrityChecker; - -function _load_integrityChecker() { - return _integrityChecker = _interopRequireDefault(__webpack_require__(208)); -} - -var _lockfile; - -function _load_lockfile() { - return _lockfile = _interopRequireDefault(__webpack_require__(19)); -} - -var _lockfile2; - -function _load_lockfile2() { - return _lockfile2 = __webpack_require__(19); -} - -var _packageFetcher; - -function _load_packageFetcher() { - return _packageFetcher = _interopRequireWildcard(__webpack_require__(210)); -} - -var _packageInstallScripts; - -function _load_packageInstallScripts() { - return _packageInstallScripts = _interopRequireDefault(__webpack_require__(556)); -} - -var _packageCompatibility; - -function _load_packageCompatibility() { - return _packageCompatibility = _interopRequireWildcard(__webpack_require__(209)); -} - -var _packageResolver; - -function _load_packageResolver() { - return _packageResolver = _interopRequireDefault(__webpack_require__(366)); -} - -var _packageLinker; - -function _load_packageLinker() { - return _packageLinker = _interopRequireDefault(__webpack_require__(211)); -} - -var _index2; - -function _load_index2() { - return _index2 = __webpack_require__(57); -} - -var _index3; - -function _load_index3() { - return _index3 = __webpack_require__(78); -} - -var _autoclean; - -function _load_autoclean() { - return _autoclean = __webpack_require__(354); -} - -var _constants; - -function _load_constants() { - return _constants = _interopRequireWildcard(__webpack_require__(8)); -} - -var _normalizePattern; - -function _load_normalizePattern() { - return _normalizePattern = __webpack_require__(37); -} - -var _fs; - -function _load_fs() { - return _fs = _interopRequireWildcard(__webpack_require__(6)); -} - -var _map; - -function _load_map() { - return _map = _interopRequireDefault(__webpack_require__(29)); -} - -var _yarnVersion; - -function _load_yarnVersion() { - return _yarnVersion = __webpack_require__(120); -} - -var _generatePnpMap; - -function _load_generatePnpMap() { - return _generatePnpMap = __webpack_require__(578); -} - -var _workspaceLayout; - -function _load_workspaceLayout() { - return _workspaceLayout = _interopRequireDefault(__webpack_require__(90)); -} - -var _resolutionMap; - -function _load_resolutionMap() { - return _resolutionMap = _interopRequireDefault(__webpack_require__(214)); -} - -var _guessName; - -function _load_guessName() { - return _guessName = _interopRequireDefault(__webpack_require__(169)); -} - -var _audit; - -function _load_audit() { - return _audit = _interopRequireDefault(__webpack_require__(353)); -} - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const deepEqual = __webpack_require__(631); - -const emoji = __webpack_require__(302); -const invariant = __webpack_require__(9); -const path = __webpack_require__(0); -const semver = __webpack_require__(21); -const uuid = __webpack_require__(119); -const ssri = __webpack_require__(77); - -const ONE_DAY = 1000 * 60 * 60 * 24; - -/** - * Try and detect the installation method for Yarn and provide a command to update it with. - */ - -function getUpdateCommand(installationMethod) { - if (installationMethod === 'tar') { - return `curl --compressed -o- -L ${(_constants || _load_constants()).YARN_INSTALLER_SH} | bash`; - } - - if (installationMethod === 'homebrew') { - return 'brew upgrade yarn'; - } - - if (installationMethod === 'deb') { - return 'sudo apt-get update && sudo apt-get install yarn'; - } - - if (installationMethod === 'rpm') { - return 'sudo yum install yarn'; - } - - if (installationMethod === 'npm') { - return 'npm install --global yarn'; - } - - if (installationMethod === 'chocolatey') { - return 'choco upgrade yarn'; - } - - if (installationMethod === 'apk') { - return 'apk update && apk add -u yarn'; - } - - if (installationMethod === 'portage') { - return 'sudo emerge --sync && sudo emerge -au sys-apps/yarn'; - } - - return null; -} - -function getUpdateInstaller(installationMethod) { - // Windows - if (installationMethod === 'msi') { - return (_constants || _load_constants()).YARN_INSTALLER_MSI; - } - - return null; -} - -function normalizeFlags(config, rawFlags) { - const flags = { - // install - har: !!rawFlags.har, - ignorePlatform: !!rawFlags.ignorePlatform, - ignoreEngines: !!rawFlags.ignoreEngines, - ignoreScripts: !!rawFlags.ignoreScripts, - ignoreOptional: !!rawFlags.ignoreOptional, - force: !!rawFlags.force, - flat: !!rawFlags.flat, - lockfile: rawFlags.lockfile !== false, - pureLockfile: !!rawFlags.pureLockfile, - updateChecksums: !!rawFlags.updateChecksums, - skipIntegrityCheck: !!rawFlags.skipIntegrityCheck, - frozenLockfile: !!rawFlags.frozenLockfile, - linkDuplicates: !!rawFlags.linkDuplicates, - checkFiles: !!rawFlags.checkFiles, - audit: !!rawFlags.audit, - - // add - peer: !!rawFlags.peer, - dev: !!rawFlags.dev, - optional: !!rawFlags.optional, - exact: !!rawFlags.exact, - tilde: !!rawFlags.tilde, - ignoreWorkspaceRootCheck: !!rawFlags.ignoreWorkspaceRootCheck, - - // outdated, update-interactive - includeWorkspaceDeps: !!rawFlags.includeWorkspaceDeps, - - // add, remove, update - workspaceRootIsCwd: rawFlags.workspaceRootIsCwd !== false - }; - - if (config.getOption('ignore-scripts')) { - flags.ignoreScripts = true; - } - - if (config.getOption('ignore-platform')) { - flags.ignorePlatform = true; - } - - if (config.getOption('ignore-engines')) { - flags.ignoreEngines = true; - } - - if (config.getOption('ignore-optional')) { - flags.ignoreOptional = true; - } - - if (config.getOption('force')) { - flags.force = true; - } - - return flags; -} - -class Install { - constructor(flags, config, reporter, lockfile) { - this.rootManifestRegistries = []; - this.rootPatternsToOrigin = (0, (_map || _load_map()).default)(); - this.lockfile = lockfile; - this.reporter = reporter; - this.config = config; - this.flags = normalizeFlags(config, flags); - this.resolutions = (0, (_map || _load_map()).default)(); // Legacy resolutions field used for flat install mode - this.resolutionMap = new (_resolutionMap || _load_resolutionMap()).default(config); // Selective resolutions for nested dependencies - this.resolver = new (_packageResolver || _load_packageResolver()).default(config, lockfile, this.resolutionMap); - this.integrityChecker = new (_integrityChecker || _load_integrityChecker()).default(config); - this.linker = new (_packageLinker || _load_packageLinker()).default(config, this.resolver); - this.scripts = new (_packageInstallScripts || _load_packageInstallScripts()).default(config, this.resolver, this.flags.force); - } - - /** - * Create a list of dependency requests from the current directories manifests. - */ - - fetchRequestFromCwd(excludePatterns = [], ignoreUnusedPatterns = false) { - var _this = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const patterns = []; - const deps = []; - let resolutionDeps = []; - const manifest = {}; - - const ignorePatterns = []; - const usedPatterns = []; - let workspaceLayout; - - // some commands should always run in the context of the entire workspace - const cwd = _this.flags.includeWorkspaceDeps || _this.flags.workspaceRootIsCwd ? _this.config.lockfileFolder : _this.config.cwd; - - // non-workspaces are always root, otherwise check for workspace root - const cwdIsRoot = !_this.config.workspaceRootFolder || _this.config.lockfileFolder === cwd; - - // exclude package names that are in install args - const excludeNames = []; - for (var _iterator = excludePatterns, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - const pattern = _ref; - - if ((0, (_index3 || _load_index3()).getExoticResolver)(pattern)) { - excludeNames.push((0, (_guessName || _load_guessName()).default)(pattern)); - } else { - // extract the name - const parts = (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern); - excludeNames.push(parts.name); - } - } - - const stripExcluded = function stripExcluded(manifest) { - for (var _iterator2 = excludeNames, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - const exclude = _ref2; - - if (manifest.dependencies && manifest.dependencies[exclude]) { - delete manifest.dependencies[exclude]; - } - if (manifest.devDependencies && manifest.devDependencies[exclude]) { - delete manifest.devDependencies[exclude]; - } - if (manifest.optionalDependencies && manifest.optionalDependencies[exclude]) { - delete manifest.optionalDependencies[exclude]; - } - } - }; - - for (var _iterator3 = Object.keys((_index2 || _load_index2()).registries), _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - const registry = _ref3; - - const filename = (_index2 || _load_index2()).registries[registry].filename; - - const loc = path.join(cwd, filename); - if (!(yield (_fs || _load_fs()).exists(loc))) { - continue; - } - - _this.rootManifestRegistries.push(registry); - - const projectManifestJson = yield _this.config.readJson(loc); - yield (0, (_index || _load_index()).default)(projectManifestJson, cwd, _this.config, cwdIsRoot); - - Object.assign(_this.resolutions, projectManifestJson.resolutions); - Object.assign(manifest, projectManifestJson); - - _this.resolutionMap.init(_this.resolutions); - for (var _iterator4 = Object.keys(_this.resolutionMap.resolutionsByPackage), _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref4; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref4 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref4 = _i4.value; - } - - const packageName = _ref4; - - const optional = (_objectPath || _load_objectPath()).default.has(manifest.optionalDependencies, packageName) && _this.flags.ignoreOptional; - for (var _iterator8 = _this.resolutionMap.resolutionsByPackage[packageName], _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { - var _ref9; - - if (_isArray8) { - if (_i8 >= _iterator8.length) break; - _ref9 = _iterator8[_i8++]; - } else { - _i8 = _iterator8.next(); - if (_i8.done) break; - _ref9 = _i8.value; - } - - const _ref8 = _ref9; - const pattern = _ref8.pattern; - - resolutionDeps = [...resolutionDeps, { registry, pattern, optional, hint: 'resolution' }]; - } - } - - const pushDeps = function pushDeps(depType, manifest, { hint, optional }, isUsed) { - if (ignoreUnusedPatterns && !isUsed) { - return; - } - // We only take unused dependencies into consideration to get deterministic hoisting. - // Since flat mode doesn't care about hoisting and everything is top level and specified then we can safely - // leave these out. - if (_this.flags.flat && !isUsed) { - return; - } - const depMap = manifest[depType]; - for (const name in depMap) { - if (excludeNames.indexOf(name) >= 0) { - continue; - } - - let pattern = name; - if (!_this.lockfile.getLocked(pattern)) { - // when we use --save we save the dependency to the lockfile with just the name rather than the - // version combo - pattern += '@' + depMap[name]; - } - - // normalization made sure packages are mentioned only once - if (isUsed) { - usedPatterns.push(pattern); - } else { - ignorePatterns.push(pattern); - } - - _this.rootPatternsToOrigin[pattern] = depType; - patterns.push(pattern); - deps.push({ pattern, registry, hint, optional, workspaceName: manifest.name, workspaceLoc: manifest._loc }); - } - }; - - if (cwdIsRoot) { - pushDeps('dependencies', projectManifestJson, { hint: null, optional: false }, true); - pushDeps('devDependencies', projectManifestJson, { hint: 'dev', optional: false }, !_this.config.production); - pushDeps('optionalDependencies', projectManifestJson, { hint: 'optional', optional: true }, true); - } - - if (_this.config.workspaceRootFolder) { - const workspaceLoc = cwdIsRoot ? loc : path.join(_this.config.lockfileFolder, filename); - const workspacesRoot = path.dirname(workspaceLoc); - - let workspaceManifestJson = projectManifestJson; - if (!cwdIsRoot) { - // the manifest we read before was a child workspace, so get the root - workspaceManifestJson = yield _this.config.readJson(workspaceLoc); - yield (0, (_index || _load_index()).default)(workspaceManifestJson, workspacesRoot, _this.config, true); - } - - const workspaces = yield _this.config.resolveWorkspaces(workspacesRoot, workspaceManifestJson); - workspaceLayout = new (_workspaceLayout || _load_workspaceLayout()).default(workspaces, _this.config); - - // add virtual manifest that depends on all workspaces, this way package hoisters and resolvers will work fine - const workspaceDependencies = (0, (_extends2 || _load_extends()).default)({}, workspaceManifestJson.dependencies); - for (var _iterator5 = Object.keys(workspaces), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref5; - - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref5 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref5 = _i5.value; - } - - const workspaceName = _ref5; - - const workspaceManifest = workspaces[workspaceName].manifest; - workspaceDependencies[workspaceName] = workspaceManifest.version; - - // include dependencies from all workspaces - if (_this.flags.includeWorkspaceDeps) { - pushDeps('dependencies', workspaceManifest, { hint: null, optional: false }, true); - pushDeps('devDependencies', workspaceManifest, { hint: 'dev', optional: false }, !_this.config.production); - pushDeps('optionalDependencies', workspaceManifest, { hint: 'optional', optional: true }, true); - } - } - const virtualDependencyManifest = { - _uid: '', - name: `workspace-aggregator-${uuid.v4()}`, - version: '1.0.0', - _registry: 'npm', - _loc: workspacesRoot, - dependencies: workspaceDependencies, - devDependencies: (0, (_extends2 || _load_extends()).default)({}, workspaceManifestJson.devDependencies), - optionalDependencies: (0, (_extends2 || _load_extends()).default)({}, workspaceManifestJson.optionalDependencies), - private: workspaceManifestJson.private, - workspaces: workspaceManifestJson.workspaces - }; - workspaceLayout.virtualManifestName = virtualDependencyManifest.name; - const virtualDep = {}; - virtualDep[virtualDependencyManifest.name] = virtualDependencyManifest.version; - workspaces[virtualDependencyManifest.name] = { loc: workspacesRoot, manifest: virtualDependencyManifest }; - - // ensure dependencies that should be excluded are stripped from the correct manifest - stripExcluded(cwdIsRoot ? virtualDependencyManifest : workspaces[projectManifestJson.name].manifest); - - pushDeps('workspaces', { workspaces: virtualDep }, { hint: 'workspaces', optional: false }, true); - - const implicitWorkspaceDependencies = (0, (_extends2 || _load_extends()).default)({}, workspaceDependencies); - - for (var _iterator6 = (_constants || _load_constants()).OWNED_DEPENDENCY_TYPES, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref6; - - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref6 = _iterator6[_i6++]; - } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref6 = _i6.value; - } - - const type = _ref6; - - for (var _iterator7 = Object.keys(projectManifestJson[type] || {}), _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { - var _ref7; - - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref7 = _iterator7[_i7++]; - } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref7 = _i7.value; - } - - const dependencyName = _ref7; - - delete implicitWorkspaceDependencies[dependencyName]; - } - } - - pushDeps('dependencies', { dependencies: implicitWorkspaceDependencies }, { hint: 'workspaces', optional: false }, true); - } - - break; - } - - // inherit root flat flag - if (manifest.flat) { - _this.flags.flat = true; - } - - return { - requests: [...resolutionDeps, ...deps], - patterns, - manifest, - usedPatterns, - ignorePatterns, - workspaceLayout - }; - })(); - } - - /** - * TODO description - */ - - prepareRequests(requests) { - return requests; - } - - preparePatterns(patterns) { - return patterns; - } - preparePatternsForLinking(patterns, cwdManifest, cwdIsRoot) { - return patterns; - } - - prepareManifests() { - var _this2 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const manifests = yield _this2.config.getRootManifests(); - return manifests; - })(); - } - - bailout(patterns, workspaceLayout) { - var _this3 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // We don't want to skip the audit - it could yield important errors - if (_this3.flags.audit) { - return false; - } - // PNP is so fast that the integrity check isn't pertinent - if (_this3.config.plugnplayEnabled) { - return false; - } - if (_this3.flags.skipIntegrityCheck || _this3.flags.force) { - return false; - } - const lockfileCache = _this3.lockfile.cache; - if (!lockfileCache) { - return false; - } - const lockfileClean = _this3.lockfile.parseResultType === 'success'; - const match = yield _this3.integrityChecker.check(patterns, lockfileCache, _this3.flags, workspaceLayout); - if (_this3.flags.frozenLockfile && (!lockfileClean || match.missingPatterns.length > 0)) { - throw new (_errors || _load_errors()).MessageError(_this3.reporter.lang('frozenLockfileError')); - } - - const haveLockfile = yield (_fs || _load_fs()).exists(path.join(_this3.config.lockfileFolder, (_constants || _load_constants()).LOCKFILE_FILENAME)); - - const lockfileIntegrityPresent = !_this3.lockfile.hasEntriesExistWithoutIntegrity(); - const integrityBailout = lockfileIntegrityPresent || !_this3.config.autoAddIntegrity; - - if (match.integrityMatches && haveLockfile && lockfileClean && integrityBailout) { - _this3.reporter.success(_this3.reporter.lang('upToDate')); - return true; - } - - if (match.integrityFileMissing && haveLockfile) { - // Integrity file missing, force script installations - _this3.scripts.setForce(true); - return false; - } - - if (match.hardRefreshRequired) { - // e.g. node version doesn't match, force script installations - _this3.scripts.setForce(true); - return false; - } - - if (!patterns.length && !match.integrityFileMissing) { - _this3.reporter.success(_this3.reporter.lang('nothingToInstall')); - yield _this3.createEmptyManifestFolders(); - yield _this3.saveLockfileAndIntegrity(patterns, workspaceLayout); - return true; - } - - return false; - })(); - } - - /** - * Produce empty folders for all used root manifests. - */ - - createEmptyManifestFolders() { - var _this4 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - if (_this4.config.modulesFolder) { - // already created - return; - } - - for (var _iterator9 = _this4.rootManifestRegistries, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { - var _ref10; - - if (_isArray9) { - if (_i9 >= _iterator9.length) break; - _ref10 = _iterator9[_i9++]; - } else { - _i9 = _iterator9.next(); - if (_i9.done) break; - _ref10 = _i9.value; - } - - const registryName = _ref10; - const folder = _this4.config.registries[registryName].folder; - - yield (_fs || _load_fs()).mkdirp(path.join(_this4.config.lockfileFolder, folder)); - } - })(); - } - - /** - * TODO description - */ - - markIgnored(patterns) { - for (var _iterator10 = patterns, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { - var _ref11; - - if (_isArray10) { - if (_i10 >= _iterator10.length) break; - _ref11 = _iterator10[_i10++]; - } else { - _i10 = _iterator10.next(); - if (_i10.done) break; - _ref11 = _i10.value; - } - - const pattern = _ref11; - - const manifest = this.resolver.getStrictResolvedPattern(pattern); - const ref = manifest._reference; - invariant(ref, 'expected package reference'); - - // just mark the package as ignored. if the package is used by a required package, the hoister - // will take care of that. - ref.ignore = true; - } - } - - /** - * helper method that gets only recent manifests - * used by global.ls command - */ - getFlattenedDeps() { - var _this5 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - var _ref12 = yield _this5.fetchRequestFromCwd(); - - const depRequests = _ref12.requests, - rawPatterns = _ref12.patterns; - - - yield _this5.resolver.init(depRequests, {}); - - const manifests = yield (_packageFetcher || _load_packageFetcher()).fetch(_this5.resolver.getManifests(), _this5.config); - _this5.resolver.updateManifests(manifests); - - return _this5.flatten(rawPatterns); - })(); - } - - /** - * TODO description - */ - - init() { - var _this6 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.checkUpdate(); - - // warn if we have a shrinkwrap - if (yield (_fs || _load_fs()).exists(path.join(_this6.config.lockfileFolder, (_constants || _load_constants()).NPM_SHRINKWRAP_FILENAME))) { - _this6.reporter.warn(_this6.reporter.lang('shrinkwrapWarning')); - } - - // warn if we have an npm lockfile - if (yield (_fs || _load_fs()).exists(path.join(_this6.config.lockfileFolder, (_constants || _load_constants()).NPM_LOCK_FILENAME))) { - _this6.reporter.warn(_this6.reporter.lang('npmLockfileWarning')); - } - - let flattenedTopLevelPatterns = []; - const steps = []; - - var _ref13 = yield _this6.fetchRequestFromCwd(); - - const depRequests = _ref13.requests, - rawPatterns = _ref13.patterns, - ignorePatterns = _ref13.ignorePatterns, - workspaceLayout = _ref13.workspaceLayout, - manifest = _ref13.manifest; - - let topLevelPatterns = []; - - const artifacts = yield _this6.integrityChecker.getArtifacts(); - if (artifacts) { - _this6.linker.setArtifacts(artifacts); - _this6.scripts.setArtifacts(artifacts); - } - - if ((_packageCompatibility || _load_packageCompatibility()).shouldCheck(manifest, _this6.flags)) { - steps.push((() => { - var _ref14 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (curr, total) { - _this6.reporter.step(curr, total, _this6.reporter.lang('checkingManifest'), emoji.get('mag')); - yield _this6.checkCompatibility(); - }); - - return function (_x, _x2) { - return _ref14.apply(this, arguments); - }; - })()); - } - - const audit = new (_audit || _load_audit()).default(_this6.config, _this6.reporter, { groups: (_constants || _load_constants()).OWNED_DEPENDENCY_TYPES }); - let auditFoundProblems = false; - - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('resolveStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.reporter.step(curr, total, _this6.reporter.lang('resolvingPackages'), emoji.get('mag')); - yield _this6.resolver.init(_this6.prepareRequests(depRequests), { - isFlat: _this6.flags.flat, - isFrozen: _this6.flags.frozenLockfile, - workspaceLayout - }); - topLevelPatterns = _this6.preparePatterns(rawPatterns); - flattenedTopLevelPatterns = yield _this6.flatten(topLevelPatterns); - return { bailout: !_this6.flags.audit && (yield _this6.bailout(topLevelPatterns, workspaceLayout)) }; - })); - }); - - if (_this6.flags.audit) { - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('auditStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.reporter.step(curr, total, _this6.reporter.lang('auditRunning'), emoji.get('mag')); - if (_this6.flags.offline) { - _this6.reporter.warn(_this6.reporter.lang('auditOffline')); - return { bailout: false }; - } - const preparedManifests = yield _this6.prepareManifests(); - // $FlowFixMe - Flow considers `m` in the map operation to be "mixed", so does not recognize `m.object` - const mergedManifest = Object.assign({}, ...Object.values(preparedManifests).map(function (m) { - return m.object; - })); - const auditVulnerabilityCounts = yield audit.performAudit(mergedManifest, _this6.lockfile, _this6.resolver, _this6.linker, topLevelPatterns); - auditFoundProblems = auditVulnerabilityCounts.info || auditVulnerabilityCounts.low || auditVulnerabilityCounts.moderate || auditVulnerabilityCounts.high || auditVulnerabilityCounts.critical; - return { bailout: yield _this6.bailout(topLevelPatterns, workspaceLayout) }; - })); - }); - } - - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('fetchStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.markIgnored(ignorePatterns); - _this6.reporter.step(curr, total, _this6.reporter.lang('fetchingPackages'), emoji.get('truck')); - const manifests = yield (_packageFetcher || _load_packageFetcher()).fetch(_this6.resolver.getManifests(), _this6.config); - _this6.resolver.updateManifests(manifests); - yield (_packageCompatibility || _load_packageCompatibility()).check(_this6.resolver.getManifests(), _this6.config, _this6.flags.ignoreEngines); - })); - }); - - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('linkStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // remove integrity hash to make this operation atomic - yield _this6.integrityChecker.removeIntegrityFile(); - _this6.reporter.step(curr, total, _this6.reporter.lang('linkingDependencies'), emoji.get('link')); - flattenedTopLevelPatterns = _this6.preparePatternsForLinking(flattenedTopLevelPatterns, manifest, _this6.config.lockfileFolder === _this6.config.cwd); - yield _this6.linker.init(flattenedTopLevelPatterns, workspaceLayout, { - linkDuplicates: _this6.flags.linkDuplicates, - ignoreOptional: _this6.flags.ignoreOptional - }); - })); - }); - - if (_this6.config.plugnplayEnabled) { - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('pnpStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const pnpPath = `${_this6.config.lockfileFolder}/${(_constants || _load_constants()).PNP_FILENAME}`; - - const code = yield (0, (_generatePnpMap || _load_generatePnpMap()).generatePnpMap)(_this6.config, flattenedTopLevelPatterns, { - resolver: _this6.resolver, - reporter: _this6.reporter, - targetPath: pnpPath, - workspaceLayout - }); - - try { - const file = yield (_fs || _load_fs()).readFile(pnpPath); - if (file === code) { - return; - } - } catch (error) {} - - yield (_fs || _load_fs()).writeFile(pnpPath, code); - yield (_fs || _load_fs()).chmod(pnpPath, 0o755); - })); - }); - } - - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('buildStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.reporter.step(curr, total, _this6.flags.force ? _this6.reporter.lang('rebuildingPackages') : _this6.reporter.lang('buildingFreshPackages'), emoji.get('hammer')); - - if (_this6.config.ignoreScripts) { - _this6.reporter.warn(_this6.reporter.lang('ignoredScripts')); - } else { - yield _this6.scripts.init(flattenedTopLevelPatterns); - } - })); - }); - - if (_this6.flags.har) { - steps.push((() => { - var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (curr, total) { - const formattedDate = new Date().toISOString().replace(/:/g, '-'); - const filename = `yarn-install_${formattedDate}.har`; - _this6.reporter.step(curr, total, _this6.reporter.lang('savingHar', filename), emoji.get('black_circle_for_record')); - yield _this6.config.requestManager.saveHar(filename); - }); - - return function (_x3, _x4) { - return _ref21.apply(this, arguments); - }; - })()); - } - - if (yield _this6.shouldClean()) { - steps.push((() => { - var _ref22 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (curr, total) { - _this6.reporter.step(curr, total, _this6.reporter.lang('cleaningModules'), emoji.get('recycle')); - yield (0, (_autoclean || _load_autoclean()).clean)(_this6.config, _this6.reporter); - }); - - return function (_x5, _x6) { - return _ref22.apply(this, arguments); - }; - })()); - } - - let currentStep = 0; - for (var _iterator11 = steps, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) { - var _ref23; - - if (_isArray11) { - if (_i11 >= _iterator11.length) break; - _ref23 = _iterator11[_i11++]; - } else { - _i11 = _iterator11.next(); - if (_i11.done) break; - _ref23 = _i11.value; - } - - const step = _ref23; - - const stepResult = yield step(++currentStep, steps.length); - if (stepResult && stepResult.bailout) { - if (_this6.flags.audit) { - audit.summary(); - } - if (auditFoundProblems) { - _this6.reporter.warn(_this6.reporter.lang('auditRunAuditForDetails')); - } - _this6.maybeOutputUpdate(); - return flattenedTopLevelPatterns; - } - } - - // fin! - if (_this6.flags.audit) { - audit.summary(); - } - if (auditFoundProblems) { - _this6.reporter.warn(_this6.reporter.lang('auditRunAuditForDetails')); - } - yield _this6.saveLockfileAndIntegrity(topLevelPatterns, workspaceLayout); - yield _this6.persistChanges(); - _this6.maybeOutputUpdate(); - _this6.config.requestManager.clearCache(); - return flattenedTopLevelPatterns; - })(); - } - - checkCompatibility() { - var _this7 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - var _ref24 = yield _this7.fetchRequestFromCwd(); - - const manifest = _ref24.manifest; - - yield (_packageCompatibility || _load_packageCompatibility()).checkOne(manifest, _this7.config, _this7.flags.ignoreEngines); - })(); - } - - persistChanges() { - var _this8 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // get all the different registry manifests in this folder - const manifests = yield _this8.config.getRootManifests(); - - if (yield _this8.applyChanges(manifests)) { - yield _this8.config.saveRootManifests(manifests); - } - })(); - } - - applyChanges(manifests) { - let hasChanged = false; - - if (this.config.plugnplayPersist) { - const object = manifests.npm.object; - - - if (typeof object.installConfig !== 'object') { - object.installConfig = {}; - } - - if (this.config.plugnplayEnabled && object.installConfig.pnp !== true) { - object.installConfig.pnp = true; - hasChanged = true; - } else if (!this.config.plugnplayEnabled && typeof object.installConfig.pnp !== 'undefined') { - delete object.installConfig.pnp; - hasChanged = true; - } - - if (Object.keys(object.installConfig).length === 0) { - delete object.installConfig; - } - } - - return Promise.resolve(hasChanged); - } - - /** - * Check if we should run the cleaning step. - */ - - shouldClean() { - return (_fs || _load_fs()).exists(path.join(this.config.lockfileFolder, (_constants || _load_constants()).CLEAN_FILENAME)); - } - - /** - * TODO - */ - - flatten(patterns) { - var _this9 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - if (!_this9.flags.flat) { - return patterns; - } - - const flattenedPatterns = []; - - for (var _iterator12 = _this9.resolver.getAllDependencyNamesByLevelOrder(patterns), _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) { - var _ref25; - - if (_isArray12) { - if (_i12 >= _iterator12.length) break; - _ref25 = _iterator12[_i12++]; - } else { - _i12 = _iterator12.next(); - if (_i12.done) break; - _ref25 = _i12.value; - } - - const name = _ref25; - - const infos = _this9.resolver.getAllInfoForPackageName(name).filter(function (manifest) { - const ref = manifest._reference; - invariant(ref, 'expected package reference'); - return !ref.ignore; - }); - - if (infos.length === 0) { - continue; - } - - if (infos.length === 1) { - // single version of this package - // take out a single pattern as multiple patterns may have resolved to this package - flattenedPatterns.push(_this9.resolver.patternsByPackage[name][0]); - continue; - } - - const options = infos.map(function (info) { - const ref = info._reference; - invariant(ref, 'expected reference'); - return { - // TODO `and is required by {PARENT}`, - name: _this9.reporter.lang('manualVersionResolutionOption', ref.patterns.join(', '), info.version), - - value: info.version - }; - }); - const versions = infos.map(function (info) { - return info.version; - }); - let version; - - const resolutionVersion = _this9.resolutions[name]; - if (resolutionVersion && versions.indexOf(resolutionVersion) >= 0) { - // use json `resolution` version - version = resolutionVersion; - } else { - version = yield _this9.reporter.select(_this9.reporter.lang('manualVersionResolution', name), _this9.reporter.lang('answer'), options); - _this9.resolutions[name] = version; - } - - flattenedPatterns.push(_this9.resolver.collapseAllVersionsOfPackage(name, version)); - } - - // save resolutions to their appropriate root manifest - if (Object.keys(_this9.resolutions).length) { - const manifests = yield _this9.config.getRootManifests(); - - for (const name in _this9.resolutions) { - const version = _this9.resolutions[name]; - - const patterns = _this9.resolver.patternsByPackage[name]; - if (!patterns) { - continue; - } - - let manifest; - for (var _iterator13 = patterns, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) { - var _ref26; - - if (_isArray13) { - if (_i13 >= _iterator13.length) break; - _ref26 = _iterator13[_i13++]; - } else { - _i13 = _iterator13.next(); - if (_i13.done) break; - _ref26 = _i13.value; - } - - const pattern = _ref26; - - manifest = _this9.resolver.getResolvedPattern(pattern); - if (manifest) { - break; - } - } - invariant(manifest, 'expected manifest'); - - const ref = manifest._reference; - invariant(ref, 'expected reference'); - - const object = manifests[ref.registry].object; - object.resolutions = object.resolutions || {}; - object.resolutions[name] = version; - } - - yield _this9.config.saveRootManifests(manifests); - } - - return flattenedPatterns; - })(); - } - - /** - * Remove offline tarballs that are no longer required - */ - - pruneOfflineMirror(lockfile) { - var _this10 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const mirror = _this10.config.getOfflineMirrorPath(); - if (!mirror) { - return; - } - - const requiredTarballs = new Set(); - for (const dependency in lockfile) { - const resolved = lockfile[dependency].resolved; - if (resolved) { - const basename = path.basename(resolved.split('#')[0]); - if (dependency[0] === '@' && basename[0] !== '@') { - requiredTarballs.add(`${dependency.split('/')[0]}-${basename}`); - } - requiredTarballs.add(basename); - } - } - - const mirrorFiles = yield (_fs || _load_fs()).walk(mirror); - for (var _iterator14 = mirrorFiles, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) { - var _ref27; - - if (_isArray14) { - if (_i14 >= _iterator14.length) break; - _ref27 = _iterator14[_i14++]; - } else { - _i14 = _iterator14.next(); - if (_i14.done) break; - _ref27 = _i14.value; - } - - const file = _ref27; - - const isTarball = path.extname(file.basename) === '.tgz'; - // if using experimental-pack-script-packages-in-mirror flag, don't unlink prebuilt packages - const hasPrebuiltPackage = file.relative.startsWith('prebuilt/'); - if (isTarball && !hasPrebuiltPackage && !requiredTarballs.has(file.basename)) { - yield (_fs || _load_fs()).unlink(file.absolute); - } - } - })(); - } - - /** - * Save updated integrity and lockfiles. - */ - - saveLockfileAndIntegrity(patterns, workspaceLayout) { - var _this11 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const resolvedPatterns = {}; - Object.keys(_this11.resolver.patterns).forEach(function (pattern) { - if (!workspaceLayout || !workspaceLayout.getManifestByPattern(pattern)) { - resolvedPatterns[pattern] = _this11.resolver.patterns[pattern]; - } - }); - - // TODO this code is duplicated in a few places, need a common way to filter out workspace patterns from lockfile - patterns = patterns.filter(function (p) { - return !workspaceLayout || !workspaceLayout.getManifestByPattern(p); - }); - - const lockfileBasedOnResolver = _this11.lockfile.getLockfile(resolvedPatterns); - - if (_this11.config.pruneOfflineMirror) { - yield _this11.pruneOfflineMirror(lockfileBasedOnResolver); - } - - // write integrity hash - if (!_this11.config.plugnplayEnabled) { - yield _this11.integrityChecker.save(patterns, lockfileBasedOnResolver, _this11.flags, workspaceLayout, _this11.scripts.getArtifacts()); - } - - // --no-lockfile or --pure-lockfile or --frozen-lockfile - if (_this11.flags.lockfile === false || _this11.flags.pureLockfile || _this11.flags.frozenLockfile) { - return; - } - - const lockFileHasAllPatterns = patterns.every(function (p) { - return _this11.lockfile.getLocked(p); - }); - const lockfilePatternsMatch = Object.keys(_this11.lockfile.cache || {}).every(function (p) { - return lockfileBasedOnResolver[p]; - }); - const resolverPatternsAreSameAsInLockfile = Object.keys(lockfileBasedOnResolver).every(function (pattern) { - const manifest = _this11.lockfile.getLocked(pattern); - return manifest && manifest.resolved === lockfileBasedOnResolver[pattern].resolved && deepEqual(manifest.prebuiltVariants, lockfileBasedOnResolver[pattern].prebuiltVariants); - }); - const integrityPatternsAreSameAsInLockfile = Object.keys(lockfileBasedOnResolver).every(function (pattern) { - const existingIntegrityInfo = lockfileBasedOnResolver[pattern].integrity; - if (!existingIntegrityInfo) { - // if this entry does not have an integrity, no need to re-write the lockfile because of it - return true; - } - const manifest = _this11.lockfile.getLocked(pattern); - if (manifest && manifest.integrity) { - const manifestIntegrity = ssri.stringify(manifest.integrity); - return manifestIntegrity === existingIntegrityInfo; - } - return false; - }); - - // remove command is followed by install with force, lockfile will be rewritten in any case then - if (!_this11.flags.force && _this11.lockfile.parseResultType === 'success' && lockFileHasAllPatterns && lockfilePatternsMatch && resolverPatternsAreSameAsInLockfile && integrityPatternsAreSameAsInLockfile && patterns.length) { - return; - } - - // build lockfile location - const loc = path.join(_this11.config.lockfileFolder, (_constants || _load_constants()).LOCKFILE_FILENAME); - - // write lockfile - const lockSource = (0, (_lockfile2 || _load_lockfile2()).stringify)(lockfileBasedOnResolver, false, _this11.config.enableLockfileVersions); - yield (_fs || _load_fs()).writeFilePreservingEol(loc, lockSource); - - _this11._logSuccessSaveLockfile(); - })(); - } - - _logSuccessSaveLockfile() { - this.reporter.success(this.reporter.lang('savedLockfile')); - } - - /** - * Load the dependency graph of the current install. Only does package resolving and wont write to the cwd. - */ - hydrate(ignoreUnusedPatterns) { - var _this12 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const request = yield _this12.fetchRequestFromCwd([], ignoreUnusedPatterns); - const depRequests = request.requests, - rawPatterns = request.patterns, - ignorePatterns = request.ignorePatterns, - workspaceLayout = request.workspaceLayout; - - - yield _this12.resolver.init(depRequests, { - isFlat: _this12.flags.flat, - isFrozen: _this12.flags.frozenLockfile, - workspaceLayout - }); - yield _this12.flatten(rawPatterns); - _this12.markIgnored(ignorePatterns); - - // fetch packages, should hit cache most of the time - const manifests = yield (_packageFetcher || _load_packageFetcher()).fetch(_this12.resolver.getManifests(), _this12.config); - _this12.resolver.updateManifests(manifests); - yield (_packageCompatibility || _load_packageCompatibility()).check(_this12.resolver.getManifests(), _this12.config, _this12.flags.ignoreEngines); - - // expand minimal manifests - for (var _iterator15 = _this12.resolver.getManifests(), _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) { - var _ref28; - - if (_isArray15) { - if (_i15 >= _iterator15.length) break; - _ref28 = _iterator15[_i15++]; - } else { - _i15 = _iterator15.next(); - if (_i15.done) break; - _ref28 = _i15.value; - } - - const manifest = _ref28; - - const ref = manifest._reference; - invariant(ref, 'expected reference'); - const type = ref.remote.type; - // link specifier won't ever hit cache - - let loc = ''; - if (type === 'link') { - continue; - } else if (type === 'workspace') { - if (!ref.remote.reference) { - continue; - } - loc = ref.remote.reference; - } else { - loc = _this12.config.generateModuleCachePath(ref); - } - const newPkg = yield _this12.config.readManifest(loc); - yield _this12.resolver.updateManifest(ref, newPkg); - } - - return request; - })(); - } - - /** - * Check for updates every day and output a nag message if there's a newer version. - */ - - checkUpdate() { - if (this.config.nonInteractive) { - // don't show upgrade dialog on CI or non-TTY terminals - return; - } - - // don't check if disabled - if (this.config.getOption('disable-self-update-check')) { - return; - } - - // only check for updates once a day - const lastUpdateCheck = Number(this.config.getOption('lastUpdateCheck')) || 0; - if (lastUpdateCheck && Date.now() - lastUpdateCheck < ONE_DAY) { - return; - } - - // don't bug for updates on tagged releases - if ((_yarnVersion || _load_yarnVersion()).version.indexOf('-') >= 0) { - return; - } - - this._checkUpdate().catch(() => { - // swallow errors - }); - } - - _checkUpdate() { - var _this13 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - let latestVersion = yield _this13.config.requestManager.request({ - url: (_constants || _load_constants()).SELF_UPDATE_VERSION_URL - }); - invariant(typeof latestVersion === 'string', 'expected string'); - latestVersion = latestVersion.trim(); - if (!semver.valid(latestVersion)) { - return; - } - - // ensure we only check for updates periodically - _this13.config.registries.yarn.saveHomeConfig({ - lastUpdateCheck: Date.now() - }); - - if (semver.gt(latestVersion, (_yarnVersion || _load_yarnVersion()).version)) { - const installationMethod = yield (0, (_yarnVersion || _load_yarnVersion()).getInstallationMethod)(); - _this13.maybeOutputUpdate = function () { - _this13.reporter.warn(_this13.reporter.lang('yarnOutdated', latestVersion, (_yarnVersion || _load_yarnVersion()).version)); - - const command = getUpdateCommand(installationMethod); - if (command) { - _this13.reporter.info(_this13.reporter.lang('yarnOutdatedCommand')); - _this13.reporter.command(command); - } else { - const installer = getUpdateInstaller(installationMethod); - if (installer) { - _this13.reporter.info(_this13.reporter.lang('yarnOutdatedInstaller', installer)); - } - } - }; - } - })(); - } - - /** - * Method to override with a possible upgrade message. - */ - - maybeOutputUpdate() {} -} - -exports.Install = Install; -function hasWrapper(commander, args) { - return true; -} - -function setFlags(commander) { - commander.description('Yarn install is used to install all dependencies for a project.'); - commander.usage('install [flags]'); - commander.option('-A, --audit', 'Run vulnerability audit on installed packages'); - commander.option('-g, --global', 'DEPRECATED'); - commander.option('-S, --save', 'DEPRECATED - save package to your `dependencies`'); - commander.option('-D, --save-dev', 'DEPRECATED - save package to your `devDependencies`'); - commander.option('-P, --save-peer', 'DEPRECATED - save package to your `peerDependencies`'); - commander.option('-O, --save-optional', 'DEPRECATED - save package to your `optionalDependencies`'); - commander.option('-E, --save-exact', 'DEPRECATED'); - commander.option('-T, --save-tilde', 'DEPRECATED'); -} - -/***/ }), -/* 35 */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(52); -module.exports = function (it) { - if (!isObject(it)) throw TypeError(it + ' is not an object!'); - return it; -}; - - -/***/ }), -/* 36 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SubjectSubscriber; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Subject; }); -/* unused harmony export AnonymousSubject */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Observable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Subscriber__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ = __webpack_require__(25); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__ = __webpack_require__(189); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__SubjectSubscription__ = __webpack_require__(421); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__internal_symbol_rxSubscriber__ = __webpack_require__(321); -/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */ - - - - - - - -var SubjectSubscriber = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](SubjectSubscriber, _super); - function SubjectSubscriber(destination) { - var _this = _super.call(this, destination) || this; - _this.destination = destination; - return _this; - } - return SubjectSubscriber; -}(__WEBPACK_IMPORTED_MODULE_2__Subscriber__["a" /* Subscriber */])); - -var Subject = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](Subject, _super); - function Subject() { - var _this = _super.call(this) || this; - _this.observers = []; - _this.closed = false; - _this.isStopped = false; - _this.hasError = false; - _this.thrownError = null; - return _this; - } - Subject.prototype[__WEBPACK_IMPORTED_MODULE_6__internal_symbol_rxSubscriber__["a" /* rxSubscriber */]] = function () { - return new SubjectSubscriber(this); - }; - Subject.prototype.lift = function (operator) { - var subject = new AnonymousSubject(this, this); - subject.operator = operator; - return subject; - }; - Subject.prototype.next = function (value) { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - if (!this.isStopped) { - var observers = this.observers; - var len = observers.length; - var copy = observers.slice(); - for (var i = 0; i < len; i++) { - copy[i].next(value); - } - } - }; - Subject.prototype.error = function (err) { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - this.hasError = true; - this.thrownError = err; - this.isStopped = true; - var observers = this.observers; - var len = observers.length; - var copy = observers.slice(); - for (var i = 0; i < len; i++) { - copy[i].error(err); - } - this.observers.length = 0; - }; - Subject.prototype.complete = function () { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - this.isStopped = true; - var observers = this.observers; - var len = observers.length; - var copy = observers.slice(); - for (var i = 0; i < len; i++) { - copy[i].complete(); - } - this.observers.length = 0; - }; - Subject.prototype.unsubscribe = function () { - this.isStopped = true; - this.closed = true; - this.observers = null; - }; - Subject.prototype._trySubscribe = function (subscriber) { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - else { - return _super.prototype._trySubscribe.call(this, subscriber); - } - }; - Subject.prototype._subscribe = function (subscriber) { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - else if (this.hasError) { - subscriber.error(this.thrownError); - return __WEBPACK_IMPORTED_MODULE_3__Subscription__["a" /* Subscription */].EMPTY; - } - else if (this.isStopped) { - subscriber.complete(); - return __WEBPACK_IMPORTED_MODULE_3__Subscription__["a" /* Subscription */].EMPTY; - } - else { - this.observers.push(subscriber); - return new __WEBPACK_IMPORTED_MODULE_5__SubjectSubscription__["a" /* SubjectSubscription */](this, subscriber); - } - }; - Subject.prototype.asObservable = function () { - var observable = new __WEBPACK_IMPORTED_MODULE_1__Observable__["a" /* Observable */](); - observable.source = this; - return observable; - }; - Subject.create = function (destination, source) { - return new AnonymousSubject(destination, source); - }; - return Subject; -}(__WEBPACK_IMPORTED_MODULE_1__Observable__["a" /* Observable */])); - -var AnonymousSubject = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](AnonymousSubject, _super); - function AnonymousSubject(destination, source) { - var _this = _super.call(this) || this; - _this.destination = destination; - _this.source = source; - return _this; - } - AnonymousSubject.prototype.next = function (value) { - var destination = this.destination; - if (destination && destination.next) { - destination.next(value); - } - }; - AnonymousSubject.prototype.error = function (err) { - var destination = this.destination; - if (destination && destination.error) { - this.destination.error(err); - } - }; - AnonymousSubject.prototype.complete = function () { - var destination = this.destination; - if (destination && destination.complete) { - this.destination.complete(); - } - }; - AnonymousSubject.prototype._subscribe = function (subscriber) { - var source = this.source; - if (source) { - return this.source.subscribe(subscriber); - } - else { - return __WEBPACK_IMPORTED_MODULE_3__Subscription__["a" /* Subscription */].EMPTY; - } - }; - return AnonymousSubject; -}(Subject)); - -//# sourceMappingURL=Subject.js.map - - -/***/ }), -/* 37 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.normalizePattern = normalizePattern; - -/** - * Explode and normalize a pattern into its name and range. - */ - -function normalizePattern(pattern) { - let hasVersion = false; - let range = 'latest'; - let name = pattern; - - // if we're a scope then remove the @ and add it back later - let isScoped = false; - if (name[0] === '@') { - isScoped = true; - name = name.slice(1); - } - - // take first part as the name - const parts = name.split('@'); - if (parts.length > 1) { - name = parts.shift(); - range = parts.join('@'); - - if (range) { - hasVersion = true; - } else { - range = '*'; - } - } - - // add back @ scope suffix - if (isScoped) { - name = `@${name}`; - } - - return { name, range, hasVersion }; -} - -/***/ }), -/* 38 */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_RESULT__;/** - * @license - * Lodash - * Copyright JS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -;(function() { - - /** Used as a safe reference for `undefined` in pre-ES5 environments. */ - var undefined; - - /** Used as the semantic version number. */ - var VERSION = '4.17.10'; - - /** Used as the size to enable large array optimizations. */ - var LARGE_ARRAY_SIZE = 200; - - /** Error message constants. */ - var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', - FUNC_ERROR_TEXT = 'Expected a function'; - - /** Used to stand-in for `undefined` hash values. */ - var HASH_UNDEFINED = '__lodash_hash_undefined__'; - - /** Used as the maximum memoize cache size. */ - var MAX_MEMOIZE_SIZE = 500; - - /** Used as the internal argument placeholder. */ - var PLACEHOLDER = '__lodash_placeholder__'; - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG = 1, - CLONE_FLAT_FLAG = 2, - CLONE_SYMBOLS_FLAG = 4; - - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - - /** Used to compose bitmasks for function metadata. */ - var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_BOUND_FLAG = 4, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256, - WRAP_FLIP_FLAG = 512; - - /** Used as default options for `_.truncate`. */ - var DEFAULT_TRUNC_LENGTH = 30, - DEFAULT_TRUNC_OMISSION = '...'; - - /** Used to detect hot functions by number of calls within a span of milliseconds. */ - var HOT_COUNT = 800, - HOT_SPAN = 16; - - /** Used to indicate the type of lazy iteratees. */ - var LAZY_FILTER_FLAG = 1, - LAZY_MAP_FLAG = 2, - LAZY_WHILE_FLAG = 3; - - /** Used as references for various `Number` constants. */ - var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991, - MAX_INTEGER = 1.7976931348623157e+308, - NAN = 0 / 0; - - /** Used as references for the maximum length and index of an array. */ - var MAX_ARRAY_LENGTH = 4294967295, - MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, - HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - - /** Used to associate wrap methods with their bit flags. */ - var wrapFlags = [ - ['ary', WRAP_ARY_FLAG], - ['bind', WRAP_BIND_FLAG], - ['bindKey', WRAP_BIND_KEY_FLAG], - ['curry', WRAP_CURRY_FLAG], - ['curryRight', WRAP_CURRY_RIGHT_FLAG], - ['flip', WRAP_FLIP_FLAG], - ['partial', WRAP_PARTIAL_FLAG], - ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], - ['rearg', WRAP_REARG_FLAG] - ]; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - asyncTag = '[object AsyncFunction]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - domExcTag = '[object DOMException]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - mapTag = '[object Map]', - numberTag = '[object Number]', - nullTag = '[object Null]', - objectTag = '[object Object]', - promiseTag = '[object Promise]', - proxyTag = '[object Proxy]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]', - undefinedTag = '[object Undefined]', - weakMapTag = '[object WeakMap]', - weakSetTag = '[object WeakSet]'; - - var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** Used to match empty string literals in compiled template source. */ - var reEmptyStringLeading = /\b__p \+= '';/g, - reEmptyStringMiddle = /\b(__p \+=) '' \+/g, - reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - - /** Used to match HTML entities and HTML characters. */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, - reUnescapedHtml = /[&<>"']/g, - reHasEscapedHtml = RegExp(reEscapedHtml.source), - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - - /** Used to match template delimiters. */ - var reEscape = /<%-([\s\S]+?)%>/g, - reEvaluate = /<%([\s\S]+?)%>/g, - reInterpolate = /<%=([\s\S]+?)%>/g; - - /** Used to match property names within property paths. */ - var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - - /** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ - var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, - reHasRegExpChar = RegExp(reRegExpChar.source); - - /** Used to match leading and trailing whitespace. */ - var reTrim = /^\s+|\s+$/g, - reTrimStart = /^\s+/, - reTrimEnd = /\s+$/; - - /** Used to match wrap detail comments. */ - var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, - reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, - reSplitDetails = /,? & /; - - /** Used to match words composed of alphanumeric characters. */ - var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; - - /** Used to match backslashes in property paths. */ - var reEscapeChar = /\\(\\)?/g; - - /** - * Used to match - * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). - */ - var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; - - /** Used to match `RegExp` flags from their coerced string values. */ - var reFlags = /\w*$/; - - /** Used to detect bad signed hexadecimal string values. */ - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - - /** Used to detect binary string values. */ - var reIsBinary = /^0b[01]+$/i; - - /** Used to detect host constructors (Safari). */ - var reIsHostCtor = /^\[object .+?Constructor\]$/; - - /** Used to detect octal string values. */ - var reIsOctal = /^0o[0-7]+$/i; - - /** Used to detect unsigned integer values. */ - var reIsUint = /^(?:0|[1-9]\d*)$/; - - /** Used to match Latin Unicode letters (excluding mathematical operators). */ - var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; - - /** Used to ensure capturing order of template delimiters. */ - var reNoMatch = /($^)/; - - /** Used to match unescaped characters in compiled string literals. */ - var reUnescapedString = /['\n\r\u2028\u2029\\]/g; - - /** Used to compose unicode character classes. */ - var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsDingbatRange = '\\u2700-\\u27bf', - rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', - rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', - rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', - rsPunctuationRange = '\\u2000-\\u206f', - rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', - rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', - rsVarRange = '\\ufe0e\\ufe0f', - rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; - - /** Used to compose unicode capture groups. */ - var rsApos = "['\u2019]", - rsAstral = '[' + rsAstralRange + ']', - rsBreak = '[' + rsBreakRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsDigits = '\\d+', - rsDingbat = '[' + rsDingbatRange + ']', - rsLower = '[' + rsLowerRange + ']', - rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsUpper = '[' + rsUpperRange + ']', - rsZWJ = '\\u200d'; - - /** Used to compose unicode regexes. */ - var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', - rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', - rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', - rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', - reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', - rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - - /** Used to match apostrophes. */ - var reApos = RegExp(rsApos, 'g'); - - /** - * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and - * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). - */ - var reComboMark = RegExp(rsCombo, 'g'); - - /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ - var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - - /** Used to match complex or compound words. */ - var reUnicodeWord = RegExp([ - rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', - rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', - rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, - rsUpper + '+' + rsOptContrUpper, - rsOrdUpper, - rsOrdLower, - rsDigits, - rsEmoji - ].join('|'), 'g'); - - /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ - var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); - - /** Used to detect strings that need a more robust regexp to match words. */ - var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; - - /** Used to assign default `context` object properties. */ - var contextProps = [ - 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', - 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', - 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', - 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', - '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' - ]; - - /** Used to make template sourceURLs easier to identify. */ - var templateCounter = -1; - - /** Used to identify `toStringTag` values of typed arrays. */ - var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = - typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = - typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = - typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = - typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = - typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = - typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = - typedArrayTags[errorTag] = typedArrayTags[funcTag] = - typedArrayTags[mapTag] = typedArrayTags[numberTag] = - typedArrayTags[objectTag] = typedArrayTags[regexpTag] = - typedArrayTags[setTag] = typedArrayTags[stringTag] = - typedArrayTags[weakMapTag] = false; - - /** Used to identify `toStringTag` values supported by `_.clone`. */ - var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = - cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = - cloneableTags[boolTag] = cloneableTags[dateTag] = - cloneableTags[float32Tag] = cloneableTags[float64Tag] = - cloneableTags[int8Tag] = cloneableTags[int16Tag] = - cloneableTags[int32Tag] = cloneableTags[mapTag] = - cloneableTags[numberTag] = cloneableTags[objectTag] = - cloneableTags[regexpTag] = cloneableTags[setTag] = - cloneableTags[stringTag] = cloneableTags[symbolTag] = - cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = - cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = - cloneableTags[weakMapTag] = false; - - /** Used to map Latin Unicode letters to basic Latin letters. */ - var deburredLetters = { - // Latin-1 Supplement block. - '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', - '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', - '\xc7': 'C', '\xe7': 'c', - '\xd0': 'D', '\xf0': 'd', - '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', - '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', - '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', - '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', - '\xd1': 'N', '\xf1': 'n', - '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', - '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', - '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', - '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', - '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', - '\xc6': 'Ae', '\xe6': 'ae', - '\xde': 'Th', '\xfe': 'th', - '\xdf': 'ss', - // Latin Extended-A block. - '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', - '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', - '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', - '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', - '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', - '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', - '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', - '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', - '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', - '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', - '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', - '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', - '\u0134': 'J', '\u0135': 'j', - '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', - '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', - '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', - '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', - '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', - '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', - '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', - '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', - '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', - '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', - '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', - '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', - '\u0163': 't', '\u0165': 't', '\u0167': 't', - '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', - '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', - '\u0174': 'W', '\u0175': 'w', - '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', - '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', - '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', - '\u0132': 'IJ', '\u0133': 'ij', - '\u0152': 'Oe', '\u0153': 'oe', - '\u0149': "'n", '\u017f': 's' - }; - - /** Used to map characters to HTML entities. */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - - /** Used to map HTML entities to characters. */ - var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }; - - /** Used to escape characters for inclusion in compiled string literals. */ - var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - /** Built-in method references without a dependency on `root`. */ - var freeParseFloat = parseFloat, - freeParseInt = parseInt; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - - /** Used as a reference to the global object. */ - var root = freeGlobal || freeSelf || Function('return this')(); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = freeModule && freeModule.exports === freeExports; - - /** Detect free variable `process` from Node.js. */ - var freeProcess = moduleExports && freeGlobal.process; - - /** Used to access faster Node.js helpers. */ - var nodeUtil = (function() { - try { - // Use `util.types` for Node.js 10+. - var types = freeModule && freeModule.require && freeModule.require('util').types; - - if (types) { - return types; - } - - // Legacy `process.binding('util')` for Node.js < 10. - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} - }()); - - /* Node.js helper references. */ - var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, - nodeIsDate = nodeUtil && nodeUtil.isDate, - nodeIsMap = nodeUtil && nodeUtil.isMap, - nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, - nodeIsSet = nodeUtil && nodeUtil.isSet, - nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; - - /*--------------------------------------------------------------------------*/ - - /** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ - function apply(func, thisArg, args) { - switch (args.length) { - case 0: return func.call(thisArg); - case 1: return func.call(thisArg, args[0]); - case 2: return func.call(thisArg, args[0], args[1]); - case 3: return func.call(thisArg, args[0], args[1], args[2]); - } - return func.apply(thisArg, args); - } - - /** - * A specialized version of `baseAggregator` for arrays. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - return accumulator; - } - - /** - * A specialized version of `_.forEach` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEach(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.forEachRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEachRight(array, iteratee) { - var length = array == null ? 0 : array.length; - - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.every` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ - function arrayEvery(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; - } - - /** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function arrayFilter(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; - } - - /** - * A specialized version of `_.includes` for arrays without support for - * specifying an index to search from. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludes(array, value) { - var length = array == null ? 0 : array.length; - return !!length && baseIndexOf(array, value, 0) > -1; - } - - /** - * This function is like `arrayIncludes` except that it accepts a comparator. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @param {Function} comparator The comparator invoked per element. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludesWith(array, value, comparator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (comparator(value, array[index])) { - return true; - } - } - return false; - } - - /** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - return array; - } - - /** - * A specialized version of `_.reduce` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the first element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, - length = array == null ? 0 : array.length; - - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; - } - - /** - * A specialized version of `_.reduceRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the last element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduceRight(array, iteratee, accumulator, initAccum) { - var length = array == null ? 0 : array.length; - if (initAccum && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee(accumulator, array[length], length, array); - } - return accumulator; - } - - /** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function arraySome(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; - } - - /** - * Gets the size of an ASCII `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ - var asciiSize = baseProperty('length'); - - /** - * Converts an ASCII `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function asciiToArray(string) { - return string.split(''); - } - - /** - * Splits an ASCII `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ - function asciiWords(string) { - return string.match(reAsciiWord) || []; - } - - /** - * The base implementation of methods like `_.findKey` and `_.findLastKey`, - * without support for iteratee shorthands, which iterates over `collection` - * using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the found element or its key, else `undefined`. - */ - function baseFindKey(collection, predicate, eachFunc) { - var result; - eachFunc(collection, function(value, key, collection) { - if (predicate(value, key, collection)) { - result = key; - return false; - } - }); - return result; - } - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); - } - - /** - * This function is like `baseIndexOf` except that it accepts a comparator. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @param {Function} comparator The comparator invoked per element. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOfWith(array, value, fromIndex, comparator) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (comparator(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ - function baseIsNaN(value) { - return value !== value; - } - - /** - * The base implementation of `_.mean` and `_.meanBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the mean. - */ - function baseMean(array, iteratee) { - var length = array == null ? 0 : array.length; - return length ? (baseSum(array, iteratee) / length) : NAN; - } - - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.propertyOf` without support for deep paths. - * - * @private - * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyOf(object) { - return function(key) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initAccum - ? (initAccum = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.sortBy` which uses `comparer` to define the - * sort order of `array` and replaces criteria objects with their corresponding - * values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ - function baseSortBy(array, comparer) { - var length = array.length; - - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; - } - - /** - * The base implementation of `_.sum` and `_.sumBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ - function baseSum(array, iteratee) { - var result, - index = -1, - length = array.length; - - while (++index < length) { - var current = iteratee(array[index]); - if (current !== undefined) { - result = result === undefined ? current : (result + current); - } - } - return result; - } - - /** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ - function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - return result; - } - - /** - * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array - * of key-value pairs for `object` corresponding to the property names of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the key-value pairs. - */ - function baseToPairs(object, props) { - return arrayMap(props, function(key) { - return [key, object[key]]; - }); - } - - /** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ - function baseUnary(func) { - return function(value) { - return func(value); - }; - } - - /** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ - function baseValues(object, props) { - return arrayMap(props, function(key) { - return object[key]; - }); - } - - /** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function cacheHas(cache, key) { - return cache.has(key); - } - - /** - * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the first unmatched string symbol. - */ - function charsStartIndex(strSymbols, chrSymbols) { - var index = -1, - length = strSymbols.length; - - while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; - } - - /** - * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the last unmatched string symbol. - */ - function charsEndIndex(strSymbols, chrSymbols) { - var index = strSymbols.length; - - while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; - } - - /** - * Gets the number of `placeholder` occurrences in `array`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} placeholder The placeholder to search for. - * @returns {number} Returns the placeholder count. - */ - function countHolders(array, placeholder) { - var length = array.length, - result = 0; - - while (length--) { - if (array[length] === placeholder) { - ++result; - } - } - return result; - } - - /** - * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A - * letters to basic Latin letters. - * - * @private - * @param {string} letter The matched letter to deburr. - * @returns {string} Returns the deburred letter. - */ - var deburrLetter = basePropertyOf(deburredLetters); - - /** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - var escapeHtmlChar = basePropertyOf(htmlEscapes); - - /** - * Used by `_.template` to escape characters for inclusion in compiled string literals. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - function escapeStringChar(chr) { - return '\\' + stringEscapes[chr]; - } - - /** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function getValue(object, key) { - return object == null ? undefined : object[key]; - } - - /** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */ - function hasUnicode(string) { - return reHasUnicode.test(string); - } - - /** - * Checks if `string` contains a word composed of Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a word is found, else `false`. - */ - function hasUnicodeWord(string) { - return reHasUnicodeWord.test(string); - } - - /** - * Converts `iterator` to an array. - * - * @private - * @param {Object} iterator The iterator to convert. - * @returns {Array} Returns the converted array. - */ - function iteratorToArray(iterator) { - var data, - result = []; - - while (!(data = iterator.next()).done) { - result.push(data.value); - } - return result; - } - - /** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ - function mapToArray(map) { - var index = -1, - result = Array(map.size); - - map.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; - } - - /** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - - /** - * Replaces all `placeholder` elements in `array` with an internal placeholder - * and returns an array of their indexes. - * - * @private - * @param {Array} array The array to modify. - * @param {*} placeholder The placeholder to replace. - * @returns {Array} Returns the new array of placeholder indexes. - */ - function replaceHolders(array, placeholder) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value === placeholder || value === PLACEHOLDER) { - array[index] = PLACEHOLDER; - result[resIndex++] = index; - } - } - return result; - } - - /** - * Gets the value at `key`, unless `key` is "__proto__". - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function safeGet(object, key) { - return key == '__proto__' - ? undefined - : object[key]; - } - - /** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ - function setToArray(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = value; - }); - return result; - } - - /** - * Converts `set` to its value-value pairs. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the value-value pairs. - */ - function setToPairs(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = [value, value]; - }); - return result; - } - - /** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * A specialized version of `_.lastIndexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictLastIndexOf(array, value, fromIndex) { - var index = fromIndex + 1; - while (index--) { - if (array[index] === value) { - return index; - } - } - return index; - } - - /** - * Gets the number of symbols in `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the string size. - */ - function stringSize(string) { - return hasUnicode(string) - ? unicodeSize(string) - : asciiSize(string); - } - - /** - * Converts `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function stringToArray(string) { - return hasUnicode(string) - ? unicodeToArray(string) - : asciiToArray(string); - } - - /** - * Used by `_.unescape` to convert HTML entities to characters. - * - * @private - * @param {string} chr The matched character to unescape. - * @returns {string} Returns the unescaped character. - */ - var unescapeHtmlChar = basePropertyOf(htmlUnescapes); - - /** - * Gets the size of a Unicode `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ - function unicodeSize(string) { - var result = reUnicode.lastIndex = 0; - while (reUnicode.test(string)) { - ++result; - } - return result; - } - - /** - * Converts a Unicode `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function unicodeToArray(string) { - return string.match(reUnicode) || []; - } - - /** - * Splits a Unicode `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ - function unicodeWords(string) { - return string.match(reUnicodeWord) || []; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Create a new pristine `lodash` function using the `context` object. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Util - * @param {Object} [context=root] The context object. - * @returns {Function} Returns a new `lodash` function. - * @example - * - * _.mixin({ 'foo': _.constant('foo') }); - * - * var lodash = _.runInContext(); - * lodash.mixin({ 'bar': lodash.constant('bar') }); - * - * _.isFunction(_.foo); - * // => true - * _.isFunction(_.bar); - * // => false - * - * lodash.isFunction(lodash.foo); - * // => false - * lodash.isFunction(lodash.bar); - * // => true - * - * // Create a suped-up `defer` in Node.js. - * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; - */ - var runInContext = (function runInContext(context) { - context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); - - /** Built-in constructor references. */ - var Array = context.Array, - Date = context.Date, - Error = context.Error, - Function = context.Function, - Math = context.Math, - Object = context.Object, - RegExp = context.RegExp, - String = context.String, - TypeError = context.TypeError; - - /** Used for built-in method references. */ - var arrayProto = Array.prototype, - funcProto = Function.prototype, - objectProto = Object.prototype; - - /** Used to detect overreaching core-js shims. */ - var coreJsData = context['__core-js_shared__']; - - /** Used to resolve the decompiled source of functions. */ - var funcToString = funcProto.toString; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** Used to generate unique IDs. */ - var idCounter = 0; - - /** Used to detect methods masquerading as native. */ - var maskSrcKey = (function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); - return uid ? ('Symbol(src)_1.' + uid) : ''; - }()); - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** Used to infer the `Object` constructor. */ - var objectCtorString = funcToString.call(Object); - - /** Used to restore the original `_` reference in `_.noConflict`. */ - var oldDash = root._; - - /** Used to detect if a method is native. */ - var reIsNative = RegExp('^' + - funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' - ); - - /** Built-in value references. */ - var Buffer = moduleExports ? context.Buffer : undefined, - Symbol = context.Symbol, - Uint8Array = context.Uint8Array, - allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, - getPrototype = overArg(Object.getPrototypeOf, Object), - objectCreate = Object.create, - propertyIsEnumerable = objectProto.propertyIsEnumerable, - splice = arrayProto.splice, - spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, - symIterator = Symbol ? Symbol.iterator : undefined, - symToStringTag = Symbol ? Symbol.toStringTag : undefined; - - var defineProperty = (function() { - try { - var func = getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} - }()); - - /** Mocked built-ins. */ - var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, - ctxNow = Date && Date.now !== root.Date.now && Date.now, - ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeCeil = Math.ceil, - nativeFloor = Math.floor, - nativeGetSymbols = Object.getOwnPropertySymbols, - nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, - nativeIsFinite = context.isFinite, - nativeJoin = arrayProto.join, - nativeKeys = overArg(Object.keys, Object), - nativeMax = Math.max, - nativeMin = Math.min, - nativeNow = Date.now, - nativeParseInt = context.parseInt, - nativeRandom = Math.random, - nativeReverse = arrayProto.reverse; - - /* Built-in method references that are verified to be native. */ - var DataView = getNative(context, 'DataView'), - Map = getNative(context, 'Map'), - Promise = getNative(context, 'Promise'), - Set = getNative(context, 'Set'), - WeakMap = getNative(context, 'WeakMap'), - nativeCreate = getNative(Object, 'create'); - - /** Used to store function metadata. */ - var metaMap = WeakMap && new WeakMap; - - /** Used to lookup unminified function names. */ - var realNames = {}; - - /** Used to detect maps, sets, and weakmaps. */ - var dataViewCtorString = toSource(DataView), - mapCtorString = toSource(Map), - promiseCtorString = toSource(Promise), - setCtorString = toSource(Set), - weakMapCtorString = toSource(WeakMap); - - /** Used to convert symbols to primitives and strings. */ - var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object which wraps `value` to enable implicit method - * chain sequences. Methods that operate on and return arrays, collections, - * and functions can be chained together. Methods that retrieve a single value - * or may return a primitive value will automatically end the chain sequence - * and return the unwrapped value. Otherwise, the value must be unwrapped - * with `_#value`. - * - * Explicit chain sequences, which must be unwrapped with `_#value`, may be - * enabled using `_.chain`. - * - * The execution of chained methods is lazy, that is, it's deferred until - * `_#value` is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. - * Shortcut fusion is an optimization to merge iteratee calls; this avoids - * the creation of intermediate arrays and can greatly reduce the number of - * iteratee executions. Sections of a chain sequence qualify for shortcut - * fusion if the section is applied to an array and iteratees accept only - * one argument. The heuristic for whether a section qualifies for shortcut - * fusion is subject to change. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, - * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, - * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, - * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, - * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, - * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, - * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, - * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, - * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, - * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, - * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, - * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, - * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, - * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, - * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, - * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, - * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, - * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, - * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, - * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, - * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, - * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, - * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, - * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, - * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, - * `zipObject`, `zipObjectDeep`, and `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, - * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, - * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, - * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, - * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, - * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, - * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, - * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, - * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, - * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, - * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, - * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, - * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, - * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, - * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, - * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, - * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, - * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, - * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, - * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, - * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, - * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, - * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, - * `upperFirst`, `value`, and `words` - * - * @name _ - * @constructor - * @category Seq - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2, 3]); - * - * // Returns an unwrapped value. - * wrapped.reduce(_.add); - * // => 6 - * - * // Returns a wrapped value. - * var squares = wrapped.map(square); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ - function lodash(value) { - if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { - if (value instanceof LodashWrapper) { - return value; - } - if (hasOwnProperty.call(value, '__wrapped__')) { - return wrapperClone(value); - } - } - return new LodashWrapper(value); - } - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; - }()); - - /** - * The function whose prototype chain sequence wrappers inherit from. - * - * @private - */ - function baseLodash() { - // No operation performed. - } - - /** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable explicit method chain sequences. - */ - function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - this.__index__ = 0; - this.__values__ = undefined; - } - - /** - * By default, the template delimiters used by lodash are like those in - * embedded Ruby (ERB) as well as ES2015 template strings. Change the - * following template settings to use alternative delimiters. - * - * @static - * @memberOf _ - * @type {Object} - */ - lodash.templateSettings = { - - /** - * Used to detect `data` property values to be HTML-escaped. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'escape': reEscape, - - /** - * Used to detect code to be evaluated. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'evaluate': reEvaluate, - - /** - * Used to detect `data` property values to inject. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'interpolate': reInterpolate, - - /** - * Used to reference the data object in the template text. - * - * @memberOf _.templateSettings - * @type {string} - */ - 'variable': '', - - /** - * Used to import variables into the compiled template. - * - * @memberOf _.templateSettings - * @type {Object} - */ - 'imports': { - - /** - * A reference to the `lodash` function. - * - * @memberOf _.templateSettings.imports - * @type {Function} - */ - '_': lodash - } - }; - - // Ensure wrappers are instances of `baseLodash`. - lodash.prototype = baseLodash.prototype; - lodash.prototype.constructor = lodash; - - LodashWrapper.prototype = baseCreate(baseLodash.prototype); - LodashWrapper.prototype.constructor = LodashWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. - * - * @private - * @constructor - * @param {*} value The value to wrap. - */ - function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = MAX_ARRAY_LENGTH; - this.__views__ = []; - } - - /** - * Creates a clone of the lazy wrapper object. - * - * @private - * @name clone - * @memberOf LazyWrapper - * @returns {Object} Returns the cloned `LazyWrapper` object. - */ - function lazyClone() { - var result = new LazyWrapper(this.__wrapped__); - result.__actions__ = copyArray(this.__actions__); - result.__dir__ = this.__dir__; - result.__filtered__ = this.__filtered__; - result.__iteratees__ = copyArray(this.__iteratees__); - result.__takeCount__ = this.__takeCount__; - result.__views__ = copyArray(this.__views__); - return result; - } - - /** - * Reverses the direction of lazy iteration. - * - * @private - * @name reverse - * @memberOf LazyWrapper - * @returns {Object} Returns the new reversed `LazyWrapper` object. - */ - function lazyReverse() { - if (this.__filtered__) { - var result = new LazyWrapper(this); - result.__dir__ = -1; - result.__filtered__ = true; - } else { - result = this.clone(); - result.__dir__ *= -1; - } - return result; - } - - /** - * Extracts the unwrapped value from its lazy wrapper. - * - * @private - * @name value - * @memberOf LazyWrapper - * @returns {*} Returns the unwrapped value. - */ - function lazyValue() { - var array = this.__wrapped__.value(), - dir = this.__dir__, - isArr = isArray(array), - isRight = dir < 0, - arrLength = isArr ? array.length : 0, - view = getView(0, arrLength, this.__views__), - start = view.start, - end = view.end, - length = end - start, - index = isRight ? end : (start - 1), - iteratees = this.__iteratees__, - iterLength = iteratees.length, - resIndex = 0, - takeCount = nativeMin(length, this.__takeCount__); - - if (!isArr || (!isRight && arrLength == length && takeCount == length)) { - return baseWrapperValue(array, this.__actions__); - } - var result = []; - - outer: - while (length-- && resIndex < takeCount) { - index += dir; - - var iterIndex = -1, - value = array[index]; - - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], - iteratee = data.iteratee, - type = data.type, - computed = iteratee(value); - - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result[resIndex++] = value; - } - return result; - } - - // Ensure `LazyWrapper` is an instance of `baseLodash`. - LazyWrapper.prototype = baseCreate(baseLodash.prototype); - LazyWrapper.prototype.constructor = LazyWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function Hash(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ - function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; - } - - /** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; - } - - /** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function hashGet(key) { - var data = this.__data__; - if (nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - return hasOwnProperty.call(data, key) ? data[key] : undefined; - } - - /** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function hashHas(key) { - var data = this.__data__; - return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); - } - - /** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ - function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; - } - - // Add methods to `Hash`. - Hash.prototype.clear = hashClear; - Hash.prototype['delete'] = hashDelete; - Hash.prototype.get = hashGet; - Hash.prototype.has = hashHas; - Hash.prototype.set = hashSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function ListCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ - function listCacheClear() { - this.__data__ = []; - this.size = 0; - } - - /** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; - } - - /** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function listCacheGet(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - return index < 0 ? undefined : data[index][1]; - } - - /** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; - } - - /** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ - function listCacheSet(key, value) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; - } - - // Add methods to `ListCache`. - ListCache.prototype.clear = listCacheClear; - ListCache.prototype['delete'] = listCacheDelete; - ListCache.prototype.get = listCacheGet; - ListCache.prototype.has = listCacheHas; - ListCache.prototype.set = listCacheSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function MapCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ - function mapCacheClear() { - this.size = 0; - this.__data__ = { - 'hash': new Hash, - 'map': new (Map || ListCache), - 'string': new Hash - }; - } - - /** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function mapCacheDelete(key) { - var result = getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; - } - - /** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function mapCacheGet(key) { - return getMapData(this, key).get(key); - } - - /** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function mapCacheHas(key) { - return getMapData(this, key).has(key); - } - - /** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ - function mapCacheSet(key, value) { - var data = getMapData(this, key), - size = data.size; - - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; - } - - // Add methods to `MapCache`. - MapCache.prototype.clear = mapCacheClear; - MapCache.prototype['delete'] = mapCacheDelete; - MapCache.prototype.get = mapCacheGet; - MapCache.prototype.has = mapCacheHas; - MapCache.prototype.set = mapCacheSet; - - /*------------------------------------------------------------------------*/ - - /** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ - function SetCache(values) { - var index = -1, - length = values == null ? 0 : values.length; - - this.__data__ = new MapCache; - while (++index < length) { - this.add(values[index]); - } - } - - /** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ - function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; - } - - /** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ - function setCacheHas(value) { - return this.__data__.has(value); - } - - // Add methods to `SetCache`. - SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; - SetCache.prototype.has = setCacheHas; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; - } - - /** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ - function stackClear() { - this.__data__ = new ListCache; - this.size = 0; - } - - /** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - - this.size = data.size; - return result; - } - - /** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function stackGet(key) { - return this.__data__.get(key); - } - - /** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function stackHas(key) { - return this.__data__.has(key); - } - - /** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */ - function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; - if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - data = this.__data__ = new MapCache(pairs); - } - data.set(key, value); - this.size = data.size; - return this; - } - - // Add methods to `Stack`. - Stack.prototype.clear = stackClear; - Stack.prototype['delete'] = stackDelete; - Stack.prototype.get = stackGet; - Stack.prototype.has = stackHas; - Stack.prototype.set = stackSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ - function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), - isArg = !isArr && isArguments(value), - isBuff = !isArr && !isArg && isBuffer(value), - isType = !isArr && !isArg && !isBuff && isTypedArray(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || - // Node.js 0.10 has enumerable non-index properties on buffers. - (isBuff && (key == 'offset' || key == 'parent')) || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || - // Skip index properties. - isIndex(key, length) - ))) { - result.push(key); - } - } - return result; - } - - /** - * A specialized version of `_.sample` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @returns {*} Returns the random element. - */ - function arraySample(array) { - var length = array.length; - return length ? array[baseRandom(0, length - 1)] : undefined; - } - - /** - * A specialized version of `_.sampleSize` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ - function arraySampleSize(array, n) { - return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); - } - - /** - * A specialized version of `_.shuffle` for arrays. - * - * @private - * @param {Array} array The array to shuffle. - * @returns {Array} Returns the new shuffled array. - */ - function arrayShuffle(array) { - return shuffleSelf(copyArray(array)); - } - - /** - * This function is like `assignValue` except that it doesn't assign - * `undefined` values. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignMergeValue(object, key, value) { - if ((value !== undefined && !eq(object[key], value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; - } - - /** - * Aggregates elements of `collection` on `accumulator` with keys transformed - * by `iteratee` and values set by `setter`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - function baseAggregator(collection, setter, iteratee, accumulator) { - baseEach(collection, function(value, key, collection) { - setter(accumulator, value, iteratee(value), collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.assign` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssign(object, source) { - return object && copyObject(source, keys(source), object); - } - - /** - * The base implementation of `_.assignIn` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssignIn(object, source) { - return object && copyObject(source, keysIn(source), object); - } - - /** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function baseAssignValue(object, key, value) { - if (key == '__proto__' && defineProperty) { - defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { - object[key] = value; - } - } - - /** - * The base implementation of `_.at` without support for individual paths. - * - * @private - * @param {Object} object The object to iterate over. - * @param {string[]} paths The property paths to pick. - * @returns {Array} Returns the picked elements. - */ - function baseAt(object, paths) { - var index = -1, - length = paths.length, - result = Array(length), - skip = object == null; - - while (++index < length) { - result[index] = skip ? undefined : get(object, paths[index]); - } - return result; - } - - /** - * The base implementation of `_.clamp` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - */ - function baseClamp(number, lower, upper) { - if (number === number) { - if (upper !== undefined) { - number = number <= upper ? number : upper; - } - if (lower !== undefined) { - number = number >= lower ? number : lower; - } - } - return number; - } - - /** - * The base implementation of `_.clone` and `_.cloneDeep` which tracks - * traversed objects. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} bitmask The bitmask flags. - * 1 - Deep clone - * 2 - Flatten inherited properties - * 4 - Clone symbols - * @param {Function} [customizer] The function to customize cloning. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The parent object of `value`. - * @param {Object} [stack] Tracks traversed objects and their clone counterparts. - * @returns {*} Returns the cloned value. - */ - function baseClone(value, bitmask, customizer, key, object, stack) { - var result, - isDeep = bitmask & CLONE_DEEP_FLAG, - isFlat = bitmask & CLONE_FLAT_FLAG, - isFull = bitmask & CLONE_SYMBOLS_FLAG; - - if (customizer) { - result = object ? customizer(value, key, object, stack) : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return copyArray(value, result); - } - } else { - var tag = getTag(value), - isFunc = tag == funcTag || tag == genTag; - - if (isBuffer(value)) { - return cloneBuffer(value, isDeep); - } - if (tag == objectTag || tag == argsTag || (isFunc && !object)) { - result = (isFlat || isFunc) ? {} : initCloneObject(value); - if (!isDeep) { - return isFlat - ? copySymbolsIn(value, baseAssignIn(result, value)) - : copySymbols(value, baseAssign(result, value)); - } - } else { - if (!cloneableTags[tag]) { - return object ? value : {}; - } - result = initCloneByTag(value, tag, isDeep); - } - } - // Check for circular references and return its corresponding clone. - stack || (stack = new Stack); - var stacked = stack.get(value); - if (stacked) { - return stacked; - } - stack.set(value, result); - - if (isSet(value)) { - value.forEach(function(subValue) { - result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); - }); - - return result; - } - - if (isMap(value)) { - value.forEach(function(subValue, key) { - result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - - return result; - } - - var keysFunc = isFull - ? (isFlat ? getAllKeysIn : getAllKeys) - : (isFlat ? keysIn : keys); - - var props = isArr ? undefined : keysFunc(value); - arrayEach(props || value, function(subValue, key) { - if (props) { - key = subValue; - subValue = value[key]; - } - // Recursively populate clone (susceptible to call stack limits). - assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - return result; - } - - /** - * The base implementation of `_.conforms` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. - */ - function baseConforms(source) { - var props = keys(source); - return function(object) { - return baseConformsTo(object, source, props); - }; - } - - /** - * The base implementation of `_.conformsTo` which accepts `props` to check. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - */ - function baseConformsTo(object, source, props) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object(object); - while (length--) { - var key = props[length], - predicate = source[key], - value = object[key]; - - if ((value === undefined && !(key in object)) || !predicate(value)) { - return false; - } - } - return true; - } - - /** - * The base implementation of `_.delay` and `_.defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ - function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); - } - - /** - * The base implementation of methods like `_.difference` without support - * for excluding multiple arrays or iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - */ - function baseDifference(array, values, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - isCommon = true, - length = array.length, - result = [], - valuesLength = values.length; - - if (!length) { - return result; - } - if (iteratee) { - values = arrayMap(values, baseUnary(iteratee)); - } - if (comparator) { - includes = arrayIncludesWith; - isCommon = false; - } - else if (values.length >= LARGE_ARRAY_SIZE) { - includes = cacheHas; - isCommon = false; - values = new SetCache(values); - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee == null ? value : iteratee(value); - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === computed) { - continue outer; - } - } - result.push(value); - } - else if (!includes(values, computed, comparator)) { - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEach = createBaseEach(baseForOwn); - - /** - * The base implementation of `_.forEachRight` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEachRight = createBaseEach(baseForOwnRight, true); - - /** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */ - function baseExtremum(array, iteratee, comparator) { - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index], - current = iteratee(value); - - if (current != null && (computed === undefined - ? (current === current && !isSymbol(current)) - : comparator(current, computed) - )) { - var computed = current, - result = value; - } - } - return result; - } - - /** - * The base implementation of `_.fill` without an iteratee call guard. - * - * @private - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - */ - function baseFill(array, value, start, end) { - var length = array.length; - - start = toInteger(start); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : toInteger(end); - if (end < 0) { - end += length; - } - end = start > end ? 0 : toLength(end); - while (start < end) { - array[start++] = value; - } - return array; - } - - /** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - /** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseFor = createBaseFor(); - - /** - * This function is like `baseFor` except that it iterates over properties - * in the opposite order. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseForRight = createBaseFor(true); - - /** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); - } - - /** - * The base implementation of `_.forOwnRight` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwnRight(object, iteratee) { - return object && baseForRight(object, iteratee, keys); - } - - /** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from `props`. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. - */ - function baseFunctions(object, props) { - return arrayFilter(props, function(key) { - return isFunction(object[key]); - }); - } - - /** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */ - function baseGet(object, path) { - path = castPath(path, object); - - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[toKey(path[index++])]; - } - return (index && index == length) ? object : undefined; - } - - /** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ - function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); - } - - /** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); - } - - /** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ - function baseGt(value, other) { - return value > other; - } - - /** - * The base implementation of `_.has` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHas(object, key) { - return object != null && hasOwnProperty.call(object, key); - } - - /** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHasIn(object, key) { - return object != null && key in Object(object); - } - - /** - * The base implementation of `_.inRange` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to check. - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - */ - function baseInRange(number, start, end) { - return number >= nativeMin(start, end) && number < nativeMax(start, end); - } - - /** - * The base implementation of methods like `_.intersection`, without support - * for iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of shared values. - */ - function baseIntersection(arrays, iteratee, comparator) { - var includes = comparator ? arrayIncludesWith : arrayIncludes, - length = arrays[0].length, - othLength = arrays.length, - othIndex = othLength, - caches = Array(othLength), - maxLength = Infinity, - result = []; - - while (othIndex--) { - var array = arrays[othIndex]; - if (othIndex && iteratee) { - array = arrayMap(array, baseUnary(iteratee)); - } - maxLength = nativeMin(array.length, maxLength); - caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) - ? new SetCache(othIndex && array) - : undefined; - } - array = arrays[0]; - - var index = -1, - seen = caches[0]; - - outer: - while (++index < length && result.length < maxLength) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (!(seen - ? cacheHas(seen, computed) - : includes(result, computed, comparator) - )) { - othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if (!(cache - ? cacheHas(cache, computed) - : includes(arrays[othIndex], computed, comparator)) - ) { - continue outer; - } - } - if (seen) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.invert` and `_.invertBy` which inverts - * `object` with values transformed by `iteratee` and set by `setter`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform values. - * @param {Object} accumulator The initial inverted object. - * @returns {Function} Returns `accumulator`. - */ - function baseInverter(object, setter, iteratee, accumulator) { - baseForOwn(object, function(value, key, object) { - setter(accumulator, iteratee(value), key, object); - }); - return accumulator; - } - - /** - * The base implementation of `_.invoke` without support for individual - * method arguments. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {Array} args The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - */ - function baseInvoke(object, path, args) { - path = castPath(path, object); - object = parent(object, path); - var func = object == null ? object : object[toKey(last(path))]; - return func == null ? undefined : apply(func, object, args); - } - - /** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; - } - - /** - * The base implementation of `_.isArrayBuffer` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - */ - function baseIsArrayBuffer(value) { - return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; - } - - /** - * The base implementation of `_.isDate` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - */ - function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; - } - - /** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); - } - - /** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = objIsArr ? arrayTag : getTag(object), - othTag = othIsArr ? arrayTag : getTag(other); - - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && isBuffer(object)) { - if (!isBuffer(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack || (stack = new Stack); - return (objIsArr || isTypedArray(object)) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - - stack || (stack = new Stack); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - if (!isSameTag) { - return false; - } - stack || (stack = new Stack); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); - } - - /** - * The base implementation of `_.isMap` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - */ - function baseIsMap(value) { - return isObjectLike(value) && getTag(value) == mapTag; - } - - /** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ - function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = Object(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var stack = new Stack; - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - if (!(result === undefined - ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) - : result - )) { - return false; - } - } - } - return true; - } - - /** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ - function baseIsNative(value) { - if (!isObject(value) || isMasked(value)) { - return false; - } - var pattern = isFunction(value) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); - } - - /** - * The base implementation of `_.isRegExp` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - */ - function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; - } - - /** - * The base implementation of `_.isSet` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - */ - function baseIsSet(value) { - return isObjectLike(value) && getTag(value) == setTag; - } - - /** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ - function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; - } - - /** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ - function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == 'function') { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == 'object') { - return isArray(value) - ? baseMatchesProperty(value[0], value[1]) - : baseMatches(value); - } - return property(value); - } - - /** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty.call(object, key) && key != 'constructor') { - result.push(key); - } - } - return result; - } - - /** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function baseKeysIn(object) { - if (!isObject(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), - result = []; - - for (var key in object) { - if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; - } - - /** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ - function baseLt(value, other) { - return value < other; - } - - /** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; - } - - /** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source || baseIsMatch(object, source, matchData); - }; - } - - /** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatchesProperty(path, srcValue) { - if (isKey(path) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path), srcValue); - } - return function(object) { - var objValue = get(object, path); - return (objValue === undefined && objValue === srcValue) - ? hasIn(object, path) - : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; - } - - /** - * The base implementation of `_.merge` without support for multiple sources. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {number} srcIndex The index of `source`. - * @param {Function} [customizer] The function to customize merged values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ - function baseMerge(object, source, srcIndex, customizer, stack) { - if (object === source) { - return; - } - baseFor(source, function(srcValue, key) { - if (isObject(srcValue)) { - stack || (stack = new Stack); - baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); - } - else { - var newValue = customizer - ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) - : undefined; - - if (newValue === undefined) { - newValue = srcValue; - } - assignMergeValue(object, key, newValue); - } - }, keysIn); - } - - /** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {number} srcIndex The index of `source`. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize assigned values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ - function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = safeGet(object, key), - srcValue = safeGet(source, key), - stacked = stack.get(srcValue); - - if (stacked) { - assignMergeValue(object, key, stacked); - return; - } - var newValue = customizer - ? customizer(objValue, srcValue, (key + ''), object, source, stack) - : undefined; - - var isCommon = newValue === undefined; - - if (isCommon) { - var isArr = isArray(srcValue), - isBuff = !isArr && isBuffer(srcValue), - isTyped = !isArr && !isBuff && isTypedArray(srcValue); - - newValue = srcValue; - if (isArr || isBuff || isTyped) { - if (isArray(objValue)) { - newValue = objValue; - } - else if (isArrayLikeObject(objValue)) { - newValue = copyArray(objValue); - } - else if (isBuff) { - isCommon = false; - newValue = cloneBuffer(srcValue, true); - } - else if (isTyped) { - isCommon = false; - newValue = cloneTypedArray(srcValue, true); - } - else { - newValue = []; - } - } - else if (isPlainObject(srcValue) || isArguments(srcValue)) { - newValue = objValue; - if (isArguments(objValue)) { - newValue = toPlainObject(objValue); - } - else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { - newValue = initCloneObject(srcValue); - } - } - else { - isCommon = false; - } - } - if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, newValue); - mergeFunc(newValue, srcValue, srcIndex, customizer, stack); - stack['delete'](srcValue); - } - assignMergeValue(object, key, newValue); - } - - /** - * The base implementation of `_.nth` which doesn't coerce arguments. - * - * @private - * @param {Array} array The array to query. - * @param {number} n The index of the element to return. - * @returns {*} Returns the nth element of `array`. - */ - function baseNth(array, n) { - var length = array.length; - if (!length) { - return; - } - n += n < 0 ? length : 0; - return isIndex(n, length) ? array[n] : undefined; - } - - /** - * The base implementation of `_.orderBy` without param guards. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {string[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */ - function baseOrderBy(collection, iteratees, orders) { - var index = -1; - iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee())); - - var result = baseMap(collection, function(value, key, collection) { - var criteria = arrayMap(iteratees, function(iteratee) { - return iteratee(value); - }); - return { 'criteria': criteria, 'index': ++index, 'value': value }; - }); - - return baseSortBy(result, function(object, other) { - return compareMultiple(object, other, orders); - }); - } - - /** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ - function basePick(object, paths) { - return basePickBy(object, paths, function(value, path) { - return hasIn(object, path); - }); - } - - /** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */ - function basePickBy(object, paths, predicate) { - var index = -1, - length = paths.length, - result = {}; - - while (++index < length) { - var path = paths[index], - value = baseGet(object, path); - - if (predicate(value, path)) { - baseSet(result, castPath(path, object), value); - } - } - return result; - } - - /** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyDeep(path) { - return function(object) { - return baseGet(object, path); - }; - } - - /** - * The base implementation of `_.pullAllBy` without support for iteratee - * shorthands. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - */ - function basePullAll(array, values, iteratee, comparator) { - var indexOf = comparator ? baseIndexOfWith : baseIndexOf, - index = -1, - length = values.length, - seen = array; - - if (array === values) { - values = copyArray(values); - } - if (iteratee) { - seen = arrayMap(array, baseUnary(iteratee)); - } - while (++index < length) { - var fromIndex = 0, - value = values[index], - computed = iteratee ? iteratee(value) : value; - - while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { - if (seen !== array) { - splice.call(seen, fromIndex, 1); - } - splice.call(array, fromIndex, 1); - } - } - return array; - } - - /** - * The base implementation of `_.pullAt` without support for individual - * indexes or capturing the removed elements. - * - * @private - * @param {Array} array The array to modify. - * @param {number[]} indexes The indexes of elements to remove. - * @returns {Array} Returns `array`. - */ - function basePullAt(array, indexes) { - var length = array ? indexes.length : 0, - lastIndex = length - 1; - - while (length--) { - var index = indexes[length]; - if (length == lastIndex || index !== previous) { - var previous = index; - if (isIndex(index)) { - splice.call(array, index, 1); - } else { - baseUnset(array, index); - } - } - } - return array; - } - - /** - * The base implementation of `_.random` without support for returning - * floating-point numbers. - * - * @private - * @param {number} lower The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the random number. - */ - function baseRandom(lower, upper) { - return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); - } - - /** - * The base implementation of `_.range` and `_.rangeRight` which doesn't - * coerce arguments. - * - * @private - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @param {number} step The value to increment or decrement by. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. - */ - function baseRange(start, end, step, fromRight) { - var index = -1, - length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), - result = Array(length); - - while (length--) { - result[fromRight ? length : ++index] = start; - start += step; - } - return result; - } - - /** - * The base implementation of `_.repeat` which doesn't coerce arguments. - * - * @private - * @param {string} string The string to repeat. - * @param {number} n The number of times to repeat the string. - * @returns {string} Returns the repeated string. - */ - function baseRepeat(string, n) { - var result = ''; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; - } - } while (n); - - return result; - } - - /** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ - function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); - } - - /** - * The base implementation of `_.sample`. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - */ - function baseSample(collection) { - return arraySample(values(collection)); - } - - /** - * The base implementation of `_.sampleSize` without param guards. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ - function baseSampleSize(collection, n) { - var array = values(collection); - return shuffleSelf(array, baseClamp(n, 0, array.length)); - } - - /** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseSet(object, path, value, customizer) { - if (!isObject(object)) { - return object; - } - path = castPath(path, object); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = toKey(path[index]), - newValue = value; - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : (isIndex(path[index + 1]) ? [] : {}); - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; - } - - /** - * The base implementation of `setData` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var baseSetData = !metaMap ? identity : function(func, data) { - metaMap.set(func, data); - return func; - }; - - /** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var baseSetToString = !defineProperty ? identity : function(func, string) { - return defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant(string), - 'writable': true - }); - }; - - /** - * The base implementation of `_.shuffle`. - * - * @private - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - */ - function baseShuffle(collection) { - return shuffleSelf(values(collection)); - } - - /** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; - } - - /** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which - * performs a binary search of `array` to determine the index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function baseSortedIndex(array, value, retHighest) { - var low = 0, - high = array == null ? low : array.length; - - if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { - while (low < high) { - var mid = (low + high) >>> 1, - computed = array[mid]; - - if (computed !== null && !isSymbol(computed) && - (retHighest ? (computed <= value) : (computed < value))) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return baseSortedIndexBy(array, value, identity, retHighest); - } - - /** - * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` - * which invokes `iteratee` for `value` and each element of `array` to compute - * their sort ranking. The iteratee is invoked with one argument; (value). - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} iteratee The iteratee invoked per element. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function baseSortedIndexBy(array, value, iteratee, retHighest) { - value = iteratee(value); - - var low = 0, - high = array == null ? 0 : array.length, - valIsNaN = value !== value, - valIsNull = value === null, - valIsSymbol = isSymbol(value), - valIsUndefined = value === undefined; - - while (low < high) { - var mid = nativeFloor((low + high) / 2), - computed = iteratee(array[mid]), - othIsDefined = computed !== undefined, - othIsNull = computed === null, - othIsReflexive = computed === computed, - othIsSymbol = isSymbol(computed); - - if (valIsNaN) { - var setLow = retHighest || othIsReflexive; - } else if (valIsUndefined) { - setLow = othIsReflexive && (retHighest || othIsDefined); - } else if (valIsNull) { - setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); - } else if (valIsSymbol) { - setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); - } else if (othIsNull || othIsSymbol) { - setLow = false; - } else { - setLow = retHighest ? (computed <= value) : (computed < value); - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); - } - - /** - * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ - function baseSortedUniq(array, iteratee) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - if (!index || !eq(computed, seen)) { - var seen = computed; - result[resIndex++] = value === 0 ? 0 : value; - } - } - return result; - } - - /** - * The base implementation of `_.toNumber` which doesn't ensure correct - * conversions of binary, hexadecimal, or octal string values. - * - * @private - * @param {*} value The value to process. - * @returns {number} Returns the number. - */ - function baseToNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - return +value; - } - - /** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ - function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - /** - * The base implementation of `_.uniqBy` without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ - function baseUniq(array, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - length = array.length, - isCommon = true, - result = [], - seen = result; - - if (comparator) { - isCommon = false; - includes = arrayIncludesWith; - } - else if (length >= LARGE_ARRAY_SIZE) { - var set = iteratee ? null : createSet(array); - if (set) { - return setToArray(set); - } - isCommon = false; - includes = cacheHas; - seen = new SetCache; - } - else { - seen = iteratee ? [] : result; - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee) { - seen.push(computed); - } - result.push(value); - } - else if (!includes(seen, computed, comparator)) { - if (seen !== result) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.unset`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The property path to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - */ - function baseUnset(object, path) { - path = castPath(path, object); - object = parent(object, path); - return object == null || delete object[toKey(last(path))]; - } - - /** - * The base implementation of `_.update`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to update. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseUpdate(object, path, updater, customizer) { - return baseSet(object, path, updater(baseGet(object, path)), customizer); - } - - /** - * The base implementation of methods like `_.dropWhile` and `_.takeWhile` - * without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to query. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [isDrop] Specify dropping elements instead of taking them. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the slice of `array`. - */ - function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length) && - predicate(array[index], index, array)) {} - - return isDrop - ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) - : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); - } - - /** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to perform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ - function baseWrapperValue(value, actions) { - var result = value; - if (result instanceof LazyWrapper) { - result = result.value(); - } - return arrayReduce(actions, function(result, action) { - return action.func.apply(action.thisArg, arrayPush([result], action.args)); - }, result); - } - - /** - * The base implementation of methods like `_.xor`, without support for - * iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of values. - */ - function baseXor(arrays, iteratee, comparator) { - var length = arrays.length; - if (length < 2) { - return length ? baseUniq(arrays[0]) : []; - } - var index = -1, - result = Array(length); - - while (++index < length) { - var array = arrays[index], - othIndex = -1; - - while (++othIndex < length) { - if (othIndex != index) { - result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); - } - } - } - return baseUniq(baseFlatten(result, 1), iteratee, comparator); - } - - /** - * This base implementation of `_.zipObject` which assigns values using `assignFunc`. - * - * @private - * @param {Array} props The property identifiers. - * @param {Array} values The property values. - * @param {Function} assignFunc The function to assign values. - * @returns {Object} Returns the new object. - */ - function baseZipObject(props, values, assignFunc) { - var index = -1, - length = props.length, - valsLength = values.length, - result = {}; - - while (++index < length) { - var value = index < valsLength ? values[index] : undefined; - assignFunc(result, props[index], value); - } - return result; - } - - /** - * Casts `value` to an empty array if it's not an array like object. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array|Object} Returns the cast array-like object. - */ - function castArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; - } - - /** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ - function castFunction(value) { - return typeof value == 'function' ? value : identity; - } - - /** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */ - function castPath(value, object) { - if (isArray(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString(value)); - } - - /** - * A `baseRest` alias which can be replaced with `identity` by module - * replacement plugins. - * - * @private - * @type {Function} - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - var castRest = baseRest; - - /** - * Casts `array` to a slice if it's needed. - * - * @private - * @param {Array} array The array to inspect. - * @param {number} start The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the cast slice. - */ - function castSlice(array, start, end) { - var length = array.length; - end = end === undefined ? length : end; - return (!start && end >= length) ? array : baseSlice(array, start, end); - } - - /** - * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). - * - * @private - * @param {number|Object} id The timer id or timeout object of the timer to clear. - */ - var clearTimeout = ctxClearTimeout || function(id) { - return root.clearTimeout(id); - }; - - /** - * Creates a clone of `buffer`. - * - * @private - * @param {Buffer} buffer The buffer to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Buffer} Returns the cloned buffer. - */ - function cloneBuffer(buffer, isDeep) { - if (isDeep) { - return buffer.slice(); - } - var length = buffer.length, - result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); - - buffer.copy(result); - return result; - } - - /** - * Creates a clone of `arrayBuffer`. - * - * @private - * @param {ArrayBuffer} arrayBuffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ - function cloneArrayBuffer(arrayBuffer) { - var result = new arrayBuffer.constructor(arrayBuffer.byteLength); - new Uint8Array(result).set(new Uint8Array(arrayBuffer)); - return result; - } - - /** - * Creates a clone of `dataView`. - * - * @private - * @param {Object} dataView The data view to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned data view. - */ - function cloneDataView(dataView, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; - return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); - } - - /** - * Creates a clone of `regexp`. - * - * @private - * @param {Object} regexp The regexp to clone. - * @returns {Object} Returns the cloned regexp. - */ - function cloneRegExp(regexp) { - var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); - result.lastIndex = regexp.lastIndex; - return result; - } - - /** - * Creates a clone of the `symbol` object. - * - * @private - * @param {Object} symbol The symbol object to clone. - * @returns {Object} Returns the cloned symbol object. - */ - function cloneSymbol(symbol) { - return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; - } - - /** - * Creates a clone of `typedArray`. - * - * @private - * @param {Object} typedArray The typed array to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned typed array. - */ - function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; - return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); - } - - /** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ - function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined, - valIsNull = value === null, - valIsReflexive = value === value, - valIsSymbol = isSymbol(value); - - var othIsDefined = other !== undefined, - othIsNull = other === null, - othIsReflexive = other === other, - othIsSymbol = isSymbol(other); - - if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || - (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || - (valIsNull && othIsDefined && othIsReflexive) || - (!valIsDefined && othIsReflexive) || - !valIsReflexive) { - return 1; - } - if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || - (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || - (othIsNull && valIsDefined && valIsReflexive) || - (!othIsDefined && valIsReflexive) || - !othIsReflexive) { - return -1; - } - } - return 0; - } - - /** - * Used by `_.orderBy` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, - * specify an order of "desc" for descending or "asc" for ascending sort order - * of corresponding values. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]|string[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */ - function compareMultiple(object, other, orders) { - var index = -1, - objCriteria = object.criteria, - othCriteria = other.criteria, - length = objCriteria.length, - ordersLength = orders.length; - - while (++index < length) { - var result = compareAscending(objCriteria[index], othCriteria[index]); - if (result) { - if (index >= ordersLength) { - return result; - } - var order = orders[index]; - return result * (order == 'desc' ? -1 : 1); - } - } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. - return object.index - other.index; - } - - /** - * Creates an array that is the composition of partially applied arguments, - * placeholders, and provided arguments into a single array of arguments. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to prepend to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgs(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersLength = holders.length, - leftIndex = -1, - leftLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(leftLength + rangeLength), - isUncurried = !isCurried; - - while (++leftIndex < leftLength) { - result[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[holders[argsIndex]] = args[argsIndex]; - } - } - while (rangeLength--) { - result[leftIndex++] = args[argsIndex++]; - } - return result; - } - - /** - * This function is like `composeArgs` except that the arguments composition - * is tailored for `_.partialRight`. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to append to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgsRight(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersIndex = -1, - holdersLength = holders.length, - rightIndex = -1, - rightLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(rangeLength + rightLength), - isUncurried = !isCurried; - - while (++argsIndex < rangeLength) { - result[argsIndex] = args[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[offset + holders[holdersIndex]] = args[argsIndex++]; - } - } - return result; - } - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function copyArray(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; - } - - /** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ - function copyObject(source, props, object, customizer) { - var isNew = !object; - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; - } - - /** - * Copies own symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbols(source, object) { - return copyObject(source, getSymbols(source), object); - } - - /** - * Copies own and inherited symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbolsIn(source, object) { - return copyObject(source, getSymbolsIn(source), object); - } - - /** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} [initializer] The accumulator object initializer. - * @returns {Function} Returns the new aggregator function. - */ - function createAggregator(setter, initializer) { - return function(collection, iteratee) { - var func = isArray(collection) ? arrayAggregator : baseAggregator, - accumulator = initializer ? initializer() : {}; - - return func(collection, setter, getIteratee(iteratee, 2), accumulator); - }; - } - - /** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ - function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined, - guard = length > 2 ? sources[2] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); - } - - /** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - - /** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - - /** - * Creates a function that wraps `func` to invoke it with the optional `this` - * binding of `thisArg`. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createBind(func, bitmask, thisArg) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return fn.apply(isBind ? thisArg : this, arguments); - } - return wrapper; - } - - /** - * Creates a function like `_.lowerFirst`. - * - * @private - * @param {string} methodName The name of the `String` case method to use. - * @returns {Function} Returns the new case function. - */ - function createCaseFirst(methodName) { - return function(string) { - string = toString(string); - - var strSymbols = hasUnicode(string) - ? stringToArray(string) - : undefined; - - var chr = strSymbols - ? strSymbols[0] - : string.charAt(0); - - var trailing = strSymbols - ? castSlice(strSymbols, 1).join('') - : string.slice(1); - - return chr[methodName]() + trailing; - }; - } - - /** - * Creates a function like `_.camelCase`. - * - * @private - * @param {Function} callback The function to combine each word. - * @returns {Function} Returns the new compounder function. - */ - function createCompounder(callback) { - return function(string) { - return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); - }; - } - - /** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ - function createCtor(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. See - // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - switch (args.length) { - case 0: return new Ctor; - case 1: return new Ctor(args[0]); - case 2: return new Ctor(args[0], args[1]); - case 3: return new Ctor(args[0], args[1], args[2]); - case 4: return new Ctor(args[0], args[1], args[2], args[3]); - case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); - case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); - case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; - } - - /** - * Creates a function that wraps `func` to enable currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {number} arity The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createCurry(func, bitmask, arity) { - var Ctor = createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length, - placeholder = getHolder(wrapper); - - while (index--) { - args[index] = arguments[index]; - } - var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) - ? [] - : replaceHolders(args, placeholder); - - length -= holders.length; - if (length < arity) { - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, undefined, - args, holders, undefined, undefined, arity - length); - } - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return apply(fn, this, args); - } - return wrapper; - } - - /** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */ - function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object(collection); - if (!isArrayLike(collection)) { - var iteratee = getIteratee(predicate, 3); - collection = keys(collection); - predicate = function(key) { return iteratee(iterable[key], key, iterable); }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; - }; - } - - /** - * Creates a `_.flow` or `_.flowRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new flow function. - */ - function createFlow(fromRight) { - return flatRest(function(funcs) { - var length = funcs.length, - index = length, - prereq = LodashWrapper.prototype.thru; - - if (fromRight) { - funcs.reverse(); - } - while (index--) { - var func = funcs[index]; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (prereq && !wrapper && getFuncName(func) == 'wrapper') { - var wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? index : length; - while (++index < length) { - func = funcs[index]; - - var funcName = getFuncName(func), - data = funcName == 'wrapper' ? getData(func) : undefined; - - if (data && isLaziable(data[0]) && - data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && - !data[4].length && data[9] == 1 - ) { - wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); - } else { - wrapper = (func.length == 1 && isLaziable(func)) - ? wrapper[funcName]() - : wrapper.thru(func); - } - } - return function() { - var args = arguments, - value = args[0]; - - if (wrapper && args.length == 1 && isArray(value)) { - return wrapper.plant(value).value(); - } - var index = 0, - result = length ? funcs[index].apply(this, args) : value; - - while (++index < length) { - result = funcs[index].call(this, result); - } - return result; - }; - }); - } - - /** - * Creates a function that wraps `func` to invoke it with optional `this` - * binding of `thisArg`, partial application, and currying. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [partialsRight] The arguments to append to those provided - * to the new function. - * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { - var isAry = bitmask & WRAP_ARY_FLAG, - isBind = bitmask & WRAP_BIND_FLAG, - isBindKey = bitmask & WRAP_BIND_KEY_FLAG, - isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), - isFlip = bitmask & WRAP_FLIP_FLAG, - Ctor = isBindKey ? undefined : createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length; - - while (index--) { - args[index] = arguments[index]; - } - if (isCurried) { - var placeholder = getHolder(wrapper), - holdersCount = countHolders(args, placeholder); - } - if (partials) { - args = composeArgs(args, partials, holders, isCurried); - } - if (partialsRight) { - args = composeArgsRight(args, partialsRight, holdersRight, isCurried); - } - length -= holdersCount; - if (isCurried && length < arity) { - var newHolders = replaceHolders(args, placeholder); - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, thisArg, - args, newHolders, argPos, ary, arity - length - ); - } - var thisBinding = isBind ? thisArg : this, - fn = isBindKey ? thisBinding[func] : func; - - length = args.length; - if (argPos) { - args = reorder(args, argPos); - } else if (isFlip && length > 1) { - args.reverse(); - } - if (isAry && ary < length) { - args.length = ary; - } - if (this && this !== root && this instanceof wrapper) { - fn = Ctor || createCtor(fn); - } - return fn.apply(thisBinding, args); - } - return wrapper; - } - - /** - * Creates a function like `_.invertBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} toIteratee The function to resolve iteratees. - * @returns {Function} Returns the new inverter function. - */ - function createInverter(setter, toIteratee) { - return function(object, iteratee) { - return baseInverter(object, setter, toIteratee(iteratee), {}); - }; - } - - /** - * Creates a function that performs a mathematical operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @param {number} [defaultValue] The value used for `undefined` arguments. - * @returns {Function} Returns the new mathematical operation function. - */ - function createMathOperation(operator, defaultValue) { - return function(value, other) { - var result; - if (value === undefined && other === undefined) { - return defaultValue; - } - if (value !== undefined) { - result = value; - } - if (other !== undefined) { - if (result === undefined) { - return other; - } - if (typeof value == 'string' || typeof other == 'string') { - value = baseToString(value); - other = baseToString(other); - } else { - value = baseToNumber(value); - other = baseToNumber(other); - } - result = operator(value, other); - } - return result; - }; - } - - /** - * Creates a function like `_.over`. - * - * @private - * @param {Function} arrayFunc The function to iterate over iteratees. - * @returns {Function} Returns the new over function. - */ - function createOver(arrayFunc) { - return flatRest(function(iteratees) { - iteratees = arrayMap(iteratees, baseUnary(getIteratee())); - return baseRest(function(args) { - var thisArg = this; - return arrayFunc(iteratees, function(iteratee) { - return apply(iteratee, thisArg, args); - }); - }); - }); - } - - /** - * Creates the padding for `string` based on `length`. The `chars` string - * is truncated if the number of characters exceeds `length`. - * - * @private - * @param {number} length The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padding for `string`. - */ - function createPadding(length, chars) { - chars = chars === undefined ? ' ' : baseToString(chars); - - var charsLength = chars.length; - if (charsLength < 2) { - return charsLength ? baseRepeat(chars, length) : chars; - } - var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); - return hasUnicode(chars) - ? castSlice(stringToArray(result), 0, length).join('') - : result.slice(0, length); - } - - /** - * Creates a function that wraps `func` to invoke it with the `this` binding - * of `thisArg` and `partials` prepended to the arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to - * the new function. - * @returns {Function} Returns the new wrapped function. - */ - function createPartial(func, bitmask, thisArg, partials) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength), - fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - return apply(fn, isBind ? thisArg : this, args); - } - return wrapper; - } - - /** - * Creates a `_.range` or `_.rangeRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new range function. - */ - function createRange(fromRight) { - return function(start, end, step) { - if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { - end = step = undefined; - } - // Ensure the sign of `-0` is preserved. - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); - return baseRange(start, end, step, fromRight); - }; - } - - /** - * Creates a function that performs a relational operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @returns {Function} Returns the new relational operation function. - */ - function createRelationalOperation(operator) { - return function(value, other) { - if (!(typeof value == 'string' && typeof other == 'string')) { - value = toNumber(value); - other = toNumber(other); - } - return operator(value, other); - }; - } - - /** - * Creates a function that wraps `func` to continue currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {Function} wrapFunc The function to create the `func` wrapper. - * @param {*} placeholder The placeholder value. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { - var isCurry = bitmask & WRAP_CURRY_FLAG, - newHolders = isCurry ? holders : undefined, - newHoldersRight = isCurry ? undefined : holders, - newPartials = isCurry ? partials : undefined, - newPartialsRight = isCurry ? undefined : partials; - - bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); - bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); - - if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { - bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); - } - var newData = [ - func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, - newHoldersRight, argPos, ary, arity - ]; - - var result = wrapFunc.apply(undefined, newData); - if (isLaziable(func)) { - setData(result, newData); - } - result.placeholder = placeholder; - return setWrapToString(result, func, bitmask); - } - - /** - * Creates a function like `_.round`. - * - * @private - * @param {string} methodName The name of the `Math` method to use when rounding. - * @returns {Function} Returns the new round function. - */ - function createRound(methodName) { - var func = Math[methodName]; - return function(number, precision) { - number = toNumber(number); - precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); - if (precision) { - // Shift with exponential notation to avoid floating-point issues. - // See [MDN](https://mdn.io/round#Examples) for more details. - var pair = (toString(number) + 'e').split('e'), - value = func(pair[0] + 'e' + (+pair[1] + precision)); - - pair = (toString(value) + 'e').split('e'); - return +(pair[0] + 'e' + (+pair[1] - precision)); - } - return func(number); - }; - } - - /** - * Creates a set object of `values`. - * - * @private - * @param {Array} values The values to add to the set. - * @returns {Object} Returns the new set. - */ - var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { - return new Set(values); - }; - - /** - * Creates a `_.toPairs` or `_.toPairsIn` function. - * - * @private - * @param {Function} keysFunc The function to get the keys of a given object. - * @returns {Function} Returns the new pairs function. - */ - function createToPairs(keysFunc) { - return function(object) { - var tag = getTag(object); - if (tag == mapTag) { - return mapToArray(object); - } - if (tag == setTag) { - return setToPairs(object); - } - return baseToPairs(object, keysFunc(object)); - }; - } - - /** - * Creates a function that either curries or invokes `func` with optional - * `this` binding and partially applied arguments. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. - * 1 - `_.bind` - * 2 - `_.bindKey` - * 4 - `_.curry` or `_.curryRight` of a bound function - * 8 - `_.curry` - * 16 - `_.curryRight` - * 32 - `_.partial` - * 64 - `_.partialRight` - * 128 - `_.rearg` - * 256 - `_.ary` - * 512 - `_.flip` - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to be partially applied. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { - var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; - if (!isBindKey && typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); - partials = holders = undefined; - } - ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); - arity = arity === undefined ? arity : toInteger(arity); - length -= holders ? holders.length : 0; - - if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, - holdersRight = holders; - - partials = holders = undefined; - } - var data = isBindKey ? undefined : getData(func); - - var newData = [ - func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, - argPos, ary, arity - ]; - - if (data) { - mergeData(newData, data); - } - func = newData[0]; - bitmask = newData[1]; - thisArg = newData[2]; - partials = newData[3]; - holders = newData[4]; - arity = newData[9] = newData[9] === undefined - ? (isBindKey ? 0 : func.length) - : nativeMax(newData[9] - length, 0); - - if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { - bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); - } - if (!bitmask || bitmask == WRAP_BIND_FLAG) { - var result = createBind(func, bitmask, thisArg); - } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { - result = createCurry(func, bitmask, arity); - } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { - result = createPartial(func, bitmask, thisArg, partials); - } else { - result = createHybrid.apply(undefined, newData); - } - var setter = data ? baseSetData : setData; - return setWrapToString(setter(result, newData), func, bitmask); - } - - /** - * Used by `_.defaults` to customize its `_.assignIn` use to assign properties - * of source objects to the destination object for all destination properties - * that resolve to `undefined`. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ - function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; - } - - /** - * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source - * objects into destination objects that are passed thru. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to merge. - * @param {Object} object The parent object of `objValue`. - * @param {Object} source The parent object of `srcValue`. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - * @returns {*} Returns the value to assign. - */ - function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { - if (isObject(objValue) && isObject(srcValue)) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, objValue); - baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); - stack['delete'](srcValue); - } - return objValue; - } - - /** - * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain - * objects. - * - * @private - * @param {*} value The value to inspect. - * @param {string} key The key of the property to inspect. - * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. - */ - function customOmitClone(value) { - return isPlainObject(value) ? undefined : value; - } - - /** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(array); - if (stacked && stack.get(other)) { - return stacked == other; - } - var index = -1, - result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; - - stack.set(array, other); - stack.set(other, array); - - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, arrValue, index, other, array, stack) - : customizer(arrValue, othValue, index, array, other, stack); - } - if (compared !== undefined) { - if (compared) { - continue; - } - result = false; - break; - } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!arraySome(other, function(othValue, othIndex) { - if (!cacheHas(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - )) { - result = false; - break; - } - } - stack['delete'](array); - stack['delete'](other); - return result; - } - - /** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: - if ((object.byteLength != other.byteLength) || - (object.byteOffset != other.byteOffset)) { - return false; - } - object = object.buffer; - other = other.buffer; - - case arrayBufferTag: - if ((object.byteLength != other.byteLength) || - !equalFunc(new Uint8Array(object), new Uint8Array(other))) { - return false; - } - return true; - - case boolTag: - case dateTag: - case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); - - case errorTag: - return object.name == other.name && object.message == other.message; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == (other + ''); - - case mapTag: - var convert = mapToArray; - - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG; - convert || (convert = setToArray); - - if (object.size != other.size && !isPartial) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG; - - // Recursively compare objects (susceptible to call stack limits). - stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack['delete'](object); - return result; - - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; - } - - /** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - objProps = getAllKeys(object), - objLength = objProps.length, - othProps = getAllKeys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked && stack.get(other)) { - return stacked == other; - } - var result = true; - stack.set(object, other); - stack.set(other, object); - - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, objValue, key, other, object, stack) - : customizer(objValue, othValue, key, object, other, stack); - } - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) - : compared - )) { - result = false; - break; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - stack['delete'](object); - stack['delete'](other); - return result; - } - - /** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); - } - - /** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols); - } - - /** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); - } - - /** - * Gets metadata for `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {*} Returns the metadata for `func`. - */ - var getData = !metaMap ? noop : function(func) { - return metaMap.get(func); - }; - - /** - * Gets the name of `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {string} Returns the function name. - */ - function getFuncName(func) { - var result = (func.name + ''), - array = realNames[result], - length = hasOwnProperty.call(realNames, result) ? array.length : 0; - - while (length--) { - var data = array[length], - otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result; - } - - /** - * Gets the argument placeholder value for `func`. - * - * @private - * @param {Function} func The function to inspect. - * @returns {*} Returns the placeholder value. - */ - function getHolder(func) { - var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; - return object.placeholder; - } - - /** - * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, - * this function returns the custom method, otherwise it returns `baseIteratee`. - * If arguments are provided, the chosen function is invoked with them and - * its result is returned. - * - * @private - * @param {*} [value] The value to convert to an iteratee. - * @param {number} [arity] The arity of the created iteratee. - * @returns {Function} Returns the chosen function or its result. - */ - function getIteratee() { - var result = lodash.iteratee || iteratee; - result = result === iteratee ? baseIteratee : result; - return arguments.length ? result(arguments[0], arguments[1]) : result; - } - - /** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ - function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) - ? data[typeof key == 'string' ? 'string' : 'hash'] - : data.map; - } - - /** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ - function getMatchData(object) { - var result = keys(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - - result[length] = [key, value, isStrictComparable(value)]; - } - return result; - } - - /** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ - function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : undefined; - } - - /** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; - } - - /** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); - }; - - /** - * Creates an array of the own and inherited enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { - var result = []; - while (object) { - arrayPush(result, getSymbols(object)); - object = getPrototype(object); - } - return result; - }; - - /** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - var getTag = baseGetTag; - - // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. - if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || - (Map && getTag(new Map) != mapTag) || - (Promise && getTag(Promise.resolve()) != promiseTag) || - (Set && getTag(new Set) != setTag) || - (WeakMap && getTag(new WeakMap) != weakMapTag)) { - getTag = function(value) { - var result = baseGetTag(value), - Ctor = result == objectTag ? value.constructor : undefined, - ctorString = Ctor ? toSource(Ctor) : ''; - - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: return dataViewTag; - case mapCtorString: return mapTag; - case promiseCtorString: return promiseTag; - case setCtorString: return setTag; - case weakMapCtorString: return weakMapTag; - } - } - return result; - }; - } - - /** - * Gets the view, applying any `transforms` to the `start` and `end` positions. - * - * @private - * @param {number} start The start of the view. - * @param {number} end The end of the view. - * @param {Array} transforms The transformations to apply to the view. - * @returns {Object} Returns an object containing the `start` and `end` - * positions of the view. - */ - function getView(start, end, transforms) { - var index = -1, - length = transforms.length; - - while (++index < length) { - var data = transforms[index], - size = data.size; - - switch (data.type) { - case 'drop': start += size; break; - case 'dropRight': end -= size; break; - case 'take': end = nativeMin(end, start + size); break; - case 'takeRight': start = nativeMax(start, end - size); break; - } - } - return { 'start': start, 'end': end }; - } - - /** - * Extracts wrapper details from the `source` body comment. - * - * @private - * @param {string} source The source to inspect. - * @returns {Array} Returns the wrapper details. - */ - function getWrapDetails(source) { - var match = source.match(reWrapDetails); - return match ? match[1].split(reSplitDetails) : []; - } - - /** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */ - function hasPath(object, path, hasFunc) { - path = castPath(path, object); - - var index = -1, - length = path.length, - result = false; - - while (++index < length) { - var key = toKey(path[index]); - if (!(result = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result || ++index != length) { - return result; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && - (isArray(object) || isArguments(object)); - } - - /** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ - function initCloneArray(array) { - var length = array.length, - result = new array.constructor(length); - - // Add properties assigned by `RegExp#exec`. - if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { - result.index = array.index; - result.input = array.input; - } - return result; - } - - /** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneObject(object) { - return (typeof object.constructor == 'function' && !isPrototype(object)) - ? baseCreate(getPrototype(object)) - : {}; - } - - /** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneByTag(object, tag, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return cloneArrayBuffer(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case dataViewTag: - return cloneDataView(object, isDeep); - - case float32Tag: case float64Tag: - case int8Tag: case int16Tag: case int32Tag: - case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: - return cloneTypedArray(object, isDeep); - - case mapTag: - return new Ctor; - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - return cloneRegExp(object); - - case setTag: - return new Ctor; - - case symbolTag: - return cloneSymbol(object); - } - } - - /** - * Inserts wrapper `details` in a comment at the top of the `source` body. - * - * @private - * @param {string} source The source to modify. - * @returns {Array} details The details to insert. - * @returns {string} Returns the modified source. - */ - function insertWrapDetails(source, details) { - var length = details.length; - if (!length) { - return source; - } - var lastIndex = length - 1; - details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; - details = details.join(length > 2 ? ', ' : ' '); - return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); - } - - /** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - function isFlattenable(value) { - return isArray(value) || isArguments(value) || - !!(spreadableSymbol && value && value[spreadableSymbol]); - } - - /** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; - - return !!length && - (type == 'number' || - (type != 'symbol' && reIsUint.test(value))) && - (value > -1 && value % 1 == 0 && value < length); - } - - /** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */ - function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object) - ) { - return eq(object[index], value); - } - return false; - } - - /** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ - function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); - } - - /** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ - function isKeyable(value) { - var type = typeof value; - return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') - ? (value !== '__proto__') - : (value === null); - } - - /** - * Checks if `func` has a lazy counterpart. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` has a lazy counterpart, - * else `false`. - */ - function isLaziable(func) { - var funcName = getFuncName(func), - other = lodash[funcName]; - - if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { - return false; - } - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; - } - - /** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ - function isMasked(func) { - return !!maskSrcKey && (maskSrcKey in func); - } - - /** - * Checks if `func` is capable of being masked. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `func` is maskable, else `false`. - */ - var isMaskable = coreJsData ? isFunction : stubFalse; - - /** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ - function isPrototype(value) { - var Ctor = value && value.constructor, - proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; - - return value === proto; - } - - /** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ - function isStrictComparable(value) { - return value === value && !isObject(value); - } - - /** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && - (srcValue !== undefined || (key in Object(object))); - }; - } - - /** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ - function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - - var cache = result.cache; - return result; - } - - /** - * Merges the function metadata of `source` into `data`. - * - * Merging metadata reduces the number of wrappers used to invoke a function. - * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` - * may be applied regardless of execution order. Methods like `_.ary` and - * `_.rearg` modify function arguments, making the order in which they are - * executed important, preventing the merging of metadata. However, we make - * an exception for a safe combined case where curried functions have `_.ary` - * and or `_.rearg` applied. - * - * @private - * @param {Array} data The destination metadata. - * @param {Array} source The source metadata. - * @returns {Array} Returns `data`. - */ - function mergeData(data, source) { - var bitmask = data[1], - srcBitmask = source[1], - newBitmask = bitmask | srcBitmask, - isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); - - var isCombo = - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || - ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); - - // Exit early if metadata can't be merged. - if (!(isCommon || isCombo)) { - return data; - } - // Use source `thisArg` if available. - if (srcBitmask & WRAP_BIND_FLAG) { - data[2] = source[2]; - // Set when currying a bound function. - newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; - } - // Compose partial arguments. - var value = source[3]; - if (value) { - var partials = data[3]; - data[3] = partials ? composeArgs(partials, value, source[4]) : value; - data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; - } - // Compose partial right arguments. - value = source[5]; - if (value) { - partials = data[5]; - data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; - data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; - } - // Use source `argPos` if available. - value = source[7]; - if (value) { - data[7] = value; - } - // Use source `ary` if it's smaller. - if (srcBitmask & WRAP_ARY_FLAG) { - data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); - } - // Use source `arity` if one is not provided. - if (data[9] == null) { - data[9] = source[9]; - } - // Use source `func` and merge bitmasks. - data[0] = source[0]; - data[1] = newBitmask; - - return data; - } - - /** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; - } - - /** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - function objectToString(value) { - return nativeObjectToString.call(value); - } - - /** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = transform(array); - return apply(func, this, otherArgs); - }; - } - - /** - * Gets the parent value at `path` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path to get the parent value of. - * @returns {*} Returns the parent value. - */ - function parent(object, path) { - return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); - } - - /** - * Reorder `array` according to the specified indexes where the element at - * the first index is assigned as the first element, the element at - * the second index is assigned as the second element, and so on. - * - * @private - * @param {Array} array The array to reorder. - * @param {Array} indexes The arranged array indexes. - * @returns {Array} Returns `array`. - */ - function reorder(array, indexes) { - var arrLength = array.length, - length = nativeMin(indexes.length, arrLength), - oldArray = copyArray(array); - - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; - } - return array; - } - - /** - * Sets metadata for `func`. - * - * **Note:** If this function becomes hot, i.e. is invoked a lot in a short - * period of time, it will trip its breaker and transition to an identity - * function to avoid garbage collection pauses in V8. See - * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) - * for more details. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var setData = shortOut(baseSetData); - - /** - * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @returns {number|Object} Returns the timer id or timeout object. - */ - var setTimeout = ctxSetTimeout || function(func, wait) { - return root.setTimeout(func, wait); - }; - - /** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var setToString = shortOut(baseSetToString); - - /** - * Sets the `toString` method of `wrapper` to mimic the source of `reference` - * with wrapper details in a comment at the top of the source body. - * - * @private - * @param {Function} wrapper The function to modify. - * @param {Function} reference The reference function. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Function} Returns `wrapper`. - */ - function setWrapToString(wrapper, reference, bitmask) { - var source = (reference + ''); - return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); - } - - /** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ - function shortOut(func) { - var count = 0, - lastCalled = 0; - - return function() { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined, arguments); - }; - } - - /** - * A specialized version of `_.shuffle` which mutates and sets the size of `array`. - * - * @private - * @param {Array} array The array to shuffle. - * @param {number} [size=array.length] The size of `array`. - * @returns {Array} Returns `array`. - */ - function shuffleSelf(array, size) { - var index = -1, - length = array.length, - lastIndex = length - 1; - - size = size === undefined ? length : size; - while (++index < size) { - var rand = baseRandom(index, lastIndex), - value = array[rand]; - - array[rand] = array[index]; - array[index] = value; - } - array.length = size; - return array; - } - - /** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ - var stringToPath = memoizeCapped(function(string) { - var result = []; - if (string.charCodeAt(0) === 46 /* . */) { - result.push(''); - } - string.replace(rePropName, function(match, number, quote, subString) { - result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; - }); - - /** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ - function toKey(value) { - if (typeof value == 'string' || isSymbol(value)) { - return value; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - /** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */ - function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - try { - return (func + ''); - } catch (e) {} - } - return ''; - } - - /** - * Updates wrapper `details` based on `bitmask` flags. - * - * @private - * @returns {Array} details The details to modify. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Array} Returns `details`. - */ - function updateWrapDetails(details, bitmask) { - arrayEach(wrapFlags, function(pair) { - var value = '_.' + pair[0]; - if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { - details.push(value); - } - }); - return details.sort(); - } - - /** - * Creates a clone of `wrapper`. - * - * @private - * @param {Object} wrapper The wrapper to clone. - * @returns {Object} Returns the cloned wrapper. - */ - function wrapperClone(wrapper) { - if (wrapper instanceof LazyWrapper) { - return wrapper.clone(); - } - var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); - result.__actions__ = copyArray(wrapper.__actions__); - result.__index__ = wrapper.__index__; - result.__values__ = wrapper.__values__; - return result; - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of elements split into groups the length of `size`. - * If `array` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the new array of chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ - function chunk(array, size, guard) { - if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { - size = 1; - } else { - size = nativeMax(toInteger(size), 0); - } - var length = array == null ? 0 : array.length; - if (!length || size < 1) { - return []; - } - var index = 0, - resIndex = 0, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[resIndex++] = baseSlice(array, index, (index += size)); - } - return result; - } - - /** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[resIndex++] = value; - } - } - return result; - } - - /** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to concatenate. - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args = Array(length - 1), - array = arguments[0], - index = length; - - while (index--) { - args[index - 1] = arguments[index]; - } - return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); - } - - /** - * Creates an array of `array` values not included in the other given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * **Note:** Unlike `_.pullAll`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.without, _.xor - * @example - * - * _.difference([2, 1], [2, 3]); - * // => [1] - */ - var difference = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) - : []; - }); - - /** - * This method is like `_.difference` except that it accepts `iteratee` which - * is invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * **Note:** Unlike `_.pullAllBy`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2] - * - * // The `_.property` iteratee shorthand. - * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - var differenceBy = baseRest(function(array, values) { - var iteratee = last(values); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) - : []; - }); - - /** - * This method is like `_.difference` except that it accepts `comparator` - * which is invoked to compare elements of `array` to `values`. The order and - * references of result values are determined by the first array. The comparator - * is invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.pullAllWith`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * - * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); - * // => [{ 'x': 2, 'y': 1 }] - */ - var differenceWith = baseRest(function(array, values) { - var comparator = last(values); - if (isArrayLikeObject(comparator)) { - comparator = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) - : []; - }); - - /** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function drop(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, n < 0 ? 0 : n, length); - } - - /** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function dropRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.dropRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney'] - * - * // The `_.matches` iteratee shorthand. - * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropRightWhile(users, ['active', false]); - * // => objects for ['barney'] - * - * // The `_.property` iteratee shorthand. - * _.dropRightWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ - function dropRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), true, true) - : []; - } - - /** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.dropWhile(users, function(o) { return !o.active; }); - * // => objects for ['pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.dropWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropWhile(users, ['active', false]); - * // => objects for ['pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.dropWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ - function dropWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), true) - : []; - } - - /** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8, 10], '*', 1, 3); - * // => [4, '*', '*', 10] - */ - function fill(array, value, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); - } - - /** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */ - function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, getIteratee(predicate, 3), index); - } - - /** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); - * // => 2 - * - * // The `_.matches` iteratee shorthand. - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastIndex(users, ['active', false]); - * // => 2 - * - * // The `_.property` iteratee shorthand. - * _.findLastIndex(users, 'active'); - * // => 0 - */ - function findLastIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length - 1; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = fromIndex < 0 - ? nativeMax(length + index, 0) - : nativeMin(index, length - 1); - } - return baseFindIndex(array, getIteratee(predicate, 3), index, true); - } - - /** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; - } - - /** - * Recursively flattens `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, [3, [4]], 5]]); - * // => [1, 2, 3, 4, 5] - */ - function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; - } - - /** - * Recursively flatten `array` up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Array - * @param {Array} array The array to flatten. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * var array = [1, [2, [3, [4]], 5]]; - * - * _.flattenDepth(array, 1); - * // => [1, 2, [3, [4]], 5] - * - * _.flattenDepth(array, 2); - * // => [1, 2, 3, [4], 5] - */ - function flattenDepth(array, depth) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(array, depth); - } - - /** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ - function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; - - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } - return result; - } - - /** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias first - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.head([1, 2, 3]); - * // => 1 - * - * _.head([]); - * // => undefined - */ - function head(array) { - return (array && array.length) ? array[0] : undefined; - } - - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the - * offset from the end of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // Search from the `fromIndex`. - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ - function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseIndexOf(array, value, index); - } - - /** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ - function initial(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 0, -1) : []; - } - - /** - * Creates an array of unique values that are included in all given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersection([2, 1], [2, 3]); - * // => [2] - */ - var intersection = baseRest(function(arrays) { - var mapped = arrayMap(arrays, castArrayLikeObject); - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped) - : []; - }); - - /** - * This method is like `_.intersection` except that it accepts `iteratee` - * which is invoked for each element of each `arrays` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [2.1] - * - * // The `_.property` iteratee shorthand. - * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }] - */ - var intersectionBy = baseRest(function(arrays) { - var iteratee = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - if (iteratee === last(mapped)) { - iteratee = undefined; - } else { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, getIteratee(iteratee, 2)) - : []; - }); - - /** - * This method is like `_.intersection` except that it accepts `comparator` - * which is invoked to compare elements of `arrays`. The order and references - * of result values are determined by the first array. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.intersectionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }] - */ - var intersectionWith = baseRest(function(arrays) { - var comparator = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - comparator = typeof comparator == 'function' ? comparator : undefined; - if (comparator) { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, undefined, comparator) - : []; - }); - - /** - * Converts all elements in `array` into a string separated by `separator`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to convert. - * @param {string} [separator=','] The element separator. - * @returns {string} Returns the joined string. - * @example - * - * _.join(['a', 'b', 'c'], '~'); - * // => 'a~b~c' - */ - function join(array, separator) { - return array == null ? '' : nativeJoin.call(array, separator); - } - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; - } - - /** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // Search from the `fromIndex`. - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - */ - function lastIndexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); - } - return value === value - ? strictLastIndexOf(array, value, index) - : baseFindIndex(array, baseIsNaN, index, true); - } - - /** - * Gets the element at index `n` of `array`. If `n` is negative, the nth - * element from the end is returned. - * - * @static - * @memberOf _ - * @since 4.11.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=0] The index of the element to return. - * @returns {*} Returns the nth element of `array`. - * @example - * - * var array = ['a', 'b', 'c', 'd']; - * - * _.nth(array, 1); - * // => 'b' - * - * _.nth(array, -2); - * // => 'c'; - */ - function nth(array, n) { - return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; - } - - /** - * Removes all given values from `array` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` - * to remove elements from an array by predicate. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {...*} [values] The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = ['a', 'b', 'c', 'a', 'b', 'c']; - * - * _.pull(array, 'a', 'c'); - * console.log(array); - * // => ['b', 'b'] - */ - var pull = baseRest(pullAll); - - /** - * This method is like `_.pull` except that it accepts an array of values to remove. - * - * **Note:** Unlike `_.difference`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = ['a', 'b', 'c', 'a', 'b', 'c']; - * - * _.pullAll(array, ['a', 'c']); - * console.log(array); - * // => ['b', 'b'] - */ - function pullAll(array, values) { - return (array && array.length && values && values.length) - ? basePullAll(array, values) - : array; - } - - /** - * This method is like `_.pullAll` except that it accepts `iteratee` which is - * invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The iteratee is invoked with one argument: (value). - * - * **Note:** Unlike `_.differenceBy`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns `array`. - * @example - * - * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; - * - * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); - * console.log(array); - * // => [{ 'x': 2 }] - */ - function pullAllBy(array, values, iteratee) { - return (array && array.length && values && values.length) - ? basePullAll(array, values, getIteratee(iteratee, 2)) - : array; - } - - /** - * This method is like `_.pullAll` except that it accepts `comparator` which - * is invoked to compare elements of `array` to `values`. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.differenceWith`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - * @example - * - * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; - * - * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); - * console.log(array); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] - */ - function pullAllWith(array, values, comparator) { - return (array && array.length && values && values.length) - ? basePullAll(array, values, undefined, comparator) - : array; - } - - /** - * Removes elements from `array` corresponding to `indexes` and returns an - * array of removed elements. - * - * **Note:** Unlike `_.at`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = ['a', 'b', 'c', 'd']; - * var pulled = _.pullAt(array, [1, 3]); - * - * console.log(array); - * // => ['a', 'c'] - * - * console.log(pulled); - * // => ['b', 'd'] - */ - var pullAt = flatRest(function(array, indexes) { - var length = array == null ? 0 : array.length, - result = baseAt(array, indexes); - - basePullAt(array, arrayMap(indexes, function(index) { - return isIndex(index, length) ? +index : index; - }).sort(compareAscending)); - - return result; - }); - - /** - * Removes all elements from `array` that `predicate` returns truthy for - * and returns an array of the removed elements. The predicate is invoked - * with three arguments: (value, index, array). - * - * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` - * to pull elements from an array by value. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [1, 2, 3, 4]; - * var evens = _.remove(array, function(n) { - * return n % 2 == 0; - * }); - * - * console.log(array); - * // => [1, 3] - * - * console.log(evens); - * // => [2, 4] - */ - function remove(array, predicate) { - var result = []; - if (!(array && array.length)) { - return result; - } - var index = -1, - indexes = [], - length = array.length; - - predicate = getIteratee(predicate, 3); - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result.push(value); - indexes.push(index); - } - } - basePullAt(array, indexes); - return result; - } - - /** - * Reverses `array` so that the first element becomes the last, the second - * element becomes the second to last, and so on. - * - * **Note:** This method mutates `array` and is based on - * [`Array#reverse`](https://mdn.io/Array/reverse). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.reverse(array); - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function reverse(array) { - return array == null ? array : nativeReverse.call(array); - } - - /** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of - * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are - * returned. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function slice(array, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { - start = 0; - end = length; - } - else { - start = start == null ? 0 : toInteger(start); - end = end === undefined ? length : toInteger(end); - } - return baseSlice(array, start, end); - } - - /** - * Uses a binary search to determine the lowest index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - */ - function sortedIndex(array, value) { - return baseSortedIndex(array, value); - } - - /** - * This method is like `_.sortedIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * var objects = [{ 'x': 4 }, { 'x': 5 }]; - * - * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); - * // => 0 - */ - function sortedIndexBy(array, value, iteratee) { - return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); - } - - /** - * This method is like `_.indexOf` except that it performs a binary - * search on a sorted `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedIndexOf([4, 5, 5, 5, 6], 5); - * // => 1 - */ - function sortedIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value); - if (index < length && eq(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * This method is like `_.sortedIndex` except that it returns the highest - * index at which `value` should be inserted into `array` in order to - * maintain its sort order. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedLastIndex([4, 5, 5, 5, 6], 5); - * // => 4 - */ - function sortedLastIndex(array, value) { - return baseSortedIndex(array, value, true); - } - - /** - * This method is like `_.sortedLastIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * var objects = [{ 'x': 4 }, { 'x': 5 }]; - * - * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); - * // => 1 - * - * // The `_.property` iteratee shorthand. - * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); - * // => 1 - */ - function sortedLastIndexBy(array, value, iteratee) { - return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); - } - - /** - * This method is like `_.lastIndexOf` except that it performs a binary - * search on a sorted `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); - * // => 3 - */ - function sortedLastIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value, true) - 1; - if (eq(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * This method is like `_.uniq` except that it's designed and optimized - * for sorted arrays. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.sortedUniq([1, 1, 2]); - * // => [1, 2] - */ - function sortedUniq(array) { - return (array && array.length) - ? baseSortedUniq(array) - : []; - } - - /** - * This method is like `_.uniqBy` except that it's designed and optimized - * for sorted arrays. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); - * // => [1.1, 2.3] - */ - function sortedUniqBy(array, iteratee) { - return (array && array.length) - ? baseSortedUniq(array, getIteratee(iteratee, 2)) - : []; - } - - /** - * Gets all but the first element of `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.tail([1, 2, 3]); - * // => [2, 3] - */ - function tail(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 1, length) : []; - } - - /** - * Creates a slice of `array` with `n` elements taken from the beginning. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.take([1, 2, 3]); - * // => [1] - * - * _.take([1, 2, 3], 2); - * // => [1, 2] - * - * _.take([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.take([1, 2, 3], 0); - * // => [] - */ - function take(array, n, guard) { - if (!(array && array.length)) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with `n` elements taken from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRight([1, 2, 3]); - * // => [3] - * - * _.takeRight([1, 2, 3], 2); - * // => [2, 3] - * - * _.takeRight([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.takeRight([1, 2, 3], 0); - * // => [] - */ - function takeRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, n < 0 ? 0 : n, length); - } - - /** - * Creates a slice of `array` with elements taken from the end. Elements are - * taken until `predicate` returns falsey. The predicate is invoked with - * three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.takeRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.takeRightWhile(users, ['active', false]); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.takeRightWhile(users, 'active'); - * // => [] - */ - function takeRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), false, true) - : []; - } - - /** - * Creates a slice of `array` with elements taken from the beginning. Elements - * are taken until `predicate` returns falsey. The predicate is invoked with - * three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.takeWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matches` iteratee shorthand. - * _.takeWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.takeWhile(users, ['active', false]); - * // => objects for ['barney', 'fred'] - * - * // The `_.property` iteratee shorthand. - * _.takeWhile(users, 'active'); - * // => [] - */ - function takeWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3)) - : []; - } - - /** - * Creates an array of unique values, in order, from all given arrays using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.union([2], [1, 2]); - * // => [2, 1] - */ - var union = baseRest(function(arrays) { - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); - }); - - /** - * This method is like `_.union` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by - * which uniqueness is computed. Result values are chosen from the first - * array in which the value occurs. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.unionBy([2.1], [1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - var unionBy = baseRest(function(arrays) { - var iteratee = last(arrays); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); - }); - - /** - * This method is like `_.union` except that it accepts `comparator` which - * is invoked to compare elements of `arrays`. Result values are chosen from - * the first array in which the value occurs. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of combined values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.unionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - var unionWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == 'function' ? comparator : undefined; - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); - }); - - /** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurrence of each element - * is kept. The order of result values is determined by the order they occur - * in the array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - */ - function uniq(array) { - return (array && array.length) ? baseUniq(array) : []; - } - - /** - * This method is like `_.uniq` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * uniqueness is computed. The order of result values is determined by the - * order they occur in the array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniqBy([2.1, 1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - function uniqBy(array, iteratee) { - return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; - } - - /** - * This method is like `_.uniq` except that it accepts `comparator` which - * is invoked to compare elements of `array`. The order of result values is - * determined by the order they occur in the array.The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.uniqWith(objects, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] - */ - function uniqWith(array, comparator) { - comparator = typeof comparator == 'function' ? comparator : undefined; - return (array && array.length) ? baseUniq(array, undefined, comparator) : []; - } - - /** - * This method is like `_.zip` except that it accepts an array of grouped - * elements and creates an array regrouping the elements to their pre-zip - * configuration. - * - * @static - * @memberOf _ - * @since 1.2.0 - * @category Array - * @param {Array} array The array of grouped elements to process. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); - * // => [['a', 1, true], ['b', 2, false]] - * - * _.unzip(zipped); - * // => [['a', 'b'], [1, 2], [true, false]] - */ - function unzip(array) { - if (!(array && array.length)) { - return []; - } - var length = 0; - array = arrayFilter(array, function(group) { - if (isArrayLikeObject(group)) { - length = nativeMax(group.length, length); - return true; - } - }); - return baseTimes(length, function(index) { - return arrayMap(array, baseProperty(index)); - }); - } - - /** - * This method is like `_.unzip` except that it accepts `iteratee` to specify - * how regrouped values should be combined. The iteratee is invoked with the - * elements of each group: (...group). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Array - * @param {Array} array The array of grouped elements to process. - * @param {Function} [iteratee=_.identity] The function to combine - * regrouped values. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip([1, 2], [10, 20], [100, 200]); - * // => [[1, 10, 100], [2, 20, 200]] - * - * _.unzipWith(zipped, _.add); - * // => [3, 30, 300] - */ - function unzipWith(array, iteratee) { - if (!(array && array.length)) { - return []; - } - var result = unzip(array); - if (iteratee == null) { - return result; - } - return arrayMap(result, function(group) { - return apply(iteratee, undefined, group); - }); - } - - /** - * Creates an array excluding all given values using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.pull`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...*} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.xor - * @example - * - * _.without([2, 1, 2, 3], 1, 2); - * // => [3] - */ - var without = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, values) - : []; - }); - - /** - * Creates an array of unique values that is the - * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) - * of the given arrays. The order of result values is determined by the order - * they occur in the arrays. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.without - * @example - * - * _.xor([2, 1], [2, 3]); - * // => [1, 3] - */ - var xor = baseRest(function(arrays) { - return baseXor(arrayFilter(arrays, isArrayLikeObject)); - }); - - /** - * This method is like `_.xor` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by - * which by which they're compared. The order of result values is determined - * by the order they occur in the arrays. The iteratee is invoked with one - * argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2, 3.4] - * - * // The `_.property` iteratee shorthand. - * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - var xorBy = baseRest(function(arrays) { - var iteratee = last(arrays); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); - }); - - /** - * This method is like `_.xor` except that it accepts `comparator` which is - * invoked to compare elements of `arrays`. The order of result values is - * determined by the order they occur in the arrays. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.xorWith(objects, others, _.isEqual); - * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - var xorWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == 'function' ? comparator : undefined; - return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); - }); - - /** - * Creates an array of grouped elements, the first of which contains the - * first elements of the given arrays, the second of which contains the - * second elements of the given arrays, and so on. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zip(['a', 'b'], [1, 2], [true, false]); - * // => [['a', 1, true], ['b', 2, false]] - */ - var zip = baseRest(unzip); - - /** - * This method is like `_.fromPairs` except that it accepts two arrays, - * one of property identifiers and one of corresponding values. - * - * @static - * @memberOf _ - * @since 0.4.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObject(['a', 'b'], [1, 2]); - * // => { 'a': 1, 'b': 2 } - */ - function zipObject(props, values) { - return baseZipObject(props || [], values || [], assignValue); - } - - /** - * This method is like `_.zipObject` except that it supports property paths. - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); - * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } - */ - function zipObjectDeep(props, values) { - return baseZipObject(props || [], values || [], baseSet); - } - - /** - * This method is like `_.zip` except that it accepts `iteratee` to specify - * how grouped values should be combined. The iteratee is invoked with the - * elements of each group: (...group). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @param {Function} [iteratee=_.identity] The function to combine - * grouped values. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { - * return a + b + c; - * }); - * // => [111, 222] - */ - var zipWith = baseRest(function(arrays) { - var length = arrays.length, - iteratee = length > 1 ? arrays[length - 1] : undefined; - - iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; - return unzipWith(arrays, iteratee); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` wrapper instance that wraps `value` with explicit method - * chain sequences enabled. The result of such sequences must be unwrapped - * with `_#value`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Seq - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _ - * .chain(users) - * .sortBy('age') - * .map(function(o) { - * return o.user + ' is ' + o.age; - * }) - * .head() - * .value(); - * // => 'pebbles is 1' - */ - function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; - } - - /** - * This method invokes `interceptor` and returns `value`. The interceptor - * is invoked with one argument; (value). The purpose of this method is to - * "tap into" a method chain sequence in order to modify intermediate results. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * // Mutate input array. - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ - function tap(value, interceptor) { - interceptor(value); - return value; - } - - /** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * The purpose of this method is to "pass thru" values replacing intermediate - * results in a method chain sequence. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ - function thru(value, interceptor) { - return interceptor(value); - } - - /** - * This method is the wrapper version of `_.at`. - * - * @name at - * @memberOf _ - * @since 1.0.0 - * @category Seq - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _(object).at(['a[0].b.c', 'a[1]']).value(); - * // => [3, 4] - */ - var wrapperAt = flatRest(function(paths) { - var length = paths.length, - start = length ? paths[0] : 0, - value = this.__wrapped__, - interceptor = function(object) { return baseAt(object, paths); }; - - if (length > 1 || this.__actions__.length || - !(value instanceof LazyWrapper) || !isIndex(start)) { - return this.thru(interceptor); - } - value = value.slice(start, +start + (length ? 1 : 0)); - value.__actions__.push({ - 'func': thru, - 'args': [interceptor], - 'thisArg': undefined - }); - return new LodashWrapper(value, this.__chain__).thru(function(array) { - if (length && !array.length) { - array.push(undefined); - } - return array; - }); - }); - - /** - * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. - * - * @name chain - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // A sequence without explicit chaining. - * _(users).head(); - * // => { 'user': 'barney', 'age': 36 } - * - * // A sequence with explicit chaining. - * _(users) - * .chain() - * .head() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ - function wrapperChain() { - return chain(this); - } - - /** - * Executes the chain sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ - function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); - } - - /** - * Gets the next value on a wrapped object following the - * [iterator protocol](https://mdn.io/iteration_protocols#iterator). - * - * @name next - * @memberOf _ - * @since 4.0.0 - * @category Seq - * @returns {Object} Returns the next iterator value. - * @example - * - * var wrapped = _([1, 2]); - * - * wrapped.next(); - * // => { 'done': false, 'value': 1 } - * - * wrapped.next(); - * // => { 'done': false, 'value': 2 } - * - * wrapped.next(); - * // => { 'done': true, 'value': undefined } - */ - function wrapperNext() { - if (this.__values__ === undefined) { - this.__values__ = toArray(this.value()); - } - var done = this.__index__ >= this.__values__.length, - value = done ? undefined : this.__values__[this.__index__++]; - - return { 'done': done, 'value': value }; - } - - /** - * Enables the wrapper to be iterable. - * - * @name Symbol.iterator - * @memberOf _ - * @since 4.0.0 - * @category Seq - * @returns {Object} Returns the wrapper object. - * @example - * - * var wrapped = _([1, 2]); - * - * wrapped[Symbol.iterator]() === wrapped; - * // => true - * - * Array.from(wrapped); - * // => [1, 2] - */ - function wrapperToIterator() { - return this; - } - - /** - * Creates a clone of the chain sequence planting `value` as the wrapped value. - * - * @name plant - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @param {*} value The value to plant. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2]).map(square); - * var other = wrapped.plant([3, 4]); - * - * other.value(); - * // => [9, 16] - * - * wrapped.value(); - * // => [1, 4] - */ - function wrapperPlant(value) { - var result, - parent = this; - - while (parent instanceof baseLodash) { - var clone = wrapperClone(parent); - clone.__index__ = 0; - clone.__values__ = undefined; - if (result) { - previous.__wrapped__ = clone; - } else { - result = clone; - } - var previous = clone; - parent = parent.__wrapped__; - } - previous.__wrapped__ = value; - return result; - } - - /** - * This method is the wrapper version of `_.reverse`. - * - * **Note:** This method mutates the wrapped array. - * - * @name reverse - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2, 3]; - * - * _(array).reverse().value() - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function wrapperReverse() { - var value = this.__wrapped__; - if (value instanceof LazyWrapper) { - var wrapped = value; - if (this.__actions__.length) { - wrapped = new LazyWrapper(this); - } - wrapped = wrapped.reverse(); - wrapped.__actions__.push({ - 'func': thru, - 'args': [reverse], - 'thisArg': undefined - }); - return new LodashWrapper(wrapped, this.__chain__); - } - return this.thru(reverse); - } - - /** - * Executes the chain sequence to resolve the unwrapped value. - * - * @name value - * @memberOf _ - * @since 0.1.0 - * @alias toJSON, valueOf - * @category Seq - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the number of times the key was returned by `iteratee`. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.countBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': 1, '6': 2 } - * - * // The `_.property` iteratee shorthand. - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ - var countBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - ++result[key]; - } else { - baseAssignValue(result, key, 1); - } - }); - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, guard) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - */ - function filter(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */ - var find = createFind(findIndex); - - /** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=collection.length-1] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ - var findLast = createFind(findLastIndex); - - /** - * Creates a flattened array of values by running each element in `collection` - * thru `iteratee` and flattening the mapped results. The iteratee is invoked - * with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [n, n]; - * } - * - * _.flatMap([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - function flatMap(collection, iteratee) { - return baseFlatten(map(collection, iteratee), 1); - } - - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDeep([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - function flatMapDeep(collection, iteratee) { - return baseFlatten(map(collection, iteratee), INFINITY); - } - - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDepth([1, 2], duplicate, 2); - * // => [[1, 1], [2, 2]] - */ - function flatMapDepth(collection, iteratee, depth) { - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(map(collection, iteratee), depth); - } - - /** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forEach(collection, iteratee) { - var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @alias eachRight - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEach - * @example - * - * _.forEachRight([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `2` then `1`. - */ - function forEachRight(collection, iteratee) { - var func = isArray(collection) ? arrayEachRight : baseEachRight; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The order of grouped values - * is determined by the order they occur in `collection`. The corresponding - * value of each key is an array of elements responsible for generating the - * key. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': [4.2], '6': [6.1, 6.3] } - * - * // The `_.property` iteratee shorthand. - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - baseAssignValue(result, key, [value]); - } - }); - - /** - * Checks if `value` is in `collection`. If `collection` is a string, it's - * checked for a substring of `value`, otherwise - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * is used for equality comparisons. If `fromIndex` is negative, it's used as - * the offset from the end of `collection`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {boolean} Returns `true` if `value` is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'a': 1, 'b': 2 }, 1); - * // => true - * - * _.includes('abcd', 'bc'); - * // => true - */ - function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values(collection); - fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; - - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax(length + fromIndex, 0); - } - return isString(collection) - ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) - : (!!length && baseIndexOf(collection, value, fromIndex) > -1); - } - - /** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `path` is a function, it's invoked - * for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke each method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invokeMap([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ - var invokeMap = baseRest(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value) { - result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); - }); - return result; - }); - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the last element responsible for generating the key. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var array = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.keyBy(array, function(o) { - * return String.fromCharCode(o.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.keyBy(array, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - */ - var keyBy = createAggregator(function(result, value, key) { - baseAssignValue(result, key, value); - }); - - /** - * Creates an array of values by running each element in `collection` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, - * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, - * `template`, `trim`, `trimEnd`, `trimStart`, and `words` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - * @example - * - * function square(n) { - * return n * n; - * } - * - * _.map([4, 8], square); - * // => [16, 64] - * - * _.map({ 'a': 4, 'b': 8 }, square); - * // => [16, 64] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // The `_.property` iteratee shorthand. - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ - function map(collection, iteratee) { - var func = isArray(collection) ? arrayMap : baseMap; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.sortBy` except that it allows specifying the sort - * orders of the iteratees to sort by. If `orders` is unspecified, all values - * are sorted in ascending order. Otherwise, specify an order of "desc" for - * descending or "asc" for ascending sort order of corresponding values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] - * The iteratees to sort by. - * @param {string[]} [orders] The sort orders of `iteratees`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 34 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 36 } - * ]; - * - * // Sort by `user` in ascending order and by `age` in descending order. - * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - */ - function orderBy(collection, iteratees, orders, guard) { - if (collection == null) { - return []; - } - if (!isArray(iteratees)) { - iteratees = iteratees == null ? [] : [iteratees]; - } - orders = guard ? undefined : orders; - if (!isArray(orders)) { - orders = orders == null ? [] : [orders]; - } - return baseOrderBy(collection, iteratees, orders); - } - - /** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, the second of which - * contains elements `predicate` returns falsey for. The predicate is - * invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * _.partition(users, function(o) { return o.active; }); - * // => objects for [['fred'], ['barney', 'pebbles']] - * - * // The `_.matches` iteratee shorthand. - * _.partition(users, { 'age': 1, 'active': false }); - * // => objects for [['pebbles'], ['barney', 'fred']] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.partition(users, ['active', false]); - * // => objects for [['barney', 'pebbles'], ['fred']] - * - * // The `_.property` iteratee shorthand. - * _.partition(users, 'active'); - * // => objects for [['fred'], ['barney', 'pebbles']] - */ - var partition = createAggregator(function(result, value, key) { - result[key ? 0 : 1].push(value); - }, function() { return [[], []]; }); - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` thru `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not given, the first element of `collection` is used as the initial - * value. The iteratee is invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, - * and `sortBy` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduceRight - * @example - * - * _.reduce([1, 2], function(sum, n) { - * return sum + n; - * }, 0); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * return result; - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) - */ - function reduce(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduce : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); - } - - /** - * This method is like `_.reduce` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduce - * @example - * - * var array = [[0, 1], [2, 3], [4, 5]]; - * - * _.reduceRight(array, function(flattened, other) { - * return flattened.concat(other); - * }, []); - * // => [4, 5, 2, 3, 0, 1] - */ - function reduceRight(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduceRight : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); - } - - /** - * The opposite of `_.filter`; this method returns the elements of `collection` - * that `predicate` does **not** return truthy for. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.filter - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true } - * ]; - * - * _.reject(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.reject(users, { 'age': 40, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.reject(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.reject(users, 'active'); - * // => objects for ['barney'] - */ - function reject(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, negate(getIteratee(predicate, 3))); - } - - /** - * Gets a random element from `collection`. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - * @example - * - * _.sample([1, 2, 3, 4]); - * // => 2 - */ - function sample(collection) { - var func = isArray(collection) ? arraySample : baseSample; - return func(collection); - } - - /** - * Gets `n` random elements at unique keys from `collection` up to the - * size of `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to sample. - * @param {number} [n=1] The number of elements to sample. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the random elements. - * @example - * - * _.sampleSize([1, 2, 3], 2); - * // => [3, 1] - * - * _.sampleSize([1, 2, 3], 4); - * // => [2, 3, 1] - */ - function sampleSize(collection, n, guard) { - if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { - n = 1; - } else { - n = toInteger(n); - } - var func = isArray(collection) ? arraySampleSize : baseSampleSize; - return func(collection, n); - } - - /** - * Creates an array of shuffled values, using a version of the - * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - * @example - * - * _.shuffle([1, 2, 3, 4]); - * // => [4, 1, 3, 2] - */ - function shuffle(collection) { - var func = isArray(collection) ? arrayShuffle : baseShuffle; - return func(collection); - } - - /** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable string keyed properties for objects. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the collection size. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - if (collection == null) { - return 0; - } - if (isArrayLike(collection)) { - return isString(collection) ? stringSize(collection) : collection.length; - } - var tag = getTag(collection); - if (tag == mapTag || tag == setTag) { - return collection.size; - } - return baseKeys(collection).length; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * Iteration is stopped once `predicate` returns truthy. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.some(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, guard) { - var func = isArray(collection) ? arraySome : baseSome; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection thru each iteratee. This method - * performs a stable sort, that is, it preserves the original sort order of - * equal elements. The iteratees are invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {...(Function|Function[])} [iteratees=[_.identity]] - * The iteratees to sort by. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - * - * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] - */ - var sortBy = baseRest(function(collection, iteratees) { - if (collection == null) { - return []; - } - var length = iteratees.length; - if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { - iteratees = []; - } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { - iteratees = [iteratees[0]]; - } - return baseOrderBy(collection, baseFlatten(iteratees, 1), []); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ - var now = ctxNow || function() { - return root.Date.now(); - }; - - /*------------------------------------------------------------------------*/ - - /** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it's called `n` or more times. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => Logs 'done saving!' after the two async saves have completed. - */ - function after(n, func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; - } - - /** - * Creates a function that invokes `func`, with up to `n` arguments, - * ignoring any additional arguments. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ - function ary(func, n, guard) { - n = guard ? undefined : n; - n = (func && n == null) ? func.length : n; - return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); - } - - /** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery(element).on('click', _.before(5, addContactToList)); - * // => Allows adding up to 4 contacts to the list. - */ - function before(n, func) { - var result; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and `partials` prepended to the arguments it receives. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * function greet(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // Bound with placeholders. - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ - var bind = baseRest(function(func, thisArg, partials) { - var bitmask = WRAP_BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bind)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(func, bitmask, thisArg, partials, holders); - }); - - /** - * Creates a function that invokes the method at `object[key]` with `partials` - * prepended to the arguments it receives. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. See - * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Function - * @param {Object} object The object to invoke the method on. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // Bound with placeholders. - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ - var bindKey = baseRest(function(object, key, partials) { - var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bindKey)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(key, bitmask, object, partials, holders); - }); - - /** - * Creates a function that accepts arguments of `func` and either invokes - * `func` returning its result, if at least `arity` number of arguments have - * been provided, or returns a function that accepts the remaining `func` - * arguments, and so on. The arity of `func` may be specified if `func.length` - * is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ - function curry(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curry.placeholder; - return result; - } - - /** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ - function curryRight(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curryRight.placeholder; - return result; - } - - /** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ - function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - timeWaiting = wait - timeSinceLastCall; - - return maxing - ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) - : timeWaiting; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; - } - - /** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // => Logs 'deferred' after one millisecond. - */ - var defer = baseRest(function(func, args) { - return baseDelay(func, 1, args); - }); - - /** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => Logs 'later' after one second. - */ - var delay = baseRest(function(func, wait, args) { - return baseDelay(func, toNumber(wait) || 0, args); - }); - - /** - * Creates a function that invokes `func` with arguments reversed. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to flip arguments for. - * @returns {Function} Returns the new flipped function. - * @example - * - * var flipped = _.flip(function() { - * return _.toArray(arguments); - * }); - * - * flipped('a', 'b', 'c', 'd'); - * // => ['d', 'c', 'b', 'a'] - */ - function flip(func) { - return createWrap(func, WRAP_FLIP_FLAG); - } - - /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] - * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; - */ - function memoize(func, resolver) { - if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - memoized.cache = new (memoize.Cache || MapCache); - return memoized; - } - - // Expose `MapCache`. - memoize.Cache = MapCache; - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new negated function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - var args = arguments; - switch (args.length) { - case 0: return !predicate.call(this); - case 1: return !predicate.call(this, args[0]); - case 2: return !predicate.call(this, args[0], args[1]); - case 3: return !predicate.call(this, args[0], args[1], args[2]); - } - return !predicate.apply(this, args); - }; - } - - /** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first invocation. The `func` is - * invoked with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // => `createApplication` is invoked once - */ - function once(func) { - return before(2, func); - } - - /** - * Creates a function that invokes `func` with its arguments transformed. - * - * @static - * @since 4.0.0 - * @memberOf _ - * @category Function - * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms=[_.identity]] - * The argument transforms. - * @returns {Function} Returns the new function. - * @example - * - * function doubled(n) { - * return n * 2; - * } - * - * function square(n) { - * return n * n; - * } - * - * var func = _.overArgs(function(x, y) { - * return [x, y]; - * }, [square, doubled]); - * - * func(9, 3); - * // => [81, 6] - * - * func(10, 5); - * // => [100, 10] - */ - var overArgs = castRest(function(func, transforms) { - transforms = (transforms.length == 1 && isArray(transforms[0])) - ? arrayMap(transforms[0], baseUnary(getIteratee())) - : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); - - var funcsLength = transforms.length; - return baseRest(function(args) { - var index = -1, - length = nativeMin(args.length, funcsLength); - - while (++index < length) { - args[index] = transforms[index].call(this, args[index]); - } - return apply(func, this, args); - }); - }); - - /** - * Creates a function that invokes `func` with `partials` prepended to the - * arguments it receives. This method is like `_.bind` except it does **not** - * alter the `this` binding. - * - * The `_.partial.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method doesn't set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @since 0.2.0 - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * function greet(greeting, name) { - * return greeting + ' ' + name; - * } - * - * var sayHelloTo = _.partial(greet, 'hello'); - * sayHelloTo('fred'); - * // => 'hello fred' - * - * // Partially applied with placeholders. - * var greetFred = _.partial(greet, _, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - */ - var partial = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partial)); - return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); - }); - - /** - * This method is like `_.partial` except that partially applied arguments - * are appended to the arguments it receives. - * - * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method doesn't set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * function greet(greeting, name) { - * return greeting + ' ' + name; - * } - * - * var greetFred = _.partialRight(greet, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - * - * // Partially applied with placeholders. - * var sayHelloTo = _.partialRight(greet, 'hello', _); - * sayHelloTo('fred'); - * // => 'hello fred' - */ - var partialRight = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partialRight)); - return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); - }); - - /** - * Creates a function that invokes `func` with arguments arranged according - * to the specified `indexes` where the argument value at the first index is - * provided as the first argument, the argument value at the second index is - * provided as the second argument, and so on. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes. - * @returns {Function} Returns the new function. - * @example - * - * var rearged = _.rearg(function(a, b, c) { - * return [a, b, c]; - * }, [2, 0, 1]); - * - * rearged('b', 'c', 'a') - * // => ['a', 'b', 'c'] - */ - var rearg = flatRest(function(func, indexes) { - return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); - }); - - /** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as - * an array. - * - * **Note:** This method is based on the - * [rest parameter](https://mdn.io/rest_parameters). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.rest(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ - function rest(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = start === undefined ? start : toInteger(start); - return baseRest(func, start); - } - - /** - * Creates a function that invokes `func` with the `this` binding of the - * create function and an array of arguments much like - * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). - * - * **Note:** This method is based on the - * [spread operator](https://mdn.io/spread_operator). - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Function - * @param {Function} func The function to spread arguments over. - * @param {number} [start=0] The start position of the spread. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.spread(function(who, what) { - * return who + ' says ' + what; - * }); - * - * say(['fred', 'hello']); - * // => 'fred says hello' - * - * var numbers = Promise.all([ - * Promise.resolve(40), - * Promise.resolve(36) - * ]); - * - * numbers.then(_.spread(function(x, y) { - * return x + y; - * })); - * // => a Promise of 76 - */ - function spread(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = start == null ? 0 : nativeMax(toInteger(start), 0); - return baseRest(function(args) { - var array = args[start], - otherArgs = castSlice(args, 0, start); - - if (array) { - arrayPush(otherArgs, array); - } - return apply(func, this, otherArgs); - }); - } - - /** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed `func` invocations and a `flush` method to - * immediately invoke them. Provide `options` to indicate whether `func` - * should be invoked on the leading and/or trailing edge of the `wait` - * timeout. The `func` is invoked with the last arguments provided to the - * throttled function. Subsequent calls to the throttled function return the - * result of the last `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the throttled function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=true] - * Specify invoking on the leading edge of the timeout. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // Avoid excessively updating the position while scrolling. - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. - * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); - * jQuery(element).on('click', throttled); - * - * // Cancel the trailing throttled invocation. - * jQuery(window).on('popstate', throttled.cancel); - */ - function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - 'leading': leading, - 'maxWait': wait, - 'trailing': trailing - }); - } - - /** - * Creates a function that accepts up to one argument, ignoring any - * additional arguments. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.unary(parseInt)); - * // => [6, 8, 10] - */ - function unary(func) { - return ary(func, 1); - } - - /** - * Creates a function that provides `value` to `wrapper` as its first - * argument. Any additional arguments provided to the function are appended - * to those provided to the `wrapper`. The wrapper is invoked with the `this` - * binding of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {*} value The value to wrap. - * @param {Function} [wrapper=identity] The wrapper function. - * @returns {Function} Returns the new function. - * @example - * - * var p = _.wrap(_.escape, function(func, text) { - * return '

' + func(text) + '

'; - * }); - * - * p('fred, barney, & pebbles'); - * // => '

fred, barney, & pebbles

' - */ - function wrap(value, wrapper) { - return partial(castFunction(wrapper), value); - } - - /*------------------------------------------------------------------------*/ - - /** - * Casts `value` as an array if it's not one. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Lang - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast array. - * @example - * - * _.castArray(1); - * // => [1] - * - * _.castArray({ 'a': 1 }); - * // => [{ 'a': 1 }] - * - * _.castArray('abc'); - * // => ['abc'] - * - * _.castArray(null); - * // => [null] - * - * _.castArray(undefined); - * // => [undefined] - * - * _.castArray(); - * // => [] - * - * var array = [1, 2, 3]; - * console.log(_.castArray(array) === array); - * // => true - */ - function castArray() { - if (!arguments.length) { - return []; - } - var value = arguments[0]; - return isArray(value) ? value : [value]; - } - - /** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */ - function clone(value) { - return baseClone(value, CLONE_SYMBOLS_FLAG); - } - - /** - * This method is like `_.clone` except that it accepts `customizer` which - * is invoked to produce the cloned value. If `customizer` returns `undefined`, - * cloning is handled by the method instead. The `customizer` is invoked with - * up to four arguments; (value [, index|key, object, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the cloned value. - * @see _.cloneDeepWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(false); - * } - * } - * - * var el = _.cloneWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 0 - */ - function cloneWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); - } - - /** - * This method is like `_.clone` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @returns {*} Returns the deep cloned value. - * @see _.clone - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var deep = _.cloneDeep(objects); - * console.log(deep[0] === objects[0]); - * // => false - */ - function cloneDeep(value) { - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); - } - - /** - * This method is like `_.cloneWith` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the deep cloned value. - * @see _.cloneWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * } - * - * var el = _.cloneDeepWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 20 - */ - function cloneDeepWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); - } - - /** - * Checks if `object` conforms to `source` by invoking the predicate - * properties of `source` with the corresponding property values of `object`. - * - * **Note:** This method is equivalent to `_.conforms` when `source` is - * partially applied. - * - * @static - * @memberOf _ - * @since 4.14.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); - * // => true - * - * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); - * // => false - */ - function conformsTo(object, source) { - return source == null || baseConformsTo(object, source, keys(source)); - } - - /** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ - function eq(value, other) { - return value === other || (value !== value && other !== other); - } - - /** - * Checks if `value` is greater than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - * @see _.lt - * @example - * - * _.gt(3, 1); - * // => true - * - * _.gt(3, 3); - * // => false - * - * _.gt(1, 3); - * // => false - */ - var gt = createRelationalOperation(baseGt); - - /** - * Checks if `value` is greater than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than or equal to - * `other`, else `false`. - * @see _.lte - * @example - * - * _.gte(3, 1); - * // => true - * - * _.gte(3, 3); - * // => true - * - * _.gte(1, 3); - * // => false - */ - var gte = createRelationalOperation(function(value, other) { - return value >= other; - }); - - /** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); - }; - - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ - var isArray = Array.isArray; - - /** - * Checks if `value` is classified as an `ArrayBuffer` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - * @example - * - * _.isArrayBuffer(new ArrayBuffer(2)); - * // => true - * - * _.isArrayBuffer(new Array(2)); - * // => false - */ - var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; - - /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); - } - - /** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ - function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); - } - - /** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return value === true || value === false || - (isObjectLike(value) && baseGetTag(value) == boolTag); - } - - /** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ - var isBuffer = nativeIsBuffer || stubFalse; - - /** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ - var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; - - /** - * Checks if `value` is likely a DOM element. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - * - * _.isElement(''); - * // => false - */ - function isElement(value) { - return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); - } - - /** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || - isBuffer(value) || isTypedArray(value) || isArguments(value))) { - return !value.length; - } - var tag = getTag(value); - if (tag == mapTag || tag == setTag) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; - } - for (var key in value) { - if (hasOwnProperty.call(value, key)) { - return false; - } - } - return true; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ - function isEqual(value, other) { - return baseIsEqual(value, other); - } - - /** - * This method is like `_.isEqual` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with up to - * six arguments: (objValue, othValue [, index|key, object, other, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, othValue) { - * if (isGreeting(objValue) && isGreeting(othValue)) { - * return true; - * } - * } - * - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqualWith(array, other, customizer); - * // => true - */ - function isEqualWith(value, other, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - var result = customizer ? customizer(value, other) : undefined; - return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; - } - - /** - * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, - * `SyntaxError`, `TypeError`, or `URIError` object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an error object, else `false`. - * @example - * - * _.isError(new Error); - * // => true - * - * _.isError(Error); - * // => false - */ - function isError(value) { - if (!isObjectLike(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == errorTag || tag == domExcTag || - (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); - } - - /** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on - * [`Number.isFinite`](https://mdn.io/Number/isFinite). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(3); - * // => true - * - * _.isFinite(Number.MIN_VALUE); - * // => true - * - * _.isFinite(Infinity); - * // => false - * - * _.isFinite('3'); - * // => false - */ - function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); - } - - /** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; - } - - /** - * Checks if `value` is an integer. - * - * **Note:** This method is based on - * [`Number.isInteger`](https://mdn.io/Number/isInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an integer, else `false`. - * @example - * - * _.isInteger(3); - * // => true - * - * _.isInteger(Number.MIN_VALUE); - * // => false - * - * _.isInteger(Infinity); - * // => false - * - * _.isInteger('3'); - * // => false - */ - function isInteger(value) { - return typeof value == 'number' && value == toInteger(value); - } - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ - function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); - } - - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - function isObjectLike(value) { - return value != null && typeof value == 'object'; - } - - /** - * Checks if `value` is classified as a `Map` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - * @example - * - * _.isMap(new Map); - * // => true - * - * _.isMap(new WeakMap); - * // => false - */ - var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; - - /** - * Performs a partial deep comparison between `object` and `source` to - * determine if `object` contains equivalent property values. - * - * **Note:** This method is equivalent to `_.matches` when `source` is - * partially applied. - * - * Partial comparisons will match empty array and empty object `source` - * values against any array or object value, respectively. See `_.isEqual` - * for a list of supported value comparisons. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.isMatch(object, { 'b': 2 }); - * // => true - * - * _.isMatch(object, { 'b': 1 }); - * // => false - */ - function isMatch(object, source) { - return object === source || baseIsMatch(object, source, getMatchData(source)); - } - - /** - * This method is like `_.isMatch` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with five - * arguments: (objValue, srcValue, index|key, object, source). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, srcValue) { - * if (isGreeting(objValue) && isGreeting(srcValue)) { - * return true; - * } - * } - * - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatchWith(object, source, customizer); - * // => true - */ - function isMatchWith(object, source, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseIsMatch(object, source, getMatchData(source), customizer); - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; - } - - /** - * Checks if `value` is a pristine native function. - * - * **Note:** This method can't reliably detect native functions in the presence - * of the core-js package because core-js circumvents this kind of detection. - * Despite multiple requests, the core-js maintainer has made it clear: any - * attempt to fix the detection will be obstructed. As a result, we're left - * with little choice but to throw an error. Unfortunately, this also affects - * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), - * which rely on core-js. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ - function isNative(value) { - if (isMaskable(value)) { - throw new Error(CORE_ERROR_TEXT); - } - return baseIsNative(value); - } - - /** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is `null` or `undefined`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is nullish, else `false`. - * @example - * - * _.isNil(null); - * // => true - * - * _.isNil(void 0); - * // => true - * - * _.isNil(NaN); - * // => false - */ - function isNil(value) { - return value == null; - } - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ - function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag); - } - - /** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ - function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; - } - - /** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ - var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; - - /** - * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 - * double precision number which isn't the result of a rounded unsafe integer. - * - * **Note:** This method is based on - * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. - * @example - * - * _.isSafeInteger(3); - * // => true - * - * _.isSafeInteger(Number.MIN_VALUE); - * // => false - * - * _.isSafeInteger(Infinity); - * // => false - * - * _.isSafeInteger('3'); - * // => false - */ - function isSafeInteger(value) { - return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is classified as a `Set` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - * @example - * - * _.isSet(new Set); - * // => true - * - * _.isSet(new WeakSet); - * // => false - */ - var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); - } - - /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); - } - - /** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ - var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - - /** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Checks if `value` is classified as a `WeakMap` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. - * @example - * - * _.isWeakMap(new WeakMap); - * // => true - * - * _.isWeakMap(new Map); - * // => false - */ - function isWeakMap(value) { - return isObjectLike(value) && getTag(value) == weakMapTag; - } - - /** - * Checks if `value` is classified as a `WeakSet` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. - * @example - * - * _.isWeakSet(new WeakSet); - * // => true - * - * _.isWeakSet(new Set); - * // => false - */ - function isWeakSet(value) { - return isObjectLike(value) && baseGetTag(value) == weakSetTag; - } - - /** - * Checks if `value` is less than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - * @see _.gt - * @example - * - * _.lt(1, 3); - * // => true - * - * _.lt(3, 3); - * // => false - * - * _.lt(3, 1); - * // => false - */ - var lt = createRelationalOperation(baseLt); - - /** - * Checks if `value` is less than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than or equal to - * `other`, else `false`. - * @see _.gte - * @example - * - * _.lte(1, 3); - * // => true - * - * _.lte(3, 3); - * // => true - * - * _.lte(3, 1); - * // => false - */ - var lte = createRelationalOperation(function(value, other) { - return value <= other; - }); - - /** - * Converts `value` to an array. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Array} Returns the converted array. - * @example - * - * _.toArray({ 'a': 1, 'b': 2 }); - * // => [1, 2] - * - * _.toArray('abc'); - * // => ['a', 'b', 'c'] - * - * _.toArray(1); - * // => [] - * - * _.toArray(null); - * // => [] - */ - function toArray(value) { - if (!value) { - return []; - } - if (isArrayLike(value)) { - return isString(value) ? stringToArray(value) : copyArray(value); - } - if (symIterator && value[symIterator]) { - return iteratorToArray(value[symIterator]()); - } - var tag = getTag(value), - func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); - - return func(value); - } - - /** - * Converts `value` to a finite number. - * - * @static - * @memberOf _ - * @since 4.12.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 - */ - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = (value < 0 ? -1 : 1); - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - - /** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 - */ - function toInteger(value) { - var result = toFinite(value), - remainder = result % 1; - - return result === result ? (remainder ? result - remainder : result) : 0; - } - - /** - * Converts `value` to an integer suitable for use as the length of an - * array-like object. - * - * **Note:** This method is based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toLength(3.2); - * // => 3 - * - * _.toLength(Number.MIN_VALUE); - * // => 0 - * - * _.toLength(Infinity); - * // => 4294967295 - * - * _.toLength('3.2'); - * // => 3 - */ - function toLength(value) { - return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; - } - - /** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - function toNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? (other + '') : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ''); - var isBinary = reIsBinary.test(value); - return (isBinary || reIsOctal.test(value)) - ? freeParseInt(value.slice(2), isBinary ? 2 : 8) - : (reIsBadHex.test(value) ? NAN : +value); - } - - /** - * Converts `value` to a plain object flattening inherited enumerable string - * keyed properties of `value` to own properties of the plain object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {Object} Returns the converted plain object. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.assign({ 'a': 1 }, new Foo); - * // => { 'a': 1, 'b': 2 } - * - * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); - * // => { 'a': 1, 'b': 2, 'c': 3 } - */ - function toPlainObject(value) { - return copyObject(value, keysIn(value)); - } - - /** - * Converts `value` to a safe integer. A safe integer can be compared and - * represented correctly. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toSafeInteger(3.2); - * // => 3 - * - * _.toSafeInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toSafeInteger(Infinity); - * // => 9007199254740991 - * - * _.toSafeInteger('3.2'); - * // => 3 - */ - function toSafeInteger(value) { - return value - ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) - : (value === 0 ? value : 0); - } - - /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - function toString(value) { - return value == null ? '' : baseToString(value); - } - - /*------------------------------------------------------------------------*/ - - /** - * Assigns own enumerable string keyed properties of source objects to the - * destination object. Source objects are applied from left to right. - * Subsequent sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assignIn - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ - var assign = createAssigner(function(object, source) { - if (isPrototype(source) || isArrayLike(source)) { - copyObject(source, keys(source), object); - return; - } - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - assignValue(object, key, source[key]); - } - } - }); - - /** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assign - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assignIn({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } - */ - var assignIn = createAssigner(function(object, source) { - copyObject(source, keysIn(source), object); - }); - - /** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); - }); - - /** - * This method is like `_.assign` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignInWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keys(source), object, customizer); - }); - - /** - * Creates an array of values corresponding to `paths` of `object`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Array} Returns the picked values. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _.at(object, ['a[0].b.c', 'a[1]']); - * // => [3, 4] - */ - var at = flatRest(baseAt); - - /** - * Creates an object that inherits from the `prototype` object. If a - * `properties` object is given, its own enumerable string keyed properties - * are assigned to the created object. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ - function create(prototype, properties) { - var result = baseCreate(prototype); - return properties == null ? result : baseAssign(result, properties); - } - - /** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var defaults = baseRest(function(object, sources) { - object = Object(object); - - var index = -1; - var length = sources.length; - var guard = length > 2 ? sources[2] : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - length = 1; - } - - while (++index < length) { - var source = sources[index]; - var props = keysIn(source); - var propsIndex = -1; - var propsLength = props.length; - - while (++propsIndex < propsLength) { - var key = props[propsIndex]; - var value = object[key]; - - if (value === undefined || - (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { - object[key] = source[key]; - } - } - } - - return object; - }); - - /** - * This method is like `_.defaults` except that it recursively assigns - * default properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaults - * @example - * - * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); - * // => { 'a': { 'b': 2, 'c': 3 } } - */ - var defaultsDeep = baseRest(function(args) { - args.push(undefined, customDefaultsMerge); - return apply(mergeWith, undefined, args); - }); - - /** - * This method is like `_.find` except that it returns the key of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findKey(users, function(o) { return o.age < 40; }); - * // => 'barney' (iteration order is not guaranteed) - * - * // The `_.matches` iteratee shorthand. - * _.findKey(users, { 'age': 1, 'active': true }); - * // => 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findKey(users, 'active'); - * // => 'barney' - */ - function findKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); - } - - /** - * This method is like `_.findKey` except that it iterates over elements of - * a collection in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findLastKey(users, function(o) { return o.age < 40; }); - * // => returns 'pebbles' assuming `_.findKey` returns 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.findLastKey(users, { 'age': 36, 'active': true }); - * // => 'barney' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findLastKey(users, 'active'); - * // => 'pebbles' - */ - function findLastKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); - } - - /** - * Iterates over own and inherited enumerable string keyed properties of an - * object and invokes `iteratee` for each property. The iteratee is invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forInRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). - */ - function forIn(object, iteratee) { - return object == null - ? object - : baseFor(object, getIteratee(iteratee, 3), keysIn); - } - - /** - * This method is like `_.forIn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forIn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forInRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. - */ - function forInRight(object, iteratee) { - return object == null - ? object - : baseForRight(object, getIteratee(iteratee, 3), keysIn); - } - - /** - * Iterates over own enumerable string keyed properties of an object and - * invokes `iteratee` for each property. The iteratee is invoked with three - * arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwnRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forOwn(object, iteratee) { - return object && baseForOwn(object, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.forOwn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwnRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. - */ - function forOwnRight(object, iteratee) { - return object && baseForOwnRight(object, getIteratee(iteratee, 3)); - } - - /** - * Creates an array of function property names from own enumerable properties - * of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functionsIn - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functions(new Foo); - * // => ['a', 'b'] - */ - function functions(object) { - return object == null ? [] : baseFunctions(object, keys(object)); - } - - /** - * Creates an array of function property names from own and inherited - * enumerable properties of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functions - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functionsIn(new Foo); - * // => ['a', 'b', 'c'] - */ - function functionsIn(object) { - return object == null ? [] : baseFunctions(object, keysIn(object)); - } - - /** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ - function get(object, path, defaultValue) { - var result = object == null ? undefined : baseGet(object, path); - return result === undefined ? defaultValue : result; - } - - /** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ - function has(object, path) { - return object != null && hasPath(object, path, baseHas); - } - - /** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ - function hasIn(object, path) { - return object != null && hasPath(object, path, baseHasIn); - } - - /** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite - * property assignments of previous values. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Object - * @param {Object} object The object to invert. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - */ - var invert = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString.call(value); - } - - result[value] = key; - }, constant(identity)); - - /** - * This method is like `_.invert` except that the inverted object is generated - * from the results of running each element of `object` thru `iteratee`. The - * corresponding inverted value of each inverted key is an array of keys - * responsible for generating the inverted value. The iteratee is invoked - * with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Object - * @param {Object} object The object to invert. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invertBy(object); - * // => { '1': ['a', 'c'], '2': ['b'] } - * - * _.invertBy(object, function(value) { - * return 'group' + value; - * }); - * // => { 'group1': ['a', 'c'], 'group2': ['b'] } - */ - var invertBy = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString.call(value); - } - - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - }, getIteratee); - - /** - * Invokes the method at `path` of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - * @example - * - * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; - * - * _.invoke(object, 'a[0].b.c.slice', 1, 3); - * // => [2, 3] - */ - var invoke = baseRest(baseInvoke); - - /** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); - } - - /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ - function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); - } - - /** - * The opposite of `_.mapValues`; this method creates an object with the - * same values as `object` and keys generated by running each own enumerable - * string keyed property of `object` thru `iteratee`. The iteratee is invoked - * with three arguments: (value, key, object). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapValues - * @example - * - * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { - * return key + value; - * }); - * // => { 'a1': 1, 'b2': 2 } - */ - function mapKeys(object, iteratee) { - var result = {}; - iteratee = getIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, iteratee(value, key, object), value); - }); - return result; - } - - /** - * Creates an object with the same keys as `object` and values generated - * by running each own enumerable string keyed property of `object` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, key, object). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapKeys - * @example - * - * var users = { - * 'fred': { 'user': 'fred', 'age': 40 }, - * 'pebbles': { 'user': 'pebbles', 'age': 1 } - * }; - * - * _.mapValues(users, function(o) { return o.age; }); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - * - * // The `_.property` iteratee shorthand. - * _.mapValues(users, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - */ - function mapValues(object, iteratee) { - var result = {}; - iteratee = getIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, key, iteratee(value, key, object)); - }); - return result; - } - - /** - * This method is like `_.assign` except that it recursively merges own and - * inherited enumerable string keyed properties of source objects into the - * destination object. Source properties that resolve to `undefined` are - * skipped if a destination value exists. Array and plain object properties - * are merged recursively. Other objects and value types are overridden by - * assignment. Source objects are applied from left to right. Subsequent - * sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * var object = { - * 'a': [{ 'b': 2 }, { 'd': 4 }] - * }; - * - * var other = { - * 'a': [{ 'c': 3 }, { 'e': 5 }] - * }; - * - * _.merge(object, other); - * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } - */ - var merge = createAssigner(function(object, source, srcIndex) { - baseMerge(object, source, srcIndex); - }); - - /** - * This method is like `_.merge` except that it accepts `customizer` which - * is invoked to produce the merged values of the destination and source - * properties. If `customizer` returns `undefined`, merging is handled by the - * method instead. The `customizer` is invoked with six arguments: - * (objValue, srcValue, key, object, source, stack). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} customizer The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * function customizer(objValue, srcValue) { - * if (_.isArray(objValue)) { - * return objValue.concat(srcValue); - * } - * } - * - * var object = { 'a': [1], 'b': [2] }; - * var other = { 'a': [3], 'b': [4] }; - * - * _.mergeWith(object, other, customizer); - * // => { 'a': [1, 3], 'b': [2, 4] } - */ - var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { - baseMerge(object, source, srcIndex, customizer); - }); - - /** - * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable property paths of `object` that are not omitted. - * - * **Note:** This method is considerably slower than `_.pick`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to omit. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omit(object, ['a', 'c']); - * // => { 'b': '2' } - */ - var omit = flatRest(function(object, paths) { - var result = {}; - if (object == null) { - return result; - } - var isDeep = false; - paths = arrayMap(paths, function(path) { - path = castPath(path, object); - isDeep || (isDeep = path.length > 1); - return path; - }); - copyObject(object, getAllKeysIn(object), result); - if (isDeep) { - result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); - } - var length = paths.length; - while (length--) { - baseUnset(result, paths[length]); - } - return result; - }); - - /** - * The opposite of `_.pickBy`; this method creates an object composed of - * the own and inherited enumerable string keyed properties of `object` that - * `predicate` doesn't return truthy for. The predicate is invoked with two - * arguments: (value, key). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The source object. - * @param {Function} [predicate=_.identity] The function invoked per property. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omitBy(object, _.isNumber); - * // => { 'b': '2' } - */ - function omitBy(object, predicate) { - return pickBy(object, negate(getIteratee(predicate))); - } - - /** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - var pick = flatRest(function(object, paths) { - return object == null ? {} : basePick(object, paths); - }); - - /** - * Creates an object composed of the `object` properties `predicate` returns - * truthy for. The predicate is invoked with two arguments: (value, key). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The source object. - * @param {Function} [predicate=_.identity] The function invoked per property. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pickBy(object, _.isNumber); - * // => { 'a': 1, 'c': 3 } - */ - function pickBy(object, predicate) { - if (object == null) { - return {}; - } - var props = arrayMap(getAllKeysIn(object), function(prop) { - return [prop]; - }); - predicate = getIteratee(predicate); - return basePickBy(object, props, function(value, path) { - return predicate(value, path[0]); - }); - } - - /** - * This method is like `_.get` except that if the resolved value is a - * function it's invoked with the `this` binding of its parent object and - * its result is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to resolve. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; - * - * _.result(object, 'a[0].b.c1'); - * // => 3 - * - * _.result(object, 'a[0].b.c2'); - * // => 4 - * - * _.result(object, 'a[0].b.c3', 'default'); - * // => 'default' - * - * _.result(object, 'a[0].b.c3', _.constant('default')); - * // => 'default' - */ - function result(object, path, defaultValue) { - path = castPath(path, object); - - var index = -1, - length = path.length; - - // Ensure the loop is entered when path is empty. - if (!length) { - length = 1; - object = undefined; - } - while (++index < length) { - var value = object == null ? undefined : object[toKey(path[index])]; - if (value === undefined) { - index = length; - value = defaultValue; - } - object = isFunction(value) ? value.call(object) : value; - } - return object; - } - - /** - * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, - * it's created. Arrays are created for missing index properties while objects - * are created for all other missing properties. Use `_.setWith` to customize - * `path` creation. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.set(object, 'a[0].b.c', 4); - * console.log(object.a[0].b.c); - * // => 4 - * - * _.set(object, ['x', '0', 'y', 'z'], 5); - * console.log(object.x[0].y.z); - * // => 5 - */ - function set(object, path, value) { - return object == null ? object : baseSet(object, path, value); - } - - /** - * This method is like `_.set` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * var object = {}; - * - * _.setWith(object, '[0][1]', 'a', Object); - * // => { '0': { '1': 'a' } } - */ - function setWith(object, path, value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseSet(object, path, value, customizer); - } - - /** - * Creates an array of own enumerable string keyed-value pairs for `object` - * which can be consumed by `_.fromPairs`. If `object` is a map or set, its - * entries are returned. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias entries - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.toPairs(new Foo); - * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) - */ - var toPairs = createToPairs(keys); - - /** - * Creates an array of own and inherited enumerable string keyed-value pairs - * for `object` which can be consumed by `_.fromPairs`. If `object` is a map - * or set, its entries are returned. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias entriesIn - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.toPairsIn(new Foo); - * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) - */ - var toPairsIn = createToPairs(keysIn); - - /** - * An alternative to `_.reduce`; this method transforms `object` to a new - * `accumulator` object which is the result of running each of its own - * enumerable string keyed properties thru `iteratee`, with each invocation - * potentially mutating the `accumulator` object. If `accumulator` is not - * provided, a new object with the same `[[Prototype]]` will be used. The - * iteratee is invoked with four arguments: (accumulator, value, key, object). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The custom accumulator value. - * @returns {*} Returns the accumulated value. - * @example - * - * _.transform([2, 3, 4], function(result, n) { - * result.push(n *= n); - * return n % 2 == 0; - * }, []); - * // => [4, 9] - * - * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } - */ - function transform(object, iteratee, accumulator) { - var isArr = isArray(object), - isArrLike = isArr || isBuffer(object) || isTypedArray(object); - - iteratee = getIteratee(iteratee, 4); - if (accumulator == null) { - var Ctor = object && object.constructor; - if (isArrLike) { - accumulator = isArr ? new Ctor : []; - } - else if (isObject(object)) { - accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; - } - else { - accumulator = {}; - } - } - (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { - return iteratee(accumulator, value, index, object); - }); - return accumulator; - } - - /** - * Removes the property at `path` of `object`. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 7 } }] }; - * _.unset(object, 'a[0].b.c'); - * // => true - * - * console.log(object); - * // => { 'a': [{ 'b': {} }] }; - * - * _.unset(object, ['a', '0', 'b', 'c']); - * // => true - * - * console.log(object); - * // => { 'a': [{ 'b': {} }] }; - */ - function unset(object, path) { - return object == null ? true : baseUnset(object, path); - } - - /** - * This method is like `_.set` except that accepts `updater` to produce the - * value to set. Use `_.updateWith` to customize `path` creation. The `updater` - * is invoked with one argument: (value). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {Function} updater The function to produce the updated value. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.update(object, 'a[0].b.c', function(n) { return n * n; }); - * console.log(object.a[0].b.c); - * // => 9 - * - * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); - * console.log(object.x[0].y.z); - * // => 0 - */ - function update(object, path, updater) { - return object == null ? object : baseUpdate(object, path, castFunction(updater)); - } - - /** - * This method is like `_.update` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * var object = {}; - * - * _.updateWith(object, '[0][1]', _.constant('a'), Object); - * // => { '0': { '1': 'a' } } - */ - function updateWith(object, path, updater, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); - } - - /** - * Creates an array of the own enumerable string keyed property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */ - function values(object) { - return object == null ? [] : baseValues(object, keys(object)); - } - - /** - * Creates an array of the own and inherited enumerable string keyed property - * values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.valuesIn(new Foo); - * // => [1, 2, 3] (iteration order is not guaranteed) - */ - function valuesIn(object) { - return object == null ? [] : baseValues(object, keysIn(object)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Clamps `number` within the inclusive `lower` and `upper` bounds. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Number - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - * @example - * - * _.clamp(-10, -5, 5); - * // => -5 - * - * _.clamp(10, -5, 5); - * // => 5 - */ - function clamp(number, lower, upper) { - if (upper === undefined) { - upper = lower; - lower = undefined; - } - if (upper !== undefined) { - upper = toNumber(upper); - upper = upper === upper ? upper : 0; - } - if (lower !== undefined) { - lower = toNumber(lower); - lower = lower === lower ? lower : 0; - } - return baseClamp(toNumber(number), lower, upper); - } - - /** - * Checks if `n` is between `start` and up to, but not including, `end`. If - * `end` is not specified, it's set to `start` with `start` then set to `0`. - * If `start` is greater than `end` the params are swapped to support - * negative ranges. - * - * @static - * @memberOf _ - * @since 3.3.0 - * @category Number - * @param {number} number The number to check. - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - * @see _.range, _.rangeRight - * @example - * - * _.inRange(3, 2, 4); - * // => true - * - * _.inRange(4, 8); - * // => true - * - * _.inRange(4, 2); - * // => false - * - * _.inRange(2, 2); - * // => false - * - * _.inRange(1.2, 2); - * // => true - * - * _.inRange(5.2, 4); - * // => false - * - * _.inRange(-3, -2, -6); - * // => true - */ - function inRange(number, start, end) { - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - number = toNumber(number); - return baseInRange(number, start, end); - } - - /** - * Produces a random number between the inclusive `lower` and `upper` bounds. - * If only one argument is provided a number between `0` and the given number - * is returned. If `floating` is `true`, or either `lower` or `upper` are - * floats, a floating-point number is returned instead of an integer. - * - * **Note:** JavaScript follows the IEEE-754 standard for resolving - * floating-point values which can produce unexpected results. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Number - * @param {number} [lower=0] The lower bound. - * @param {number} [upper=1] The upper bound. - * @param {boolean} [floating] Specify returning a floating-point number. - * @returns {number} Returns the random number. - * @example - * - * _.random(0, 5); - * // => an integer between 0 and 5 - * - * _.random(5); - * // => also an integer between 0 and 5 - * - * _.random(5, true); - * // => a floating-point number between 0 and 5 - * - * _.random(1.2, 5.2); - * // => a floating-point number between 1.2 and 5.2 - */ - function random(lower, upper, floating) { - if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { - upper = floating = undefined; - } - if (floating === undefined) { - if (typeof upper == 'boolean') { - floating = upper; - upper = undefined; - } - else if (typeof lower == 'boolean') { - floating = lower; - lower = undefined; - } - } - if (lower === undefined && upper === undefined) { - lower = 0; - upper = 1; - } - else { - lower = toFinite(lower); - if (upper === undefined) { - upper = lower; - lower = 0; - } else { - upper = toFinite(upper); - } - } - if (lower > upper) { - var temp = lower; - lower = upper; - upper = temp; - } - if (floating || lower % 1 || upper % 1) { - var rand = nativeRandom(); - return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); - } - return baseRandom(lower, upper); - } - - /*------------------------------------------------------------------------*/ - - /** - * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the camel cased string. - * @example - * - * _.camelCase('Foo Bar'); - * // => 'fooBar' - * - * _.camelCase('--foo-bar--'); - * // => 'fooBar' - * - * _.camelCase('__FOO_BAR__'); - * // => 'fooBar' - */ - var camelCase = createCompounder(function(result, word, index) { - word = word.toLowerCase(); - return result + (index ? capitalize(word) : word); - }); - - /** - * Converts the first character of `string` to upper case and the remaining - * to lower case. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to capitalize. - * @returns {string} Returns the capitalized string. - * @example - * - * _.capitalize('FRED'); - * // => 'Fred' - */ - function capitalize(string) { - return upperFirst(toString(string).toLowerCase()); - } - - /** - * Deburrs `string` by converting - * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) - * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) - * letters to basic Latin letters and removing - * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to deburr. - * @returns {string} Returns the deburred string. - * @example - * - * _.deburr('déjà vu'); - * // => 'deja vu' - */ - function deburr(string) { - string = toString(string); - return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); - } - - /** - * Checks if `string` ends with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=string.length] The position to search up to. - * @returns {boolean} Returns `true` if `string` ends with `target`, - * else `false`. - * @example - * - * _.endsWith('abc', 'c'); - * // => true - * - * _.endsWith('abc', 'b'); - * // => false - * - * _.endsWith('abc', 'b', 2); - * // => true - */ - function endsWith(string, target, position) { - string = toString(string); - target = baseToString(target); - - var length = string.length; - position = position === undefined - ? length - : baseClamp(toInteger(position), 0, length); - - var end = position; - position -= target.length; - return position >= 0 && string.slice(position, end) == target; - } - - /** - * Converts the characters "&", "<", ">", '"', and "'" in `string` to their - * corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional - * characters use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. See - * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * When working with HTML you should always - * [quote attribute values](http://wonko.com/post/html-escaping) to reduce - * XSS vectors. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ - function escape(string) { - string = toString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; - } - - /** - * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", - * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escapeRegExp('[lodash](https://lodash.com/)'); - * // => '\[lodash\]\(https://lodash\.com/\)' - */ - function escapeRegExp(string) { - string = toString(string); - return (string && reHasRegExpChar.test(string)) - ? string.replace(reRegExpChar, '\\$&') - : string; - } - - /** - * Converts `string` to - * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the kebab cased string. - * @example - * - * _.kebabCase('Foo Bar'); - * // => 'foo-bar' - * - * _.kebabCase('fooBar'); - * // => 'foo-bar' - * - * _.kebabCase('__FOO_BAR__'); - * // => 'foo-bar' - */ - var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? '-' : '') + word.toLowerCase(); - }); - - /** - * Converts `string`, as space separated words, to lower case. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the lower cased string. - * @example - * - * _.lowerCase('--Foo-Bar--'); - * // => 'foo bar' - * - * _.lowerCase('fooBar'); - * // => 'foo bar' - * - * _.lowerCase('__FOO_BAR__'); - * // => 'foo bar' - */ - var lowerCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + word.toLowerCase(); - }); - - /** - * Converts the first character of `string` to lower case. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.lowerFirst('Fred'); - * // => 'fred' - * - * _.lowerFirst('FRED'); - * // => 'fRED' - */ - var lowerFirst = createCaseFirst('toLowerCase'); - - /** - * Pads `string` on the left and right sides if it's shorter than `length`. - * Padding characters are truncated if they can't be evenly divided by `length`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.pad('abc', 8); - * // => ' abc ' - * - * _.pad('abc', 8, '_-'); - * // => '_-abc_-_' - * - * _.pad('abc', 3); - * // => 'abc' - */ - function pad(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - if (!length || strLength >= length) { - return string; - } - var mid = (length - strLength) / 2; - return ( - createPadding(nativeFloor(mid), chars) + - string + - createPadding(nativeCeil(mid), chars) - ); - } - - /** - * Pads `string` on the right side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padEnd('abc', 6); - * // => 'abc ' - * - * _.padEnd('abc', 6, '_-'); - * // => 'abc_-_' - * - * _.padEnd('abc', 3); - * // => 'abc' - */ - function padEnd(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - return (length && strLength < length) - ? (string + createPadding(length - strLength, chars)) - : string; - } - - /** - * Pads `string` on the left side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padStart('abc', 6); - * // => ' abc' - * - * _.padStart('abc', 6, '_-'); - * // => '_-_abc' - * - * _.padStart('abc', 3); - * // => 'abc' - */ - function padStart(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - return (length && strLength < length) - ? (createPadding(length - strLength, chars) + string) - : string; - } - - /** - * Converts `string` to an integer of the specified radix. If `radix` is - * `undefined` or `0`, a `radix` of `10` is used unless `value` is a - * hexadecimal, in which case a `radix` of `16` is used. - * - * **Note:** This method aligns with the - * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category String - * @param {string} string The string to convert. - * @param {number} [radix=10] The radix to interpret `value` by. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {number} Returns the converted integer. - * @example - * - * _.parseInt('08'); - * // => 8 - * - * _.map(['6', '08', '10'], _.parseInt); - * // => [6, 8, 10] - */ - function parseInt(string, radix, guard) { - if (guard || radix == null) { - radix = 0; - } else if (radix) { - radix = +radix; - } - return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); - } - - /** - * Repeats the given string `n` times. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to repeat. - * @param {number} [n=1] The number of times to repeat the string. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {string} Returns the repeated string. - * @example - * - * _.repeat('*', 3); - * // => '***' - * - * _.repeat('abc', 2); - * // => 'abcabc' - * - * _.repeat('abc', 0); - * // => '' - */ - function repeat(string, n, guard) { - if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { - n = 1; - } else { - n = toInteger(n); - } - return baseRepeat(toString(string), n); - } - - /** - * Replaces matches for `pattern` in `string` with `replacement`. - * - * **Note:** This method is based on - * [`String#replace`](https://mdn.io/String/replace). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to modify. - * @param {RegExp|string} pattern The pattern to replace. - * @param {Function|string} replacement The match replacement. - * @returns {string} Returns the modified string. - * @example - * - * _.replace('Hi Fred', 'Fred', 'Barney'); - * // => 'Hi Barney' - */ - function replace() { - var args = arguments, - string = toString(args[0]); - - return args.length < 3 ? string : string.replace(args[1], args[2]); - } - - /** - * Converts `string` to - * [snake case](https://en.wikipedia.org/wiki/Snake_case). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the snake cased string. - * @example - * - * _.snakeCase('Foo Bar'); - * // => 'foo_bar' - * - * _.snakeCase('fooBar'); - * // => 'foo_bar' - * - * _.snakeCase('--FOO-BAR--'); - * // => 'foo_bar' - */ - var snakeCase = createCompounder(function(result, word, index) { - return result + (index ? '_' : '') + word.toLowerCase(); - }); - - /** - * Splits `string` by `separator`. - * - * **Note:** This method is based on - * [`String#split`](https://mdn.io/String/split). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to split. - * @param {RegExp|string} separator The separator pattern to split by. - * @param {number} [limit] The length to truncate results to. - * @returns {Array} Returns the string segments. - * @example - * - * _.split('a-b-c', '-', 2); - * // => ['a', 'b'] - */ - function split(string, separator, limit) { - if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { - separator = limit = undefined; - } - limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; - if (!limit) { - return []; - } - string = toString(string); - if (string && ( - typeof separator == 'string' || - (separator != null && !isRegExp(separator)) - )) { - separator = baseToString(separator); - if (!separator && hasUnicode(string)) { - return castSlice(stringToArray(string), 0, limit); - } - } - return string.split(separator, limit); - } - - /** - * Converts `string` to - * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). - * - * @static - * @memberOf _ - * @since 3.1.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the start cased string. - * @example - * - * _.startCase('--foo-bar--'); - * // => 'Foo Bar' - * - * _.startCase('fooBar'); - * // => 'Foo Bar' - * - * _.startCase('__FOO_BAR__'); - * // => 'FOO BAR' - */ - var startCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + upperFirst(word); - }); - - /** - * Checks if `string` starts with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=0] The position to search from. - * @returns {boolean} Returns `true` if `string` starts with `target`, - * else `false`. - * @example - * - * _.startsWith('abc', 'a'); - * // => true - * - * _.startsWith('abc', 'b'); - * // => false - * - * _.startsWith('abc', 'b', 1); - * // => true - */ - function startsWith(string, target, position) { - string = toString(string); - position = position == null - ? 0 - : baseClamp(toInteger(position), 0, string.length); - - target = baseToString(target); - return string.slice(position, position + target.length) == target; - } - - /** - * Creates a compiled template function that can interpolate data properties - * in "interpolate" delimiters, HTML-escape interpolated data properties in - * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data - * properties may be accessed as free variables in the template. If a setting - * object is given, it takes precedence over `_.templateSettings` values. - * - * **Note:** In the development build `_.template` utilizes - * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) - * for easier debugging. - * - * For more information on precompiling templates see - * [lodash's custom builds documentation](https://lodash.com/custom-builds). - * - * For more information on Chrome extension sandboxes see - * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The template string. - * @param {Object} [options={}] The options object. - * @param {RegExp} [options.escape=_.templateSettings.escape] - * The HTML "escape" delimiter. - * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] - * The "evaluate" delimiter. - * @param {Object} [options.imports=_.templateSettings.imports] - * An object to import into the template as free variables. - * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] - * The "interpolate" delimiter. - * @param {string} [options.sourceURL='lodash.templateSources[n]'] - * The sourceURL of the compiled template. - * @param {string} [options.variable='obj'] - * The data object variable name. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the compiled template function. - * @example - * - * // Use the "interpolate" delimiter to create a compiled template. - * var compiled = _.template('hello <%= user %>!'); - * compiled({ 'user': 'fred' }); - * // => 'hello fred!' - * - * // Use the HTML "escape" delimiter to escape data property values. - * var compiled = _.template('<%- value %>'); - * compiled({ 'value': '