From 625213827fa1e99fd45ba3b55e442c4203d04360 Mon Sep 17 00:00:00 2001 From: Libin Lu Date: Sun, 15 Apr 2018 20:58:18 -0400 Subject: [PATCH] add firebase example --- Examples/firebase-migration/.babelrc | 3 + Examples/firebase-migration/.buckconfig | 6 + Examples/firebase-migration/.flowconfig | 58 + Examples/firebase-migration/.gitignore | 49 + Examples/firebase-migration/.watchmanconfig | 1 + Examples/firebase-migration/README.md | 15 + .../__tests__/index.android.js | 12 + .../firebase-migration/__tests__/index.ios.js | 12 + Examples/firebase-migration/android/app/BUCK | 66 + .../android/app/build.gradle | 149 + .../android/app/proguard-rules.pro | 66 + .../android/app/src/main/AndroidManifest.xml | 65 + .../firebase/quickstart/fcm/MainActivity.java | 24 + .../quickstart/fcm/MainApplication.java | 39 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 21102 bytes .../app/src/main/res/mipmap-hdpi/ic_notif.png | Bin 0 -> 593 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 21427 bytes .../app/src/main/res/mipmap-mdpi/ic_notif.png | Bin 0 -> 593 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 43070 bytes .../src/main/res/mipmap-xhdpi/ic_notif.png | Bin 0 -> 849 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 34722 bytes .../src/main/res/mipmap-xxhdpi/ic_notif.png | Bin 0 -> 1517 bytes .../android/app/src/main/res/raw/bell.mp3 | Bin 0 -> 24116 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 8 + .../firebase-migration/android/build.gradle | 25 + .../android/gradle.properties | 20 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 52266 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + Examples/firebase-migration/android/gradlew | 164 + .../firebase-migration/android/gradlew.bat | 90 + .../firebase-migration/android/keystores/BUCK | 8 + .../keystores/debug.keystore.properties | 4 + .../android/settings.gradle | 7 + Examples/firebase-migration/app/App.js | 325 ++ .../firebase-migration/app/FirebaseClient.js | 37 + Examples/firebase-migration/app/Listeners.js | 72 + Examples/firebase-migration/index.android.js | 23 + Examples/firebase-migration/index.ios.js | 27 + Examples/firebase-migration/ios/Podfile | 17 + Examples/firebase-migration/ios/Podfile.lock | 50 + .../SimpleFcmClient.xcodeproj/project.pbxproj | 1354 +++++ .../xcschemes/SimpleFcmClient.xcscheme | 131 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../ios/SimpleFcmClient/AppDelegate.h | 18 + .../ios/SimpleFcmClient/AppDelegate.m | 56 + .../Base.lproj/LaunchScreen.xib | 42 + .../AppIcon.appiconset/Contents.json | 48 + .../ios/SimpleFcmClient/Info.plist | 59 + .../SimpleFcmClient.entitlements | 8 + .../ios/SimpleFcmClient/main.m | 18 + .../ios/SimpleFcmClientTests/Info.plist | 24 + .../SimpleFcmClientTests.m | 70 + Examples/firebase-migration/ios/bell.mp3 | Bin 0 -> 24116 bytes Examples/firebase-migration/package.json | 26 + Examples/firebase-migration/yarn.lock | 5080 +++++++++++++++++ .../app/FirebaseConstants.js | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 + 59 files changed, 8412 insertions(+), 1 deletion(-) create mode 100644 Examples/firebase-migration/.babelrc create mode 100644 Examples/firebase-migration/.buckconfig create mode 100644 Examples/firebase-migration/.flowconfig create mode 100644 Examples/firebase-migration/.gitignore create mode 100644 Examples/firebase-migration/.watchmanconfig create mode 100644 Examples/firebase-migration/README.md create mode 100644 Examples/firebase-migration/__tests__/index.android.js create mode 100644 Examples/firebase-migration/__tests__/index.ios.js create mode 100644 Examples/firebase-migration/android/app/BUCK create mode 100644 Examples/firebase-migration/android/app/build.gradle create mode 100644 Examples/firebase-migration/android/app/proguard-rules.pro create mode 100644 Examples/firebase-migration/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/firebase-migration/android/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java create mode 100644 Examples/firebase-migration/android/app/src/main/java/com/google/firebase/quickstart/fcm/MainApplication.java create mode 100644 Examples/firebase-migration/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100755 Examples/firebase-migration/android/app/src/main/res/mipmap-hdpi/ic_notif.png create mode 100644 Examples/firebase-migration/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100755 Examples/firebase-migration/android/app/src/main/res/mipmap-mdpi/ic_notif.png create mode 100644 Examples/firebase-migration/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100755 Examples/firebase-migration/android/app/src/main/res/mipmap-xhdpi/ic_notif.png create mode 100644 Examples/firebase-migration/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100755 Examples/firebase-migration/android/app/src/main/res/mipmap-xxhdpi/ic_notif.png create mode 100644 Examples/firebase-migration/android/app/src/main/res/raw/bell.mp3 create mode 100644 Examples/firebase-migration/android/app/src/main/res/values/strings.xml create mode 100644 Examples/firebase-migration/android/app/src/main/res/values/styles.xml create mode 100644 Examples/firebase-migration/android/build.gradle create mode 100644 Examples/firebase-migration/android/gradle.properties create mode 100644 Examples/firebase-migration/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/firebase-migration/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/firebase-migration/android/gradlew create mode 100644 Examples/firebase-migration/android/gradlew.bat create mode 100644 Examples/firebase-migration/android/keystores/BUCK create mode 100644 Examples/firebase-migration/android/keystores/debug.keystore.properties create mode 100644 Examples/firebase-migration/android/settings.gradle create mode 100644 Examples/firebase-migration/app/App.js create mode 100644 Examples/firebase-migration/app/FirebaseClient.js create mode 100644 Examples/firebase-migration/app/Listeners.js create mode 100644 Examples/firebase-migration/index.android.js create mode 100644 Examples/firebase-migration/index.ios.js create mode 100644 Examples/firebase-migration/ios/Podfile create mode 100644 Examples/firebase-migration/ios/Podfile.lock create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient.xcodeproj/project.pbxproj create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient.xcodeproj/xcshareddata/xcschemes/SimpleFcmClient.xcscheme create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient/AppDelegate.h create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient/AppDelegate.m create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient/Base.lproj/LaunchScreen.xib create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient/Info.plist create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient/SimpleFcmClient.entitlements create mode 100644 Examples/firebase-migration/ios/SimpleFcmClient/main.m create mode 100644 Examples/firebase-migration/ios/SimpleFcmClientTests/Info.plist create mode 100644 Examples/firebase-migration/ios/SimpleFcmClientTests/SimpleFcmClientTests.m create mode 100644 Examples/firebase-migration/ios/bell.mp3 create mode 100644 Examples/firebase-migration/package.json create mode 100644 Examples/firebase-migration/yarn.lock create mode 100644 Examples/simple-fcm-client/ios/SimpleFcmClient.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Examples/firebase-migration/.babelrc b/Examples/firebase-migration/.babelrc new file mode 100644 index 0000000..8df53fe --- /dev/null +++ b/Examples/firebase-migration/.babelrc @@ -0,0 +1,3 @@ +{ +"presets": ["react-native"] +} \ No newline at end of file diff --git a/Examples/firebase-migration/.buckconfig b/Examples/firebase-migration/.buckconfig new file mode 100644 index 0000000..934256c --- /dev/null +++ b/Examples/firebase-migration/.buckconfig @@ -0,0 +1,6 @@ + +[android] + target = Google Inc.:Google APIs:23 + +[maven_repositories] + central = https://repo1.maven.org/maven2 diff --git a/Examples/firebase-migration/.flowconfig b/Examples/firebase-migration/.flowconfig new file mode 100644 index 0000000..f565799 --- /dev/null +++ b/Examples/firebase-migration/.flowconfig @@ -0,0 +1,58 @@ +[ignore] + +# We fork some components by platform. +.*/*[.]android.js + +# Ignore templates with `@flow` in header +.*/local-cli/generator.* + +# Ignore malformed json +.*/node_modules/y18n/test/.*\.json + +# Ignore the website subdir +/website/.* + +# Ignore BUCK generated dirs +/\.buckd/ + +# Ignore unexpected extra @providesModule +.*/node_modules/commoner/test/source/widget/share.js + +# 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 +.*/Libraries/react-native/React.js +.*/Libraries/react-native/ReactNative.js +.*/node_modules/jest-runtime/build/__tests__/.* + +[include] + +[libs] +node_modules/react-native/Libraries/react-native/react-native-interface.js +node_modules/react-native/flow +flow/ + +[options] +module.system=haste + +esproposal.class_static_fields=enable +esproposal.class_instance_fields=enable + +experimental.strict_type_args=true + +munge_underscores=true + +module.name_mapper='^image![a-zA-Z0-9$_-]+$' -> 'GlobalImageStub' +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' + +suppress_type=$FlowIssue +suppress_type=$FlowFixMe +suppress_type=$FixMe + +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-2]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-2]\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy + +unsafe.enable_getters_and_setters=true + +[version] +^0.32.0 diff --git a/Examples/firebase-migration/.gitignore b/Examples/firebase-migration/.gitignore new file mode 100644 index 0000000..41c6723 --- /dev/null +++ b/Examples/firebase-migration/.gitignore @@ -0,0 +1,49 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace + +# Android/IJ +# +*.iml +.idea +.gradle +local.properties + +# node.js +# +node_modules/ +npm-debug.log + +# BUCK +buck-out/ +\.buckd/ +android/app/libs +android/keystores/debug.keystore + +# FCM +ios/GoogleService-Info.plist +android/app/google-services.json +app/FirebaseConstants.js + +#Pods +ios/Pods diff --git a/Examples/firebase-migration/.watchmanconfig b/Examples/firebase-migration/.watchmanconfig new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/Examples/firebase-migration/.watchmanconfig @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/Examples/firebase-migration/README.md b/Examples/firebase-migration/README.md new file mode 100644 index 0000000..011fa13 --- /dev/null +++ b/Examples/firebase-migration/README.md @@ -0,0 +1,15 @@ +# simple-fcm-client + +## iOS + +### Installation + +- `yarn install` +- Overwrite `ios/GoogleService-info.plist` with your file +- Change the _Bundle Identifier_ in Xcode project settings +- Select your _Team_ for both targets (`SimpleFcmClient` and `SimpleFcmClientTests`) +- Update your API_KEY [here](https://github.com/evollu/react-native-fcm/blob/master/Examples/simple-fcm-client/app/FirebaseConstants.js#L3) + +## Android + +TBA - PRs welcome! diff --git a/Examples/firebase-migration/__tests__/index.android.js b/Examples/firebase-migration/__tests__/index.android.js new file mode 100644 index 0000000..b49b908 --- /dev/null +++ b/Examples/firebase-migration/__tests__/index.android.js @@ -0,0 +1,12 @@ +import 'react-native'; +import React from 'react'; +import Index from '../index.android.js'; + +// Note: test renderer must be required after react-native. +import renderer from 'react-test-renderer'; + +it('renders correctly', () => { + const tree = renderer.create( + + ); +}); diff --git a/Examples/firebase-migration/__tests__/index.ios.js b/Examples/firebase-migration/__tests__/index.ios.js new file mode 100644 index 0000000..ba7c5b5 --- /dev/null +++ b/Examples/firebase-migration/__tests__/index.ios.js @@ -0,0 +1,12 @@ +import 'react-native'; +import React from 'react'; +import Index from '../index.ios.js'; + +// Note: test renderer must be required after react-native. +import renderer from 'react-test-renderer'; + +it('renders correctly', () => { + const tree = renderer.create( + + ); +}); diff --git a/Examples/firebase-migration/android/app/BUCK b/Examples/firebase-migration/android/app/BUCK new file mode 100644 index 0000000..ccec585 --- /dev/null +++ b/Examples/firebase-migration/android/app/BUCK @@ -0,0 +1,66 @@ +import re + +# To learn about Buck see [Docs](https://buckbuild.com/). +# To run your application with Buck: +# - install Buck +# - `npm start` - to start the packager +# - `cd android` +# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` +# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck +# - `buck install -r android/app` - compile, install and run application +# + +lib_deps = [] +for jarfile in glob(['libs/*.jar']): + name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) + lib_deps.append(':' + name) + prebuilt_jar( + name = name, + binary_jar = jarfile, + ) + +for aarfile in glob(['libs/*.aar']): + name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) + lib_deps.append(':' + name) + android_prebuilt_aar( + name = name, + aar = aarfile, + ) + +android_library( + name = 'all-libs', + exported_deps = lib_deps +) + +android_library( + name = 'app-code', + srcs = glob([ + 'src/main/java/**/*.java', + ]), + deps = [ + ':all-libs', + ':build_config', + ':res', + ], +) + +android_build_config( + name = 'build_config', + package = 'com.google.firebase.quickstart.fcm', +) + +android_resource( + name = 'res', + res = 'src/main/res', + package = 'com.google.firebase.quickstart.fcm', +) + +android_binary( + name = 'app', + package_type = 'debug', + manifest = 'src/main/AndroidManifest.xml', + keystore = '//android/keystores:debug', + deps = [ + ':app-code', + ], +) diff --git a/Examples/firebase-migration/android/app/build.gradle b/Examples/firebase-migration/android/app/build.gradle new file mode 100644 index 0000000..b4cde9f --- /dev/null +++ b/Examples/firebase-migration/android/app/build.gradle @@ -0,0 +1,149 @@ +apply plugin: "com.android.application" +apply plugin: "com.google.gms.google-services" + +import com.android.build.OutputFile + +/** + * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets + * and bundleReleaseJsAndAssets). + * These basically call `react-native bundle` with the correct arguments during the Android build + * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the + * bundle directly from the development server. Below you can see all the possible configurations + * and their defaults. If you decide to add a configuration block, make sure to add it before the + * `apply from: "../../node_modules/react-native/react.gradle"` line. + * + * project.ext.react = [ + * // the name of the generated asset file containing your JS bundle + * bundleAssetName: "index.android.bundle", + * + * // the entry file for bundle generation + * entryFile: "index.android.js", + * + * // whether to bundle JS and assets in debug mode + * bundleInDebug: false, + * + * // whether to bundle JS and assets in release mode + * bundleInRelease: true, + * + * // whether to bundle JS and assets in another build variant (if configured). + * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants + * // The configuration property can be in the following formats + * // 'bundleIn${productFlavor}${buildType}' + * // 'bundleIn${buildType}' + * // bundleInFreeDebug: true, + * // bundleInPaidRelease: true, + * // bundleInBeta: true, + * + * // the root of your project, i.e. where "package.json" lives + * root: "../../", + * + * // where to put the JS bundle asset in debug mode + * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", + * + * // where to put the JS bundle asset in release mode + * jsBundleDirRelease: "$buildDir/intermediates/assets/release", + * + * // where to put drawable resources / React Native assets, e.g. the ones you use via + * // require('./image.png')), in debug mode + * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", + * + * // where to put drawable resources / React Native assets, e.g. the ones you use via + * // require('./image.png')), in release mode + * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", + * + * // by default the gradle tasks are skipped if none of the JS files or assets change; this means + * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to + * // date; if you have any other folders that you want to ignore for performance reasons (gradle + * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ + * // for example, you might want to remove it from here. + * inputExcludes: ["android/**", "ios/**"], + * + * // override which node gets called and with what additional arguments + * nodeExecutableAndArgs: ["node"] + * + * // supply additional arguments to the packager + * extraPackagerArgs: [] + * ] + */ + +apply from: "../../node_modules/react-native/react.gradle" + +/** + * Set this to true to create two separate APKs instead of one: + * - An APK that only works on ARM devices + * - An APK that only works on x86 devices + * The advantage is the size of the APK is reduced by about 4MB. + * Upload all the APKs to the Play Store and people will download + * the correct one based on the CPU architecture of their device. + */ +def enableSeparateBuildPerCPUArchitecture = false + +/** + * Run Proguard to shrink the Java bytecode in release builds. + */ +def enableProguardInReleaseBuilds = false + +android { + compileSdkVersion 23 + buildToolsVersion "23.0.1" + + defaultConfig { + applicationId "com.google.firebase.quickstart.fcm" + minSdkVersion 16 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + ndk { + abiFilters "armeabi-v7a", "x86" + } + } + splits { + abi { + reset() + enable enableSeparateBuildPerCPUArchitecture + universalApk false // If true, also generate a universal APK + include "armeabi-v7a", "x86" + } + } + buildTypes { + release { + minifyEnabled enableProguardInReleaseBuilds + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + } + } + // applicationVariants are e.g. debug, release + applicationVariants.all { variant -> + variant.outputs.each { output -> + // For each separate APK per architecture, set a unique version code as described here: + // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits + def versionCodes = ["armeabi-v7a":1, "x86":2] + def abi = output.getFilter(OutputFile.ABI) + if (abi != null) { // null for the universal-debug, universal-release variants + output.versionCodeOverride = + versionCodes.get(abi) * 1048576 + defaultConfig.versionCode + } + } + } +} + +dependencies { + compile(project(':react-native-firebase')) { + transitive = false + } + compile(project(':react-native-maps')) { + exclude group: 'com.google.android.gms', module: 'play-services-base' + // This resolution make compiler ignoring play-service-base's version requirement in react-native-maps + // so that it only read from react-native-fcm + // you can also lock the version in this gradle file and ignore all module declaration + // or you can use ResolutionStragety + } + compile fileTree(dir: "libs", include: ["*.jar"]) + compile "com.facebook.react:react-native:+" // From node_modules +} + +// Run this once to be able to run the application with BUCK +// puts all compile dependencies into folder libs for BUCK to use +task copyDownloadableDepsToLibs(type: Copy) { + from configurations.compile + into 'libs' +} diff --git a/Examples/firebase-migration/android/app/proguard-rules.pro b/Examples/firebase-migration/android/app/proguard-rules.pro new file mode 100644 index 0000000..48361a9 --- /dev/null +++ b/Examples/firebase-migration/android/app/proguard-rules.pro @@ -0,0 +1,66 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Disabling obfuscation is useful if you collect stack traces from production crashes +# (unless you are using a system that supports de-obfuscate the stack traces). +-dontobfuscate + +# React Native + +# Keep our interfaces so they can be used by other ProGuard rules. +# See http://sourceforge.net/p/proguard/bugs/466/ +-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip +-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters +-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip + +# Do not strip any method/class that is annotated with @DoNotStrip +-keep @com.facebook.proguard.annotations.DoNotStrip class * +-keep @com.facebook.common.internal.DoNotStrip class * +-keepclassmembers class * { + @com.facebook.proguard.annotations.DoNotStrip *; + @com.facebook.common.internal.DoNotStrip *; +} + +-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { + void set*(***); + *** get*(); +} + +-keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } +-keep class * extends com.facebook.react.bridge.NativeModule { *; } +-keepclassmembers,includedescriptorclasses class * { native ; } +-keepclassmembers class * { @com.facebook.react.uimanager.UIProp ; } +-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } +-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } + +-dontwarn com.facebook.react.** + +# okhttp + +-keepattributes Signature +-keepattributes *Annotation* +-keep class okhttp3.** { *; } +-keep interface okhttp3.** { *; } +-dontwarn okhttp3.** + +# okio + +-keep class sun.misc.Unsafe { *; } +-dontwarn java.nio.file.* +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement +-dontwarn okio.** diff --git a/Examples/firebase-migration/android/app/src/main/AndroidManifest.xml b/Examples/firebase-migration/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..869cb8f --- /dev/null +++ b/Examples/firebase-migration/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/firebase-migration/android/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java b/Examples/firebase-migration/android/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java new file mode 100644 index 0000000..11ff0e7 --- /dev/null +++ b/Examples/firebase-migration/android/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java @@ -0,0 +1,24 @@ +package com.google.firebase.quickstart.fcm; + +import android.content.Intent; + +import com.facebook.react.ReactActivity; + +public class MainActivity extends ReactActivity { + + /** + * Returns the name of the main component registered from JavaScript. + * This is used to schedule rendering of the component. + */ + @Override + protected String getMainComponentName() { + return "SimpleFcmClient"; + } + + @Override + public void onNewIntent(Intent intent) { + super.onNewIntent(intent); + setIntent(intent); + } + +} diff --git a/Examples/firebase-migration/android/app/src/main/java/com/google/firebase/quickstart/fcm/MainApplication.java b/Examples/firebase-migration/android/app/src/main/java/com/google/firebase/quickstart/fcm/MainApplication.java new file mode 100644 index 0000000..80aa9a2 --- /dev/null +++ b/Examples/firebase-migration/android/app/src/main/java/com/google/firebase/quickstart/fcm/MainApplication.java @@ -0,0 +1,39 @@ +package com.google.firebase.quickstart.fcm; + +import android.app.Application; +import android.util.Log; + +import com.facebook.react.ReactApplication; +import io.invertase.firebase.RNFirebasePackage; +import com.airbnb.android.react.maps.MapsPackage; +import com.facebook.react.ReactInstanceManager; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; +import com.facebook.react.shell.MainReactPackage; + +import java.util.Arrays; +import java.util.List; + +public class MainApplication extends Application implements ReactApplication { + + private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { + @Override + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List getPackages() { + return Arrays.asList( + new MainReactPackage(), + new RNFirebasePackage(), + new MapsPackage() + ); + } + }; + + @Override + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; + } +} diff --git a/Examples/firebase-migration/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/Examples/firebase-migration/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4b230716fda96981b99cd9b5f9e05c0b7a707275 GIT binary patch literal 21102 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 literal 0 HcmV?d00001 diff --git a/Examples/firebase-migration/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/Examples/firebase-migration/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..999313723d83457179b58d6799f5d32e65551736 GIT binary patch literal 21427 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 literal 0 HcmV?d00001 diff --git a/Examples/firebase-migration/android/app/src/main/res/mipmap-mdpi/ic_notif.png b/Examples/firebase-migration/android/app/src/main/res/mipmap-mdpi/ic_notif.png new file mode 100755 index 0000000000000000000000000000000000000000..1d308052ca17c482d45d3928d44e90552b8f86cb GIT binary patch literal 593 zcmV-X03_`!bizRi3S%;hi~qc6PaNg|DduWIodg7|?(r1~l)0BH{*c54ZxH z>-+rFAtpINur?@TYO=C?uUIl0qxYgMGmZY1FHR*U2ps&D%#_oSeI@?&2j#mNt37l!{ z{!r5C#+r1z3eYEDv9bHlk}fvZq~le9UiRNUEd#ugbho8o7TGF5mx1@d$&o|+0W3`Y(QHBGN9bc!3NnN8HYi8H2Ics92iYJSlp|n+a{Ro5Y>*Ag5%`a)Oa9FAFYz;= ffxBfu1AzVlc?U6AvTmL^00000NkvXXu0mjf2yzBS literal 0 HcmV?d00001 diff --git a/Examples/firebase-migration/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/Examples/firebase-migration/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..152373e58df2557540383a84b03eff3581af9e85 GIT binary patch literal 43070 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 n<$mOJ-lix^H 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 L?2Z?jyZ`<_3}2R& literal 0 HcmV?d00001 diff --git a/Examples/firebase-migration/android/app/src/main/res/mipmap-xhdpi/ic_notif.png b/Examples/firebase-migration/android/app/src/main/res/mipmap-xhdpi/ic_notif.png new file mode 100755 index 0000000000000000000000000000000000000000..c3581d2b62916f620107ac89d84d6c383e9a0bb3 GIT binary patch literal 849 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

%8F(%4O6N1>#) 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 literal 0 HcmV?d00001 diff --git a/Examples/firebase-migration/android/app/src/main/res/raw/bell.mp3 b/Examples/firebase-migration/android/app/src/main/res/raw/bell.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f4e4adca3f11b4e9aaeeaf6835a0dd4f3e4c1016 GIT binary patch literal 24116 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 + SimpleFcmClient + diff --git a/Examples/firebase-migration/android/app/src/main/res/values/styles.xml b/Examples/firebase-migration/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..319eb0c --- /dev/null +++ b/Examples/firebase-migration/android/app/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/Examples/firebase-migration/android/build.gradle b/Examples/firebase-migration/android/build.gradle new file mode 100644 index 0000000..7b16caa --- /dev/null +++ b/Examples/firebase-migration/android/build.gradle @@ -0,0 +1,25 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.google.gms:google-services:3.0.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + mavenLocal() + jcenter() + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url "$rootDir/../node_modules/react-native/android" + } + } +} diff --git a/Examples/firebase-migration/android/gradle.properties b/Examples/firebase-migration/android/gradle.properties new file mode 100644 index 0000000..1fd964e --- /dev/null +++ b/Examples/firebase-migration/android/gradle.properties @@ -0,0 +1,20 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +android.useDeprecatedNdk=true diff --git a/Examples/firebase-migration/android/gradle/wrapper/gradle-wrapper.jar b/Examples/firebase-migration/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..b5166dad4d90021f6a0b45268c0755719f1d5cd4 GIT binary patch literal 52266 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 z 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 literal 0 HcmV?d00001 diff --git a/Examples/firebase-migration/android/gradle/wrapper/gradle-wrapper.properties b/Examples/firebase-migration/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..a27341b --- /dev/null +++ b/Examples/firebase-migration/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jan 06 16:34:59 EST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip diff --git a/Examples/firebase-migration/android/gradlew b/Examples/firebase-migration/android/gradlew new file mode 100755 index 0000000..91a7e26 --- /dev/null +++ b/Examples/firebase-migration/android/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# 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 + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +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 + # 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 + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "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 + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +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"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + 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 + 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 + + 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\"" + fi + 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" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/Examples/firebase-migration/android/gradlew.bat b/Examples/firebase-migration/android/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/Examples/firebase-migration/android/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/Examples/firebase-migration/android/keystores/BUCK b/Examples/firebase-migration/android/keystores/BUCK new file mode 100644 index 0000000..15da20e --- /dev/null +++ b/Examples/firebase-migration/android/keystores/BUCK @@ -0,0 +1,8 @@ +keystore( + name = 'debug', + store = 'debug.keystore', + properties = 'debug.keystore.properties', + visibility = [ + 'PUBLIC', + ], +) diff --git a/Examples/firebase-migration/android/keystores/debug.keystore.properties b/Examples/firebase-migration/android/keystores/debug.keystore.properties new file mode 100644 index 0000000..121bfb4 --- /dev/null +++ b/Examples/firebase-migration/android/keystores/debug.keystore.properties @@ -0,0 +1,4 @@ +key.store=debug.keystore +key.alias=androiddebugkey +key.store.password=android +key.alias.password=android diff --git a/Examples/firebase-migration/android/settings.gradle b/Examples/firebase-migration/android/settings.gradle new file mode 100644 index 0000000..785e184 --- /dev/null +++ b/Examples/firebase-migration/android/settings.gradle @@ -0,0 +1,7 @@ +rootProject.name = 'SimpleFcmClient' +include ':react-native-firebase' +project(':react-native-firebase').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-firebase/android') +include ':react-native-maps' +project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android') + +include ':app' diff --git a/Examples/firebase-migration/app/App.js b/Examples/firebase-migration/app/App.js new file mode 100644 index 0000000..dda70d8 --- /dev/null +++ b/Examples/firebase-migration/app/App.js @@ -0,0 +1,325 @@ +/** + * Sample React Native App + * https://github.com/facebook/react-native + * @flow + */ + +import React, { Component } from 'react'; +import { + StyleSheet, + Text, + TouchableOpacity, + View, + Clipboard, + Platform, + ScrollView +} from 'react-native'; + +import { StackNavigator } from 'react-navigation'; + +import firebase from 'react-native-firebase'; + +import {registerKilledListener, registerAppListener} from "./Listeners"; +import firebaseClient from "./FirebaseClient"; + +registerKilledListener(); + +class MainPage extends Component { + constructor(props) { + super(props); + + this.state = { + token: "", + tokenCopyFeedback: "" + } + } + + async componentDidMount(){ + registerAppListener(this.props.navigation); + firebase.notifications().getInitialNotification() + .then((notificationOpen: NotificationOpen) => { + if (notificationOpen) { + // Get information about the notification that was opened + const notif: Notification = notificationOpen.notification; + this.setState({ + initNotif: notif + }) + if(notif && notif.targetScreen === 'detail'){ + setTimeout(()=>{ + this.props.navigation.navigate('Detail') + }, 500) + } + } + }); + + if (!await firebase.messaging().hasPermission()) { + try { + await firebase.messaging().requestPermission(); + } catch { + alert("Failed to grant permission") + } + } + + firebase.messaging().getToken().then(token => { + console.log("TOKEN (getFCMToken)", token); + this.setState({token: token || ""}) + }); + + // topic example + firebase.messaging().subscribeToTopic('sometopic'); + firebase.messaging().unsubscribeFromTopic('sometopic'); + } + + componentWillMount(){ + this.onTokenRefreshListener(); + this.notificationOpenedListener(); + this.messageListener(); + } + + showLocalNotification() { + if(Platform.OS === 'ios'){ + const notification = new firebase.notifications.Notification() + .setNotificationId(new Date().valueOf().toString()) + .setTitle( "Test Notification with action") + .setBody("Force touch to reply") + .setSound("bell.mp3") + .setCategory() + .setBadge(10) + .setData({ + key1: 'value1', + key2: 'value2', + }); + } + + FCM.presentLocalNotification({ + id: new Date().valueOf().toString(), // (optional for instant notification) + title: "Test Notification with action", // as FCM payload + body: "Force touch to reply", // as FCM payload (required) + sound: "bell.mp3", // "default" or filename + priority: "high", // as FCM payload + click_action: "com.myapp.MyCategory", // as FCM payload - this is used as category identifier on iOS. + badge: 10, // as FCM payload IOS only, set 0 to clear badges + number: 10, // Android only + ticker: "My Notification Ticker", // Android only + auto_cancel: true, // Android only (default true) + large_icon: "https://image.freepik.com/free-icon/small-boy-cartoon_318-38077.jpg", // Android only + icon: "ic_launcher", // as FCM payload, you can relace this with custom icon you put in mipmap + big_text: "Show when notification is expanded", // Android only + sub_text: "This is a subText", // Android only + color: "red", // Android only + vibrate: 300, // Android only default: 300, no vibration if you pass 0 + wake_screen: true, // Android only, wake up screen when notification arrives + group: "group", // Android only + picture: "https://google.png", // Android only bigPicture style + ongoing: true, // Android only + my_custom_data:'my_custom_field_value', // extra data you want to throw + lights: true, // Android only, LED blinking (default false) + show_in_foreground: true // notification when app is in foreground (local & remote) + }); + } + + scheduleLocalNotification() { + FCM.scheduleLocalNotification({ + id: 'testnotif', + fire_date: new Date().getTime()+5000, + vibrate: 500, + title: 'Hello', + body: 'Test Scheduled Notification', + sub_text: 'sub text', + priority: "high", + large_icon: "https://image.freepik.com/free-icon/small-boy-cartoon_318-38077.jpg", + show_in_foreground: true, + picture: 'https://firebase.google.com/_static/af7ae4b3fc/images/firebase/lockup.png', + wake_screen: true, + extra1: {a: 1}, + extra2: 1 + }); + } + + sendRemoteNotification(token) { + let body; + + if(Platform.OS === 'android'){ + body = { + "to": token, + "data":{ + "custom_notification": { + "title": "Simple FCM Client", + "body": "Click me to go to detail", + "sound": "default", + "priority": "high", + "show_in_foreground": true, + targetScreen: 'detail' + } + }, + "priority": 10 + } + } else { + body = { + "to": token, + "notification":{ + "title": "Simple FCM Client", + "body": "Click me to go to detail", + "sound": "default" + }, + data: { + targetScreen: 'detail' + }, + "priority": 10 + } + } + + firebaseClient.send(JSON.stringify(body), "notification"); + } + + sendRemoteData(token) { + let body = { + "to": token, + "data":{ + "title": "Simple FCM Client", + "body": "This is a notification with only DATA.", + "sound": "default" + }, + "priority": "normal" + } + + firebaseClient.send(JSON.stringify(body), "data"); + } + + showLocalNotificationWithAction() { + // FCM.presentLocalNotification({ + // title: 'Test Notification with action', + // body: 'Force touch to reply', + // priority: "high", + // show_in_foreground: true, + // click_action: "com.myidentifi.fcm.text", // for ios + // android_actions: JSON.stringify([{ + // id: "view", + // title: 'view' + // },{ + // id: "dismiss", + // title: 'dismiss' + // }]) // for android, take syntax similar to ios's. only buttons are supported + // }); + } + + render() { + let { token, tokenCopyFeedback } = this.state; + + return ( + + + + Welcome to Simple Fcm Client! + + + + {this.state.tokenCopyFeedback} + + + + Remote notif won't be available to iOS emulators + + + this.sendRemoteNotification(token)} style={styles.button}> + Send Remote Notification + + + this.sendRemoteData(token)} style={styles.button}> + Send Remote Data + + + this.showLocalNotification()} style={styles.button}> + Show Local Notification + + + this.showLocalNotificationWithAction(token)} style={styles.button}> + Show Local Notification with Action + + + this.scheduleLocalNotification()} style={styles.button}> + Schedule Notification in 5s + + + + Init notif: + + + {JSON.stringify(this.state.initNotif)} + + + + Token: + + this.setClipboardContent(this.state.token)}> + {this.state.token} + + + + ); + } + + setClipboardContent(text) { + Clipboard.setString(text); + this.setState({tokenCopyFeedback: "Token copied to clipboard."}); + setTimeout(() => {this.clearTokenCopyFeedback()}, 2000); + } + + clearTokenCopyFeedback() { + this.setState({tokenCopyFeedback: ""}); + } +} + +class DetailPage extends Component { + render(){ + return + Detail page + + } +} + +export default StackNavigator({ + Main: { + screen: MainPage, + }, + Detail: { + screen: DetailPage + } +}, { + initialRouteName: 'Main', +}); + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#F5FCFF', + }, + welcome: { + fontSize: 20, + textAlign: 'center', + margin: 10, + }, + instructions: { + textAlign: 'center', + color: '#333333', + marginBottom: 2, + }, + feedback: { + textAlign: 'center', + color: '#996633', + marginBottom: 3, + }, + button: { + backgroundColor: "teal", + paddingHorizontal: 20, + paddingVertical: 15, + marginVertical: 10, + borderRadius: 10 + }, + buttonText: { + color: "white", + backgroundColor: "transparent" + }, +}); diff --git a/Examples/firebase-migration/app/FirebaseClient.js b/Examples/firebase-migration/app/FirebaseClient.js new file mode 100644 index 0000000..7f96e2e --- /dev/null +++ b/Examples/firebase-migration/app/FirebaseClient.js @@ -0,0 +1,37 @@ +import FirebaseConstants from "./FirebaseConstants"; +import { Alert } from "react-native"; + +const API_URL = "https://fcm.googleapis.com/fcm/send"; + +class FirebaseClient { + + async send(body, type) { + if(FirebaseClient.KEY === 'YOUR_API_KEY'){ + Alert.alert('Set your API_KEY in app/FirebaseConstants.js') + return; + } + let headers = new Headers({ + "Content-Type": "application/json", + "Authorization": "key=" + FirebaseConstants.KEY + }); + + try { + let response = await fetch(API_URL, { method: "POST", headers, body }); + console.log(response); + try{ + response = await response.json(); + if(!response.success){ + Alert.alert('Failed to send notification, check error log') + } + } catch (err){ + Alert.alert('Failed to send notification, check error log') + } + } catch (err) { + Alert.alert(err && err.message) + } + } + +} + +let firebaseClient = new FirebaseClient(); +export default firebaseClient; diff --git a/Examples/firebase-migration/app/Listeners.js b/Examples/firebase-migration/app/Listeners.js new file mode 100644 index 0000000..060a5a6 --- /dev/null +++ b/Examples/firebase-migration/app/Listeners.js @@ -0,0 +1,72 @@ +import { Platform, AsyncStorage, AppState } from 'react-native'; + +import firebase from 'react-native-firebase'; + +AsyncStorage.getItem('lastNotification').then(data=>{ + if(data){ + // if notification arrives when app is killed, it should still be logged here + console.log('last notification', JSON.parse(data)); + AsyncStorage.removeItem('lastNotification'); + } +}) + +export function registerKilledListener(message: RemoteMessage){ + AsyncStorage.setItem('lastNotification', JSON.stringify(message)); +} + +// these callback will be triggered only when app is foreground or background +export function registerAppListener(navigation){ + this.notificationOpenedListener = firebase.notifications().onNotificationOpened((notificationOpen: NotificationOpen) => { + const notif: Notification = notificationOpen.notification; + + if(notif.targetScreen === 'detail'){ + setTimeout(()=>{ + navigation.navigate('Detail') + }, 500) + } + setTimeout(()=>{ + alert(`User tapped notification\n${JSON.stringify(notif)}`) + }, 500) + }); + + this.onTokenRefreshListener = firebase.messaging().onTokenRefresh(token => { + console.log("TOKEN (refreshUnsubscribe)", token); + }); + + this.messageListener = firebase.messaging().onMessage((message: RemoteMessage) => { + // Process your message as required + }); + +} + +// FCM.setNotificationCategories([ +// { +// id: 'com.myidentifi.fcm.text', +// actions: [ +// { +// type: NotificationActionType.TextInput, +// id: 'reply', +// title: 'Quick Reply', +// textInputButtonTitle: 'Send', +// textInputPlaceholder: 'Say something', +// intentIdentifiers: [], +// options: NotificationActionOption.AuthenticationRequired +// }, +// { +// type: NotificationActionType.Default, +// id: 'view', +// title: 'View in App', +// intentIdentifiers: [], +// options: NotificationActionOption.Foreground +// }, +// { +// type: NotificationActionType.Default, +// id: 'dismiss', +// title: 'Dismiss', +// intentIdentifiers: [], +// options: NotificationActionOption.Destructive +// } +// ], +// options: [NotificationCategoryOption.CustomDismissAction, NotificationCategoryOption.PreviewsShowTitle] +// } +// ]) diff --git a/Examples/firebase-migration/index.android.js b/Examples/firebase-migration/index.android.js new file mode 100644 index 0000000..abd8111 --- /dev/null +++ b/Examples/firebase-migration/index.android.js @@ -0,0 +1,23 @@ +/** + * Sample React Native App + * https://github.com/facebook/react-native + * @flow + */ + +import React, { Component } from 'react'; +import { + AppRegistry, + StyleSheet, + Text, + View +} from 'react-native'; + +import App from "./app/App"; + +export default class SimpleFcmClient extends Component { + render() { + return (); + } +} + +AppRegistry.registerComponent('SimpleFcmClient', () => SimpleFcmClient); diff --git a/Examples/firebase-migration/index.ios.js b/Examples/firebase-migration/index.ios.js new file mode 100644 index 0000000..ae23b89 --- /dev/null +++ b/Examples/firebase-migration/index.ios.js @@ -0,0 +1,27 @@ +/** + * Sample React Native App + * https://github.com/facebook/react-native + * @flow + */ + +import React, { Component } from 'react'; +import {registerKilledListener} from './app/Listeners'; + +import { + AppRegistry, + StyleSheet, + Text, + View +} from 'react-native'; + +import App from "./app/App"; + +export default class SimpleFcmClient extends Component { + render() { + return (); + } +} + +AppRegistry.registerComponent('SimpleFcmClient', () => SimpleFcmClient); + +AppRegistry.registerHeadlessTask('RNFirebaseBackgroundMessage', () => registerKilledListener); \ No newline at end of file diff --git a/Examples/firebase-migration/ios/Podfile b/Examples/firebase-migration/ios/Podfile new file mode 100644 index 0000000..0c8016b --- /dev/null +++ b/Examples/firebase-migration/ios/Podfile @@ -0,0 +1,17 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +pod 'Firebase/Messaging' + +target 'SimpleFcmClient' do + # Uncomment the next line if you're using Swift or would like to use dynamic frameworks + # use_frameworks! + + # Pods for SimpleFcmClient + + target 'SimpleFcmClientTests' do + inherit! :search_paths + # Pods for testing + end + +end diff --git a/Examples/firebase-migration/ios/Podfile.lock b/Examples/firebase-migration/ios/Podfile.lock new file mode 100644 index 0000000..32fd9c5 --- /dev/null +++ b/Examples/firebase-migration/ios/Podfile.lock @@ -0,0 +1,50 @@ +PODS: + - Firebase/Core (4.9.0): + - FirebaseAnalytics (= 4.0.9) + - FirebaseCore (= 4.0.15) + - Firebase/Messaging (4.9.0): + - Firebase/Core + - FirebaseMessaging (= 2.1.0) + - FirebaseAnalytics (4.0.9): + - FirebaseCore (~> 4.0) + - FirebaseInstanceID (~> 2.0) + - GoogleToolboxForMac/NSData+zlib (~> 2.1) + - nanopb (~> 0.3) + - FirebaseCore (4.0.15): + - GoogleToolboxForMac/NSData+zlib (~> 2.1) + - FirebaseInstanceID (2.0.9): + - FirebaseCore (~> 4.0) + - FirebaseMessaging (2.1.0): + - FirebaseAnalytics (~> 4.0) + - FirebaseCore (~> 4.0) + - FirebaseInstanceID (~> 2.0) + - GoogleToolboxForMac/Logger (~> 2.1) + - Protobuf (~> 3.1) + - GoogleToolboxForMac/Defines (2.1.3) + - GoogleToolboxForMac/Logger (2.1.3): + - GoogleToolboxForMac/Defines (= 2.1.3) + - GoogleToolboxForMac/NSData+zlib (2.1.3): + - GoogleToolboxForMac/Defines (= 2.1.3) + - nanopb (0.3.8): + - nanopb/decode (= 0.3.8) + - nanopb/encode (= 0.3.8) + - nanopb/decode (0.3.8) + - nanopb/encode (0.3.8) + - Protobuf (3.5.0) + +DEPENDENCIES: + - Firebase/Messaging + +SPEC CHECKSUMS: + Firebase: 632216af3ed7f31e3be34776947fdc7546cfb572 + FirebaseAnalytics: 388b630c15713f5dbf364071f5f3d6077fb52f4e + FirebaseCore: 3bd047463058fa6b5d312c97502c52e45401cdfb + FirebaseInstanceID: d2058a35e9bebda1b6dd42486b84917bde552a9d + FirebaseMessaging: 2bafab2d0f3ab3dfd753101c2c32995c2051b5da + GoogleToolboxForMac: 2501e2ad72a52eb3dfe7bd9aee7dad11b858bd20 + nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3 + Protobuf: 8a9838fba8dae3389230e1b7f8c104aa32389c03 + +PODFILE CHECKSUM: 31f07bb14b00eef65c77cff51721f530ad6eb826 + +COCOAPODS: 1.4.0 diff --git a/Examples/firebase-migration/ios/SimpleFcmClient.xcodeproj/project.pbxproj b/Examples/firebase-migration/ios/SimpleFcmClient.xcodeproj/project.pbxproj new file mode 100644 index 0000000..ba77469 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient.xcodeproj/project.pbxproj @@ -0,0 +1,1354 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + 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 /* SimpleFcmClientTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* SimpleFcmClientTests.m */; }; + 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 */; }; + 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 */; }; + 3A6D62911E2044AB00D0D2C7 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6D62901E2044AB00D0D2C7 /* libz.tbd */; }; + 3A7531B520323B2400888478 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A7531B220323B0700888478 /* libRCTAnimation.a */; }; + 3AC87E631F6C190900194883 /* bell.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 3AC87E621F6C190900194883 /* bell.mp3 */; }; + 4339BFE81DAEE9D100F53B62 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4339BFE71DAEE9D100F53B62 /* GoogleService-Info.plist */; }; + 5FE70723D2AE04BF2D98342D /* libPods-SimpleFcmClientTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E8C044191FA88F1BCCF08BD /* libPods-SimpleFcmClientTests.a */; }; + 6976C617E52062E3EE272128 /* libPods-SimpleFcmClient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A959965489E40CE19F2B06B4 /* libPods-SimpleFcmClient.a */; }; + 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; + B5EEA6C40DAD43C696D4A7EE /* libAirMaps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 441E689027CF4924A5FEA8F6 /* libAirMaps.a */; }; + BF7706CAC45E4E1B91E94A6E /* libRNFirebase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9092A63DACE94E308B8FC43A /* libRNFirebase.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 */; + proxyType = 1; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = SimpleFcmClient; + }; + 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; + }; + 3A6D62521E20427F00D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; + remoteInfo = "RCTImage-tvOS"; + }; + 3A6D62561E20427F00D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28471D9B043800D4039D; + remoteInfo = "RCTLinking-tvOS"; + }; + 3A6D625A1E20427F00D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28541D9B044C00D4039D; + remoteInfo = "RCTNetwork-tvOS"; + }; + 3A6D625E1E20427F00D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28611D9B046600D4039D; + remoteInfo = "RCTSettings-tvOS"; + }; + 3A6D62621E20427F00D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A287B1D9B048500D4039D; + remoteInfo = "RCTText-tvOS"; + }; + 3A6D62671E20428000D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28881D9B049200D4039D; + remoteInfo = "RCTWebSocket-tvOS"; + }; + 3A6D62711E20428000D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28131D9B038B00D4039D; + remoteInfo = "React-tvOS"; + }; + 3A6D62731E20428000D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3C059A1DE3340900C268FA; + remoteInfo = yoga; + }; + 3A6D62751E20428000D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3C06751DE3340C00C268FA; + remoteInfo = "yoga-tvOS"; + }; + 3A6D62771E20428000D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; + remoteInfo = cxxreact; + }; + 3A6D62791E20428000D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; + remoteInfo = "cxxreact-tvOS"; + }; + 3A6D627B1E20428000D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4; + remoteInfo = jschelpers; + }; + 3A6D627D1E20428000D0D2C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4; + remoteInfo = "jschelpers-tvOS"; + }; + 3A7531B120323B0700888478 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3A7531AC20323B0700888478 /* RCTAnimation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTAnimation; + }; + 3A7531B320323B0700888478 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3A7531AC20323B0700888478 /* RCTAnimation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28201D9B03D100D4039D; + remoteInfo = "RCTAnimation-tvOS"; + }; + 3AA3D5D4204DD40F00C3E8E6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 955F937AAFAB473EA79C80F7 /* AirMaps.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 11FA5C511C4A1296003AC2EE; + remoteInfo = AirMaps; + }; + 3AAE7F501F55B50200E914A8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; + remoteInfo = "third-party"; + }; + 3AAE7F521F55B50200E914A8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; + remoteInfo = "third-party-tvOS"; + }; + 3AAE7F541F55B50200E914A8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 139D7E881E25C6D100323FB7; + remoteInfo = "double-conversion"; + }; + 3AAE7F561F55B50200E914A8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D383D621EBD27B9005632C8; + remoteInfo = "double-conversion-tvOS"; + }; + 3ADA10EB2083B02000A5A019 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E01630B78690407F846F75E7 /* RNFirebase.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RNFirebase; + }; + 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; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 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 /* SimpleFcmClientTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimpleFcmClientTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 00E356F21AD99517003FC87E /* SimpleFcmClientTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SimpleFcmClientTests.m; sourceTree = ""; }; + 0E8C044191FA88F1BCCF08BD /* libPods-SimpleFcmClientTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SimpleFcmClientTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 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 = ""; }; + 13B07F961A680F5B00A75B9A /* SimpleFcmClient.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SimpleFcmClient.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = SimpleFcmClient/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = SimpleFcmClient/AppDelegate.m; sourceTree = ""; }; + 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = SimpleFcmClient/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = SimpleFcmClient/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = SimpleFcmClient/main.m; sourceTree = ""; }; + 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; + 3A6D628E1E20449400D0D2C7 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; + 3A6D62901E2044AB00D0D2C7 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + 3A7531AC20323B0700888478 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; + 3AC87E621F6C190900194883 /* bell.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = bell.mp3; sourceTree = ""; }; + 4339BFE31DAEBB4800F53B62 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = ""; }; + 4339BFE61DAED4D900F53B62 /* SimpleFcmClient.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = SimpleFcmClient.entitlements; path = SimpleFcmClient/SimpleFcmClient.entitlements; sourceTree = ""; }; + 4339BFE71DAEE9D100F53B62 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 441E689027CF4924A5FEA8F6 /* libAirMaps.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libAirMaps.a; sourceTree = ""; }; + 55A6E80F734FA3F596B96C04 /* Pods-SimpleFcmClientTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleFcmClientTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SimpleFcmClientTests/Pods-SimpleFcmClientTests.debug.xcconfig"; sourceTree = ""; }; + 64204739CA77D9B1EB1F0788 /* Pods-SimpleFcmClientTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleFcmClientTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-SimpleFcmClientTests/Pods-SimpleFcmClientTests.release.xcconfig"; sourceTree = ""; }; + 73B4AFC1AC5C6373F8074CBC /* Pods-SimpleFcmClient.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleFcmClient.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SimpleFcmClient/Pods-SimpleFcmClient.debug.xcconfig"; 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 = ""; }; + 9092A63DACE94E308B8FC43A /* libRNFirebase.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFirebase.a; sourceTree = ""; }; + 955F937AAFAB473EA79C80F7 /* AirMaps.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = AirMaps.xcodeproj; path = "../node_modules/react-native-maps/lib/ios/AirMaps.xcodeproj"; sourceTree = ""; }; + A959965489E40CE19F2B06B4 /* libPods-SimpleFcmClient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SimpleFcmClient.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + CF6939675D5A4A68FBE567C0 /* Pods-SimpleFcmClient.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleFcmClient.release.xcconfig"; path = "Pods/Target Support Files/Pods-SimpleFcmClient/Pods-SimpleFcmClient.release.xcconfig"; sourceTree = ""; }; + E01630B78690407F846F75E7 /* RNFirebase.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFirebase.xcodeproj; path = "../node_modules/react-native-firebase/ios/RNFirebase.xcodeproj"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 00E356EB1AD99517003FC87E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, + 5FE70723D2AE04BF2D98342D /* libPods-SimpleFcmClientTests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3A7531B520323B2400888478 /* libRCTAnimation.a in Frameworks */, + 3A6D62911E2044AB00D0D2C7 /* libz.tbd 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 */, + 6976C617E52062E3EE272128 /* libPods-SimpleFcmClient.a in Frameworks */, + B5EEA6C40DAD43C696D4A7EE /* libAirMaps.a in Frameworks */, + BF7706CAC45E4E1B91E94A6E /* libRNFirebase.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 */, + 3A6D62531E20427F00D0D2C7 /* libRCTImage-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302D41ABCB9D200DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, + 3A6D625B1E20427F00D0D2C7 /* libRCTNetwork-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302E01ABCB9EE00DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, + ); + name = Products; + sourceTree = ""; + }; + 00E356EF1AD99517003FC87E /* SimpleFcmClientTests */ = { + isa = PBXGroup; + children = ( + 00E356F21AD99517003FC87E /* SimpleFcmClientTests.m */, + 00E356F01AD99517003FC87E /* Supporting Files */, + ); + path = SimpleFcmClientTests; + sourceTree = ""; + }; + 00E356F01AD99517003FC87E /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 00E356F11AD99517003FC87E /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 139105B71AF99BAD00B5F7CC /* Products */ = { + isa = PBXGroup; + children = ( + 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, + 3A6D625F1E20427F00D0D2C7 /* libRCTSettings-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 139FDEE71B06529A00C62182 /* Products */ = { + isa = PBXGroup; + children = ( + 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, + 3A6D62681E20428000D0D2C7 /* libRCTWebSocket-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 13B07FAE1A68108700A75B9A /* SimpleFcmClient */ = { + isa = PBXGroup; + children = ( + 4339BFE71DAEE9D100F53B62 /* GoogleService-Info.plist */, + 4339BFE61DAED4D900F53B62 /* SimpleFcmClient.entitlements */, + 4339BFE31DAEBB4800F53B62 /* module.modulemap */, + 008F07F21AC5B25A0029DE68 /* main.jsbundle */, + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.m */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, + 13B07FB71A68108700A75B9A /* main.m */, + 3AC87E621F6C190900194883 /* bell.mp3 */, + ); + name = SimpleFcmClient; + sourceTree = ""; + }; + 146834001AC3E56700842450 /* Products */ = { + isa = PBXGroup; + children = ( + 146834041AC3E56700842450 /* libReact.a */, + 3A6D62721E20428000D0D2C7 /* libReact.a */, + 3A6D62741E20428000D0D2C7 /* libyoga.a */, + 3A6D62761E20428000D0D2C7 /* libyoga.a */, + 3A6D62781E20428000D0D2C7 /* libcxxreact.a */, + 3A6D627A1E20428000D0D2C7 /* libcxxreact.a */, + 3A6D627C1E20428000D0D2C7 /* libjschelpers.a */, + 3A6D627E1E20428000D0D2C7 /* libjschelpers.a */, + 3AAE7F511F55B50200E914A8 /* libthird-party.a */, + 3AAE7F531F55B50200E914A8 /* libthird-party.a */, + 3AAE7F551F55B50200E914A8 /* libdouble-conversion.a */, + 3AAE7F571F55B50200E914A8 /* libdouble-conversion.a */, + ); + name = Products; + sourceTree = ""; + }; + 3A7531AD20323B0700888478 /* Products */ = { + isa = PBXGroup; + children = ( + 3A7531B220323B0700888478 /* libRCTAnimation.a */, + 3A7531B420323B0700888478 /* libRCTAnimation.a */, + ); + name = Products; + sourceTree = ""; + }; + 3AA3D5D1204DD40F00C3E8E6 /* Products */ = { + isa = PBXGroup; + children = ( + 3AA3D5D5204DD40F00C3E8E6 /* libAirMaps.a */, + ); + name = Products; + sourceTree = ""; + }; + 3ADA10E82083B02000A5A019 /* Products */ = { + isa = PBXGroup; + children = ( + 3ADA10EC2083B02000A5A019 /* libRNFirebase.a */, + ); + name = Products; + sourceTree = ""; + }; + 3AF0A6071F7BE4DC004B899F /* Recovered References */ = { + isa = PBXGroup; + children = ( + 441E689027CF4924A5FEA8F6 /* libAirMaps.a */, + 9092A63DACE94E308B8FC43A /* libRNFirebase.a */, + ); + name = "Recovered References"; + sourceTree = ""; + }; + 4339BFD11DAEBA4B00F53B62 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 3A6D62901E2044AB00D0D2C7 /* libz.tbd */, + 3A6D628E1E20449400D0D2C7 /* libc++.tbd */, + A959965489E40CE19F2B06B4 /* libPods-SimpleFcmClient.a */, + 0E8C044191FA88F1BCCF08BD /* libPods-SimpleFcmClientTests.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 78C398B11ACF4ADC00677621 /* Products */ = { + isa = PBXGroup; + children = ( + 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, + 3A6D62571E20427F00D0D2C7 /* libRCTLinking-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 7E63D0154B6803F90ADF7C78 /* Pods */ = { + isa = PBXGroup; + children = ( + 73B4AFC1AC5C6373F8074CBC /* Pods-SimpleFcmClient.debug.xcconfig */, + CF6939675D5A4A68FBE567C0 /* Pods-SimpleFcmClient.release.xcconfig */, + 55A6E80F734FA3F596B96C04 /* Pods-SimpleFcmClientTests.debug.xcconfig */, + 64204739CA77D9B1EB1F0788 /* Pods-SimpleFcmClientTests.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + 3A7531AC20323B0700888478 /* RCTAnimation.xcodeproj */, + 146833FF1AC3E56700842450 /* React.xcodeproj */, + 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.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 */, + 955F937AAFAB473EA79C80F7 /* AirMaps.xcodeproj */, + E01630B78690407F846F75E7 /* RNFirebase.xcodeproj */, + ); + name = Libraries; + sourceTree = ""; + }; + 832341B11AAA6A8300B99B32 /* Products */ = { + isa = PBXGroup; + children = ( + 832341B51AAA6A8300B99B32 /* libRCTText.a */, + 3A6D62631E20427F00D0D2C7 /* libRCTText-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* SimpleFcmClient */, + 4339BFD11DAEBA4B00F53B62 /* Frameworks */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 00E356EF1AD99517003FC87E /* SimpleFcmClientTests */, + 83CBBA001A601CBA00E9B192 /* Products */, + 7E63D0154B6803F90ADF7C78 /* Pods */, + 3AF0A6071F7BE4DC004B899F /* Recovered References */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* SimpleFcmClient.app */, + 00E356EE1AD99517003FC87E /* SimpleFcmClientTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 00E356ED1AD99517003FC87E /* SimpleFcmClientTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "SimpleFcmClientTests" */; + buildPhases = ( + 53F91F9909896C758F1B39D7 /* [CP] Check Pods Manifest.lock */, + 00E356EA1AD99517003FC87E /* Sources */, + 00E356EB1AD99517003FC87E /* Frameworks */, + 00E356EC1AD99517003FC87E /* Resources */, + 635872D924B63A1432428C56 /* [CP] Embed Pods Frameworks */, + 867C784EBDC6B6879CC23C43 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + 00E356F51AD99517003FC87E /* PBXTargetDependency */, + ); + name = SimpleFcmClientTests; + productName = SimpleFcmClientTests; + productReference = 00E356EE1AD99517003FC87E /* SimpleFcmClientTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 13B07F861A680F5B00A75B9A /* SimpleFcmClient */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "SimpleFcmClient" */; + buildPhases = ( + F9E9BD9B8FD54DB4CDC0B27B /* [CP] Check Pods Manifest.lock */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 5FF00A260C7092D33989ED96 /* [CP] Embed Pods Frameworks */, + A9113A171CB85E9FE58BA52C /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SimpleFcmClient; + productName = "Hello World"; + productReference = 13B07F961A680F5B00A75B9A /* SimpleFcmClient.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 800; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 00E356ED1AD99517003FC87E = { + CreatedOnToolsVersion = 6.2; + DevelopmentTeam = V3RSH3E49B; + TestTargetID = 13B07F861A680F5B00A75B9A; + }; + 13B07F861A680F5B00A75B9A = { + DevelopmentTeam = V3RSH3E49B; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.BackgroundModes = { + enabled = 1; + }; + com.apple.Push = { + enabled = 1; + }; + }; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "SimpleFcmClient" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 3AA3D5D1204DD40F00C3E8E6 /* Products */; + ProjectRef = 955F937AAFAB473EA79C80F7 /* AirMaps.xcodeproj */; + }, + { + ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; + ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; + }, + { + ProductGroup = 3A7531AD20323B0700888478 /* Products */; + ProjectRef = 3A7531AC20323B0700888478 /* RCTAnimation.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 */; + }, + { + ProductGroup = 3ADA10E82083B02000A5A019 /* Products */; + ProjectRef = E01630B78690407F846F75E7 /* RNFirebase.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* SimpleFcmClient */, + 00E356ED1AD99517003FC87E /* SimpleFcmClientTests */, + ); + }; +/* 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; + }; + 3A6D62531E20427F00D0D2C7 /* libRCTImage-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTImage-tvOS.a"; + remoteRef = 3A6D62521E20427F00D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D62571E20427F00D0D2C7 /* libRCTLinking-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTLinking-tvOS.a"; + remoteRef = 3A6D62561E20427F00D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D625B1E20427F00D0D2C7 /* libRCTNetwork-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTNetwork-tvOS.a"; + remoteRef = 3A6D625A1E20427F00D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D625F1E20427F00D0D2C7 /* libRCTSettings-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTSettings-tvOS.a"; + remoteRef = 3A6D625E1E20427F00D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D62631E20427F00D0D2C7 /* libRCTText-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTText-tvOS.a"; + remoteRef = 3A6D62621E20427F00D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D62681E20428000D0D2C7 /* libRCTWebSocket-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTWebSocket-tvOS.a"; + remoteRef = 3A6D62671E20428000D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D62721E20428000D0D2C7 /* libReact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libReact.a; + remoteRef = 3A6D62711E20428000D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D62741E20428000D0D2C7 /* libyoga.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libyoga.a; + remoteRef = 3A6D62731E20428000D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D62761E20428000D0D2C7 /* libyoga.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libyoga.a; + remoteRef = 3A6D62751E20428000D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D62781E20428000D0D2C7 /* libcxxreact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libcxxreact.a; + remoteRef = 3A6D62771E20428000D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D627A1E20428000D0D2C7 /* libcxxreact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libcxxreact.a; + remoteRef = 3A6D62791E20428000D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D627C1E20428000D0D2C7 /* libjschelpers.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjschelpers.a; + remoteRef = 3A6D627B1E20428000D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A6D627E1E20428000D0D2C7 /* libjschelpers.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjschelpers.a; + remoteRef = 3A6D627D1E20428000D0D2C7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A7531B220323B0700888478 /* libRCTAnimation.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTAnimation.a; + remoteRef = 3A7531B120323B0700888478 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3A7531B420323B0700888478 /* libRCTAnimation.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTAnimation.a; + remoteRef = 3A7531B320323B0700888478 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3AA3D5D5204DD40F00C3E8E6 /* libAirMaps.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libAirMaps.a; + remoteRef = 3AA3D5D4204DD40F00C3E8E6 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3AAE7F511F55B50200E914A8 /* libthird-party.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libthird-party.a"; + remoteRef = 3AAE7F501F55B50200E914A8 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3AAE7F531F55B50200E914A8 /* libthird-party.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libthird-party.a"; + remoteRef = 3AAE7F521F55B50200E914A8 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3AAE7F551F55B50200E914A8 /* libdouble-conversion.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libdouble-conversion.a"; + remoteRef = 3AAE7F541F55B50200E914A8 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3AAE7F571F55B50200E914A8 /* libdouble-conversion.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libdouble-conversion.a"; + remoteRef = 3AAE7F561F55B50200E914A8 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3ADA10EC2083B02000A5A019 /* libRNFirebase.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNFirebase.a; + remoteRef = 3ADA10EB2083B02000A5A019 /* 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; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 00E356EC1AD99517003FC87E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 3AC87E631F6C190900194883 /* bell.mp3 in Resources */, + 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, + 4339BFE81DAEE9D100F53B62 /* GoogleService-Info.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; + }; + 53F91F9909896C758F1B39D7 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SimpleFcmClientTests-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; + }; + 5FF00A260C7092D33989ED96 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SimpleFcmClient/Pods-SimpleFcmClient-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 635872D924B63A1432428C56 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SimpleFcmClientTests/Pods-SimpleFcmClientTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 867C784EBDC6B6879CC23C43 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SimpleFcmClientTests/Pods-SimpleFcmClientTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + A9113A171CB85E9FE58BA52C /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SimpleFcmClient/Pods-SimpleFcmClient-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + F9E9BD9B8FD54DB4CDC0B27B /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SimpleFcmClient-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; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 00E356EA1AD99517003FC87E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 00E356F31AD99517003FC87E /* SimpleFcmClientTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 13B07F861A680F5B00A75B9A /* SimpleFcmClient */; + targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 13B07FB21A68108700A75B9A /* Base */, + ); + name = LaunchScreen.xib; + path = SimpleFcmClient; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 00E356F61AD99517003FC87E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 55A6E80F734FA3F596B96C04 /* Pods-SimpleFcmClientTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = V3RSH3E49B; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = SimpleFcmClientTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SimpleFcmClient.app/SimpleFcmClient"; + }; + name = Debug; + }; + 00E356F71AD99517003FC87E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 64204739CA77D9B1EB1F0788 /* Pods-SimpleFcmClientTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = V3RSH3E49B; + INFOPLIST_FILE = SimpleFcmClientTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SimpleFcmClient.app/SimpleFcmClient"; + }; + name = Release; + }; + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 73B4AFC1AC5C6373F8074CBC /* Pods-SimpleFcmClient.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = SimpleFcmClient/SimpleFcmClient.entitlements; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = NO; + DEVELOPMENT_TEAM = V3RSH3E49B; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + "$(PROJECT_DIR)/frameworks", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + "$(SRCROOT)/../node_modules/react-native-maps/lib/ios/**", + "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", + ); + INFOPLIST_FILE = SimpleFcmClient/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.myidentifi.fcm; + PRODUCT_NAME = SimpleFcmClient; + USER_HEADER_SEARCH_PATHS = ./SimpleFcmClient/; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CF6939675D5A4A68FBE567C0 /* Pods-SimpleFcmClient.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = SimpleFcmClient/SimpleFcmClient.entitlements; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = V3RSH3E49B; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + "$(PROJECT_DIR)/frameworks", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + "$(SRCROOT)/../node_modules/react-native-maps/lib/ios/**", + "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", + ); + INFOPLIST_FILE = SimpleFcmClient/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.myidentifi.fcm; + PRODUCT_NAME = SimpleFcmClient; + USER_HEADER_SEARCH_PATHS = ./SimpleFcmClient/; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + "$(SRCROOT)/../node_modules/react-native-fcm/ios", + ); + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + "$(SRCROOT)/../node_modules/react-native-fcm/ios", + ); + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "SimpleFcmClientTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 00E356F61AD99517003FC87E /* Debug */, + 00E356F71AD99517003FC87E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "SimpleFcmClient" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "SimpleFcmClient" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/Examples/firebase-migration/ios/SimpleFcmClient.xcodeproj/xcshareddata/xcschemes/SimpleFcmClient.xcscheme b/Examples/firebase-migration/ios/SimpleFcmClient.xcodeproj/xcshareddata/xcschemes/SimpleFcmClient.xcscheme new file mode 100644 index 0000000..8432ca9 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient.xcodeproj/xcshareddata/xcschemes/SimpleFcmClient.xcscheme @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/firebase-migration/ios/SimpleFcmClient.xcworkspace/contents.xcworkspacedata b/Examples/firebase-migration/ios/SimpleFcmClient.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..c662d07 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Examples/firebase-migration/ios/SimpleFcmClient.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Examples/firebase-migration/ios/SimpleFcmClient.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Examples/firebase-migration/ios/SimpleFcmClient/AppDelegate.h b/Examples/firebase-migration/ios/SimpleFcmClient/AppDelegate.h new file mode 100644 index 0000000..36bbf18 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient/AppDelegate.h @@ -0,0 +1,18 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +@import UserNotifications; + +@interface AppDelegate : UIResponder + +@property (nonatomic, strong) UIWindow *window; + +@end diff --git a/Examples/firebase-migration/ios/SimpleFcmClient/AppDelegate.m b/Examples/firebase-migration/ios/SimpleFcmClient/AppDelegate.m new file mode 100644 index 0000000..704f61c --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient/AppDelegate.m @@ -0,0 +1,56 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import "AppDelegate.h" + +#import +#import "RCTRootView.h" + +#import "RNFirebaseNotifications.h" +#import "RNFirebaseMessaging.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + NSURL *jsCodeLocation; + + jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; + + RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation + moduleName:@"SimpleFcmClient" + initialProperties:nil + launchOptions:launchOptions]; + rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; + + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + UIViewController *rootViewController = [UIViewController new]; + rootViewController.view = rootView; + self.window.rootViewController = rootViewController; + [self.window makeKeyAndVisible]; + + [RNFirebaseNotifications configure]; + + return YES; +} + +- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { + [[RNFirebaseNotifications instance] didReceiveLocalNotification:notification]; +} + +- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo +fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{ + [[RNFirebaseNotifications instance] didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; +} + +- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { + [[RNFirebaseMessaging instance] didRegisterUserNotificationSettings:notificationSettings]; +} + +@end diff --git a/Examples/firebase-migration/ios/SimpleFcmClient/Base.lproj/LaunchScreen.xib b/Examples/firebase-migration/ios/SimpleFcmClient/Base.lproj/LaunchScreen.xib new file mode 100644 index 0000000..e97b0c7 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient/Base.lproj/LaunchScreen.xib @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/firebase-migration/ios/SimpleFcmClient/Images.xcassets/AppIcon.appiconset/Contents.json b/Examples/firebase-migration/ios/SimpleFcmClient/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..b8236c6 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,48 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Examples/firebase-migration/ios/SimpleFcmClient/Info.plist b/Examples/firebase-migration/ios/SimpleFcmClient/Info.plist new file mode 100644 index 0000000..0c8c676 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient/Info.plist @@ -0,0 +1,59 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + Simple Fcm Client + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSExceptionDomains + + localhost + + NSTemporaryExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + + UIBackgroundModes + + remote-notification + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/Examples/firebase-migration/ios/SimpleFcmClient/SimpleFcmClient.entitlements b/Examples/firebase-migration/ios/SimpleFcmClient/SimpleFcmClient.entitlements new file mode 100644 index 0000000..903def2 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient/SimpleFcmClient.entitlements @@ -0,0 +1,8 @@ + + + + + aps-environment + development + + diff --git a/Examples/firebase-migration/ios/SimpleFcmClient/main.m b/Examples/firebase-migration/ios/SimpleFcmClient/main.m new file mode 100644 index 0000000..3d767fc --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClient/main.m @@ -0,0 +1,18 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Examples/firebase-migration/ios/SimpleFcmClientTests/Info.plist b/Examples/firebase-migration/ios/SimpleFcmClientTests/Info.plist new file mode 100644 index 0000000..ba72822 --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClientTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/Examples/firebase-migration/ios/SimpleFcmClientTests/SimpleFcmClientTests.m b/Examples/firebase-migration/ios/SimpleFcmClientTests/SimpleFcmClientTests.m new file mode 100644 index 0000000..f09c28a --- /dev/null +++ b/Examples/firebase-migration/ios/SimpleFcmClientTests/SimpleFcmClientTests.m @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import +#import + +#import "RCTLog.h" +#import "RCTRootView.h" + +#define TIMEOUT_SECONDS 600 +#define TEXT_TO_LOOK_FOR @"Welcome to React Native!" + +@interface SimpleFcmClientTests : XCTestCase + +@end + +@implementation SimpleFcmClientTests + +- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test +{ + if (test(view)) { + return YES; + } + for (UIView *subview in [view subviews]) { + if ([self findSubviewInView:subview matching:test]) { + return YES; + } + } + return NO; +} + +- (void)testRendersWelcomeScreen +{ + UIViewController *vc = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; + NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; + BOOL foundElement = NO; + + __block NSString *redboxError = nil; + RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { + if (level >= RCTLogLevelError) { + redboxError = message; + } + }); + + while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { + [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; + [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; + + foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { + if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { + return YES; + } + return NO; + }]; + } + + RCTSetLogFunction(RCTDefaultLogFunction); + + XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); + XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); +} + + +@end diff --git a/Examples/firebase-migration/ios/bell.mp3 b/Examples/firebase-migration/ios/bell.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f4e4adca3f11b4e9aaeeaf6835a0dd4f3e4c1016 GIT binary patch literal 24116 zcmd?RhgVbWvo^eUIw3%)1_TLJnh-i7O6UjysfrX0RhrTjlt&VJ2?|IF*g`L&qJRZk z=w0b5HdI7FL{w0u<=yc)=ls66{0CpwqO4?*Yv!7{XXc)nz**1f0RGR1ThNJP&~pON z*L?suq65GXC=4$jKVDc=Tt;3|Sxv*haIdk6x%B}@C)Yz>{z1o2M8?F%CnP4NW@Meq z$;~fhmR!EdDyyijy>|WPt;XhiEe{?&Y3u0f=^J=DG&=tL#pIiJ?>~O}JojaB>BrBN z)wPW+2uq7%VrQYPzS|%YQTg8@i4f)CR1*Mf7yke9le3QR0N?-sav37} z009&LKuB-0;2chK%|evkyVDj9bzXX^XHsex#!{p=sn83~DI;C;J?-1SUAdDPvUXO3 zv+9QCEZ(<#F;9$BDBJy~*ag;0*WC7V||ejuagB5Y(bVIER1$2845S zG$v|n{$n>MfivGybjf4l*7GyMX76IlKLtx~`awvRYnRTcE6to_J#f1@=W}iGL(5)| zgal5J<*(bKrzOq*z-Jx6y~661fn%358y8~crt7#kq$Jate{m>)B3B>IcdjU*x7JqJ zB}X?gn<3+os~k6gvo*%tdbE+E|N80GX$X-9A?DhCxOPO<3oktQG5X`RcU*lpzeYL^ zg@1XgxlQSuWx;48XL$R%FBium$xQ8EoKv&_9E9V`;rNb**v9W$H2Ltd=6t6Z>dk=M zbI!N%2|!X{B~O4eymigt;z0@1WfkGy18zl}ldm|-m9FE&A6U-!3J9r&{7L@(Y~$~J z?>2k<*qpBx$GJGpa9H5KIOhM_=fRqY@j4dG+1l$`_Y0q${ib+XwTrXtRQN#0KOM3o zTVQJha7w+#{=VVvYgF)*eZ3UHkHzGn2pxByu=$ zMTU>{gUWE;t#?hn1Z8_1eb#uF!+Bx>2gx+NlBB>B7@Z6V2nQb30Ju13Vem_E64wtB zfq-a;wbTvz)U?8hKm7#|Y~o4^HQ;@CF^}C(kdJR!o03zSnBJKE(zANq!W( zv}TOap6JepaCIgrqE7kcBL{fd@$DolhDuUJ+d!#Ym4G)FCp`)7`7dvQw7>p#(q~9H zbvuyn8|0EL3j$#w}7kDTNu@(`$sa6idTJU+epZlSx?45!y zQ8HxS)qQPyE;saYo>$Xa!}I;8TxSxN3~91loT4On16-R0>2u~^e=8fa`Ym*>Kj8dQ{`u|mYf`)M=I8aw zO01!XlMNYu4geCiNH!P>NRww9AkAnl1VjLqw&tBf3OHiD7-+cN5zp} zV@bDi(9qiaOe3};0|NP0JvG*7y4{OWPqqd;TRC_iC#AYQszE1Bdd`_>CqEM& zphfsFS<2>jFl$ze`m5WI{6L9(3FdYs6w!mB9aL2cNY3Hn z7}716yR^w+ZBu2)08hSXPY2K?ZZxa6<_%}~vGO>lE@%35TYIIc)kEARgv`ge=EM8@ zKip3vlMS|+S)BXSrM$%Xsi09DCF>5uLuj1<@W!O{c_gjQ=Ow{prm(g8_4^Jk&Tg=C zN%b!d3t2_QEqj)0rqBY(xK=;cp!z2p<4v~?YzBP~mz9g?Ame!4#y{#=c{|R?$)xtF z5@-mJ7K<%>PkGt?XIleD>rvR|SLM?x5RnNq0M+9n-qNV(biOo$i=#)kfN)qLWm7ki z0nvQ1o;#8+I(c7~2eKjA>TU+*bi5hlkUyP@2_hwQ9gsWSTO4eZZUrYXC0RTvLxzcD z6DPS!J0|G-oJoBo$ z%~=S>18)M!GI3aLq7_&LKu5cr>zEz>`G#B^9l#=5S(^pnTuTWEgm@DHiM?LbK`@-{ zuuDVS;}+p+1Lu<|uk+k_kLrPZn2t2eR3+12H7MSZu8?2}SoSLIkLzDQ+x15ZK)Z?;FLZMx2Q?l3ts@a?Wsod7@+ zm<2HNck8u|+_zyiD{^tPK?@4x2atWLQxugTeg5h4w?S2>0mK5ss~27UUG69RxssT5 zcLFF+_{`Zff9%vW>Ja&q2((gj1|L%UN{8B5)K;3zKpKW1cpe{dvdFtk(D7x^2>V2) z$|MZ{U}TrS`oJtCA-{%r8%(LvYoQ|SPdrxQ0e~q?E3JnO$oFe1AEpSwUJ|Do4vG-m z6l%ipA*3Z=Qjet0SgO`_VcBA^P1dMi!CC;2q4%b;FM0+NF(9OYYu=u@c!7KSM zIP27oU4SHyl*#?K04S8E81jgX2wK>&ABHsRxyLUE0u6U350U2Wo^{TFbSLlqiEIEL zPUUyjS^jM6V{+itFJw{`0+RyC+z8OK075~(qr~0D;@o~Yky}wn7*2#2l?)O`-Vp$P z1I+cJi0)$N`OfUmVV*gfieD6BylSulX$jmgcX12)w&|%c@j_M(m9WLGgVTU_O8}h1 zQDhd?l(agOPytX8NxniYIaq~ar*1=;@it6rZae%DDH~xBXYlrunMy8bRx9x-COpG_ z`QTlgQ(4nH*g*i~IwXgKEW;AEJ=!=HoYU$Z6?E)rq5{c*sD=!{)e^ZR2+`0(y4p9+ zgvzd5uF-v6xf0kS8X$#@^<{gD%tv_79WPCb?>e$_+kVdM0RZe=*UQ{K&)gY^ktSgz z0*N_%BZn7m?O~|wVtB)Z=rrb$v#1=i{LD*!U3_jAlU#;dg=qao85cxcPJje(c~kO5 z&zTEeIf7L!@=Dv2V26Y*b&;)wMRbp=Pug!|J)E04+U3qX-f1{t+MsyR$pP&jbLSxc zfH;fa2!l`U&*(tGW>S#*`!5oWR0AD~cc1K$w30P{Wx0$i&qKbls*yd%^qOr0rv!GG z-_}{R%8B#YC3gT8C$RTQ07wL2oQG5pQO;@*AP9kTG^#xznBJNK)pH#%Jg_}_Z zwL8%P&Ch}uLupJSlx9l0Izc(*dx|wb(;F;KJF}ZW=XIpl#4_2i9%aGvt!CD30|3Ll zjq+@F=F`{#_GC{L#jR(lONW=SH+gy>@C4%ppLxd%8so9GTPrKw&VpyG&rX`LV1gec zYz*XMh=ar)iWX1cKt(D;2kX}tYf1^UG3XxSqal&%S(zurs5(_ z$I6S7ahBmbnL0xO4e!tMm1eZ77UP_DYJ=uV4*NeUIn(AivtN?8LhPFZ0_7(Iy!tH&iRJ;XdbF zBHkua4^7%H^hj+90C&YQ_{P-fEm4XS4ihy@|Q>gqH#fUzb94I=q-lyE! zUGQkf@M%d#+8Y}I^4}0IR`|3~w9i34jwB+fWpY~^iu1${9M}`STbq2Uo%$73YwxJSd#~@BtlX#zxun(lwzzWk_YfcPm&`9iLS%v^jKAM*jalvKaj< zm~sFw#Y?}H+Gisex3i_PbqJ!~VH3KvGrXp11U$kuET zEQOH88d_2t;4@)KZVv$1PSn&(iU=~crF8NHCjOtKWu-Gxv5&wW05}f?Ia4k>2wHc8 zwl>SRZ0cERRSquN^R*is{tuyKL9?Pa`O?z{PxchRCNbJ}kzSQGwKiCj)`@67*dL&^ z(W?N#*sxG7)KM>HNsjcGDQtqti|wzV;_`)*RF1W7lM5wg3` zVEB*_Q!kUcoXw<|F#~uBIP4`(Y%-7Pq*N2>Td#_cuZOFb`(%p%8#oI9IF_|&mygnq z2Gffqi(b+ammOZv^0n??**>DGbRc%*?7~TSpE}st8m2eUM`a-ryS2>QO)gxtiq%+A z|EK3QEIe%W0r2?zL&E2KG{ItGZgCsDl1dWN6gzLUkw;=4(4+z;7w#YV&RThV`SD`j zT`8YeHo^NSwkD;;k6uAecvkdRtA94n;ueb+4%!zv6H zh!v4+z!7BV7yV4JNVZ(%RjFSd=TYa4rVOG&Kj@X838~~|!xLr!-W)$+a9@2hR{}KH zoeyyk21$@wMdgq7n=p4ivv+&;t`-bK>-5v7{5ZHU!y2?yQKUr@9EczTpS5bNCC|?7N)-4R z|KmzUSgg#&mT{v=7Z3y#z@#Pb zkd$TWDS(MOpLc6YiJ_+UuY(Dtltzx}ZoCLJq3hF$QRT=2?ZYTKu9ROVmOunR7)3Fj ze}@D`kS7rnPDX@JPD^5pBm1dI9M>nFw_-qpztt&M0yy3B(!ZyqE43<+Z`lv5jXt7` zJ@JfC#?WxWS;CodN_Br7O&(>hHd-7ok>FrzUCb=)L;vqLj ztS>63pUya*4D6;amEMreAnud2g8}e>BjzZxU%L`_D8~#RJ-D)s4FDP&$$}62XD>ii zB)bDemx%qg=Z4?#;&hYm+}6CBvNY3$?9HMv)Gr4{nXc4`xFy1;+q5w-nwszZtO5K1 z#lwUpYDk}WABIS6TuP4@4)hf`k^Lj0{6Qx8D_W^PR$^;{YYHh7xDOvVaea$c-im+o38i}+J3wI(7 za%b*Kg?v}MFL*4XYNtd+7E7 zz=76^E^UJWO{GrR`r+2;9v$GBBeSbLeo#iFD+#fAEcx|YrPWi^=L1bYQ#Z!8Q@<4s zJ?r=Te2_U9E^Y&wa_n>4+Uu4l*`xgzS@7wd!Rxcq4|^cl*K0F zgd{c1D*nhu@gd+k52bz4Q{JRlViZ8-Q~%NSz%}yr8EVei8_y+Qv$waqjBqb5a$pZ> zk2X1~o%$Rdki#Dvx?1*F9MF#-%cQ-r)Z#&!P{CYA@Mk*#UYyCT1|z09Aed+{qtGsW zMn1Byc)fnBPlcP(Kq#d}V&XmI%6h5G@3m^`Pa9x)nbtZ1S8AIaxHx#amC|l*D5ZW( zQw)S~EO|n^Pw%b5piq*ns)Dy#FGLseC6u+an6eVOUtBISyTKbN38(v15zyBn&QSCl z^~!*@`sQq+1*LTXk5f%EV4DNE78%BRcW}#P^+(Gp$DxK6sRN*Qv-fDTpn{_lHA97h z#XSHBgM@3jg}GF^o`5g((UkD5K|vV@jilIH*-M}qJKO!nLrDxNvQFD_=v%!X=uF!$ z@89vdE*8x44)%RIaILB1^2l%T%BAguba~=V+#dTpe8)j?R=p#}GEk0iF3h|z@m?I~ zS@V}O{sr80rUdZWR?n6_&6h9$e2uzX@XLig+(3o{yOW_}D6F0MC{2;d7wyMhGG?TM zms(fD2lR1 zOeCM0nSm~73HbrB1EgCH=|hc~a$+kgAbLl11prwFtm9G33sBt|s5tg=d#463*o9## z*3nW8gg&<;+RQU*ePzfJL!~+=VaCpc=T$5?O`v z@({{%vo9cMX4V-io7&;l$2L8W$0%TF@Cc~cAp+e}q2i8iDGzBXkjNV3mgUi*vC9mj zPUO<`#fA@rgC{^m!f(&`UoSJvQaPTx(ohnW#31F{SBIO6XrAybW5Xbd&L>OPd+q7u z_R-TtGyG>S5h*aW^Kvj`dX&*Q9ox{6xPI@jpf1&2!SZ>ZkWf9x1~4VfDy1GM-UBe` ziiq#P&@C~L1n5L+Z)%kiWbK>}qRiR(I2uo4_|Bjpf(R_+`E=^1H)xK?@ds}uO%vtA zZrliS4e}olc~K@K^Y`B!&*BmZ&@ z&@J;Ju76e%Z=eDK!6lb_WT=AxfGYuG%`3E=c{ztfnr;cJZFQCyGdm5KmkbYuvewwqpq_qpOz zVja^f=ABL?Y@A#$vk(UWsf8%MY~nvZy!v&LUA^C54X^1X(Q%QD7lM zRg5pIyxq^onS;+Eqh{>LJX1>!N?-#T_=OK1#{#Oua3I(qXGO(Njkg4KK1y~S$HkA;W^fKQB z$z(7c(`T)iOI-PFi2Wl2g@f3E>rNVFJmw7`G?t8s2@WGqx7keq+PXQL~ z-FAFqIke9{{Nf9rc=zbGlHh@!6ZdY1Bh>vzUWB)F_$|XiRvSX(N{+p+Iqu#-O?(^* zsvOH)IQC*B*fiL6-=L-1K!H7d=rAi||9K1VimHgTv_DtLam;k_JTuKJiVlo+pnR!STJLA;xLZwFVxT>?NXKMA1^g61oh3S6#v#>om|fx^ zp!E@hNy=wBrHqnF@u8AB>VjeefKCk(ML^|{*(!lp=*s^`J@SdVO?Ih`mAckq147JU zJji_FUM|J|NUie;W__#Yb;TRCUMXX5JjMrc>Ypo{{T=q~PLzmBK{qqKyJ+6(BFEn* zL3e)3tpT$kzSY6~(E|&0ukX|^Kv(|0;5*9U%?DTXqVK9rJRLNxDMfxB{}Nx&A$FKb z9MQ$Vf!VfMhFu#l4cjIKphc6q^om1L5BR+Bx#dW>&Bw!ARTq9N7_9j>gK{`6&8hW=k7ccrnN|bd{T;Z?NQ(v$L`ldCX#IYaqg0#n?hfb z4$5$7mk|s`;2wNM&~jN{w|<>Lgu;Bxfrw-{JtHxTU~Ue7{yTOASYu$pP#kE0P%HqZIWIDF`E{F(fJkE9WIA9v;2J zxZAlcgo{I3X4`4f}-)O5GOBh%eon(KJ}hA@E&SxUdril20Em%9bbce@KsZ{^PDc)%B)*fMc-$p55BZ3Fn|5R_S;{Bp zO7YP{ys(1X0EUG{3Q4kw)*XkJziQE}DBP<6=e)n^5$N22H2qvdEkVvucYGB=A=4C}B(}Hh&S}GbOse^Yd~tPI zL#&1*%F-AKT-0?E^h$gn<3Mc38oeoXyCBl;o>M>RssW>3`Ck3#scQ_7PlE|S3a(g? zYPB`AWE9^-)44cUpbOB@Ee;A*!jPcryYs)CiHy@&3cCX2bM@udrr*`*o2a(@mule%Yrx`);B4k4gS zByiWK^Dm=-#XYFM@H?H=4&9(7qsNx8>HC2Nv4ysZ7mL6~M?*XR<&oGfD{)u%wyt>N zVugoy?|E(m_B@eRs_zRiBi5#U(uc8nlbz_D@Qn0InfveW5yVK*@h2;F>AvcfZ`_5d zwX{-rXo#~2K%iowFHoXZsU*8LM-DZBs%HGlsHKReCf9fFLIsCp49-+~z_e(uxWSzO z)ZUI0y!sQJ6kgIX&KCz4fO>YHpH7TSBhupWYhFMJh0!xVOv1k-5&e*WY`IH-mu*g{ zKF9aH-b9cMXafMoP|E-s6LxXd!#hw=-jC32eha9o%h%rBJ%o9G_iK*jHlmxD5c;`b z5;&Y{3${_`@_DEvDuHZc;lFF&m93?jpVeP&C_$38TKC>Oa&r5YaP{)O)75u!;3I~s z+VIbB`&$6$5g2>ISyL%gr8ud*g67N*{%#kdnG+j<3>;3GYC@L1z*~}a+Ph(nMxU|I zD9qNyNyF*vjEYtQAs-3M2!a&Evo>oiiHQKNoDgFQ<&srBAMgqxoV1w!k*&@L>mICB zW=Y+=XBYRj`+WWFw{wRLXETrA*e$4(wYD|U?0z?bns7_|UP|>Jb!2Asu?Xl#9 z!6!i}gqY1l2Y{fem?-KHU%20v4aUKI;Z#E+K*b0%g;1K8E=EX>4i`vB{v_tEu>!+0 z)`34yyRtgNJ6l-r8f|CgvN`JwP;*L5@~g$y@0vGor0M3x;LEQX zeL{2X+(KaW|GJs>|rh)ZGm-{AcI1rG<8 z$-oP9GJvFA%P6-b!1t`JzuJ?An=BPs*=Qg z{o567yUP7#DE2uzJ*z#KpC;&mvP{r`@i0wmiad}uDu=|4glnefPg`mB@Y}L%E~Gap zJ$xsJYS0hBX*&n1b>9ZvwX(ZY2&VF;IO`89%+eYIpAHO}nUfx+3G64s(r|E$kPN1{ z2kY9S;GD?Oj+SrkI2bLYe7}m<+`j7cjYFeIcgjl-&+*i_3DMVXhraugLoG4>&us0Y zy$(fabM3A(0oG z!<#Q(K0JQ?Wsd?@zUEdYG(47`1q3*&G{XL)bsZDp01s$hogLqZywPOFhh2Ljn{ zMgv(iB8I0+j;*2wqR^}zR}gGTY9JWE4W-g_TLTMiyY=Arl9(zl{)Hxb`Ps8m zcjREuf%>`{S1EpRV^hky{yo~g9r`eFE7$!twq^3$c*J%Ztilq08 za3!#LZ<#*heKW`t7SGx(LZ;2Y9DMR;2x_Um@q`)J6qN)IfSJnsGEo5tZ@~L8(*G?6 zrK1QZQ`ipDxZ;tiEgP+#^V;uyzE%kA4iy$UBl#T87r(p|oWQw5qBfJ9^<}&Vh~;7N z-6nz*mMNkYgJK}bp6oy>V=rBe?S~#PAv;QU(_^%H0Wys^AUYP`Ya+&fmdq!0^qE@b z;P>ng1y{r*lD5x7s|{qRBhbgN(6l=f{9Yx!N=6|15&)sotzvDiic(+fxw+seHsMHo}TLL@4L?DC+8-L(h7f*JFm=d-fTk-S$BDXUXJH2j5(AIXN#F$( zZN=0GP4Giq9eGQ;oCJp_@$|^f-1}=l>8x##r*NePllF&Oa0klor7=}@i*xxJY-snu z#>_u(P{GjhoOH$HFik;n2eCUbiFg0|#fR)EVjpp@C2kv%8Rv&n;5%TDJ#Zg8Aj~_k zUEE3Vcm5%^(w`(NfDIG|(V- zV8H!DR+{$f4l?=}?v2y48U|Pjr_bCw{u!P%BL?(#QG?ZwTL*sOB~6oe)85Obx zW2Q`X@wwA#l4xdZziHgD`geqPyd|9Zt)&KmIjIAY95_&~d5VF*Z~#Acjs3yVppC7@ z#uFe17%-9)ql95{>)EW7Q%FDOq-QFxfuO@#gDOol?7M z`uTW>L-caFu?JV2AE#S|{xoq8mF>bF_D z$E?`t@0IIFv0pFJCt)N2fci}!qT=+7{h^>!P+xk9_Lot*b&i=X3z8b09uNpII*1M& zCoxIN=20+SIYW9*xTMZ`y;d?fY3~fQee~Y>u@0Xs-e6xcw9t~jTj%l6wD5PwB)zXD z6RtiEI5k;9dyzPx0w)_flwo{HHY!rgLSEe=3~Z)u3hxvpp|^vGAdr^*`-So+cqq$W zkAf--{>lbbz8}MPDoxg!sjEbYprFeHWNo_jl$mzTDT`7RCZLIbIzBZeX%ZyIrw~VH zyBnejl1v6lHHV6r7IIML{p>-m17*t zaeNfJ3JMc%LWD&!QTE~!U@iVbW#%@idbwCYOBWTemkD5^lp3dne`lNQd#frEo|po& zgqVY*leQdtX#4wnTIKs9u53JXYX>v#`ptV@On?smY&=hiLr}GMtdiuh07Pn%OHR6& z2_<(uJjZrH#eg`GQEewost6 zJU2JuKx=aosOu~D9uCO{4eFA9ytl{j{*(bKGmWCjS(QU}B%)`~C0eW+0`p=2v7TM2 zo(}8ZyVo=_f!FYO#fdDO=b~w~ZTr!Ir!+f#UXxbYI3~tAk!3P8)H$W@aN|l-g$kPG z;fd$H8R323$lLi2qy6{b#I<1Cw_qEW9T2pZH_>H9$xW@ND@OA#`TZ-b*2r_M$OpFf z$rKb`ry%yNH+3rbDG87~6U?`bpu^A6Bn0IrnV~i&VIN$zy~XTyRUs?0*8ZU*X=U)U zq_ah9Q!zz(3F(RD_)orKNy*69FyZVD5SD~2T>6=9@EHL+pw%hif~0l9g$=aoN)J0u z|HzQ|9krjA3>*OfEUJbp8-i{%V5UiqGMjpbQC#My#*e!>&-WjUAVt4=?-SFCFE%mF z{OE!-eJ?CSt2}XS>lRK(U?0NoYZfdUxE3PRQk*#$5&MCyLY_KqyRELstiCc1lcczF zxY*6KfU->65Q7(htSNcLU4$TSYVM5%D-(tHH3ECHW`deKqgi>6yD z>M56teZ$e@t?q>9dlv>!<;|KeizrLl8)od#kp<+HaT7dx$Nn^kki))qx7OXN9xrT? zrR}d_CsSe6mWQwlc1|!!c$z3H&TrpyfTev|gB+J)g1w15gt>k8i-xAxtkrEB&>R4u z8xS;vr(3Zg?~Q^_eNKm#)WSWX;cHE~otIq<#np{0tr_MwkQn_qC-VyB2110FCHt;J zoZzMudhym&Ix|%6na`hM%kS6o5|;CLTOV&bdI)T1>{%eS{oLlqjrz#b%{8nlTyID$8`(B`rrMrk6S_C_bl+bh_^&2dv`3H_{-LCe7AUHLd}b~K zv;KbU!;!^p@mumHeSraTd<^8p{dzZ^%M|=tybkO{RpzKNZrMgYOo7eF^c0i#Roc0z zk->e3V;d$%pD0ClkjoGB(mb63E#eu}zLVD@{xVM;R%dTqzrH~z5l-Hsu=iDB;P;l0`khMLk||M9#xj4 zYe~a7Cmt`2-sX^IB6$#c0!h^v%c6%h9kA^I@@7KYu1uS|AOh3zIT>F-*wJgmr%6G_ z^1bD5ojRph`R_Ih0L{GxFj@MFT?Sav>(x$ZJdcN#f4Uy-h2jo;>Rwuv1K(7<;vqG` z^N75~#PPBVN3Kw-ZYp1Bjm20fqoUROF8rE=hkM2oUnsX8($I2C4HIc1+FgTNVvVkV zto3i>Mg}>blP9*vsEVqwc2(CT)_@(*S=r=T0S=}PadCW!!)Y_ohy@o&8b9ne?wF2% zVA|XJlF#rnN{u{}lXH2Go(eV}qQ3kN10>q8)&uLt!FQgVSQ1VIkm;uMNWgAm*UP%_ zO9m?O`@1P^Drumb=pOgdBwnCQV}+h|0d5*r{72M-b6+Rn^?$o1R{{iRC9)S~yxHkq$l`qe`(xKACb zZa7df)X?}V0o^kEUr+2ztBQusX+?gOjhjoBhe)B4#}e5`fnWn%)+@HV@6&!MFED2v zZgtuuEW~NOY{&g25ms1NJ^ALyoJL3_VSm!c87=hfS|yf9X)vSbIpuYo`S4JGaNDc_ zrgY!2#i6^0WY9G3LhLCH01@R#pF^iL)E|@g+=Wzz&4>rDd`zWl1ERS$#zyQ zNYn}Plg%q%cp&_4xH;n@*X0Gdn!@OoIuO@UX2g2*j1u3h9~3WtRevT1Os|{+adHUK zl5%^4OCUkfpJm^;XX29c+c9PmtHjmx$yb3?S_Bly% zbhN>rdyNPDFFoNe3Bp1J4BpyfQ$1!|tuC4k<1z};EiUcRB=0n3wW6z{rDiWdml3S> z>@Y@H*0OL?wHulvd#8>8l?-Vc2i<@x%ROlR2mAapYWA=kl*0DQFlE)Cs{-MHl;iTgu-+;o*R`?V5p|i~>90b6XB*1}{qq!OSef#HgEq=h z3z}qHi>O!fp+Gmrcx>A93$LSA@#2ze=B!wby@p_3@kHqhd}_IJe}Meodq zHW$L=hy`f@RB+biLNu>EOyQp@Ti(5UuYOc-dkBQgE;<>X*S$0sbvfQ7oZ?V3yUeJ6 zb_};T?_6NbC;UM6)$TVvI^GM_4QDP7t!=mY&c}mcgWqNWtW=@SS7`eBuZLK4K$a6Q zr4~WFNllFnNApO|Ps$+d`1go?nAxDp5r!YPEMDRN$L>K|?nU2Iuuq)x8P}X$RHU>s;j?)f0H{*L)y-e?vy2qy$itbjZb z!Wr9tt>9_s4{#{E&-u*r=kHbb@jWT%e$nOk%tGqv;bMRZ0MAxe@#X3RBQH@MNh!W= zd6#+X-hSD;*^OI0t1Q#~L}WqaZRaUywgZFw0Ylc3;^H8Ij%kQDv?;3)9YB?$j>&%3 z8f(AKF6u?JZ!h~|zPaB@VEpU$%e4|7C3ew?Q}CbopmLY%O1%#JO&g;^xb%_>XN)%o zVKUg)hQB|G_O+xOHwBpFzgrf^-81&PIPgw!aWEj#8rsA_n^L*{rq(J+l)q8-Qfaq| z%xE~LgXk&8<68I7>#|D4;TCd8!U7;rR%+f;!lUOOXY#vFc+ZZ?Uqw}LWyRvj2R=y= z7EfKKU%m}ntHZJ}kS+q^<|YBfvq%5SJ_Jag?WU|;bU+|5>yl0`b{%(+6;{cbt3Nvr zH?buZ8Z+-c_p7a{mpHXbfy<0&HA*3DjGQj>XFb1pwV5+M0yI4;kBmPY=;rxg9%@sA zbjY7IQ6&skQH zwZgGr5dAhfvz?2>OEZV;!}=63mCN-5wbw!0h2m+wd*@fHQ!cm;KCTAx0r2j|KQd13 zx)*CwU!L}N>+4M-zTUHhW)LVk&*0zn-{$%QRWx`Q6zP5fJ<*K%o{kWM^0cMh)+crv z`DEAa;^GJZ=Am4i8fp%-7z<9joXpyJQW+3QhZ*gY@~0}>s%ROBt*HhXdj*Sc^Ei>< z<2-%u>SXGhw~6zhA{on-{@3#mher0pj_`sp$9sax(<#OV-dW39e}XRZJak##W{u?H zh|oHgq3wXV)Tw-QfP>^N5hXx++Rr<8*NAe#{DHW-8(4nozKwf6bh)2AU6=n+aQk2! z+YBoHJD6L(qSJgO*KPKr$F8zlaoY!_|Ev|Ia@J2$M$~WTmLB~Hc3a;cP`2daY@>J7 zL-v`QVWmLvK=KjpYN1y{@Qvc7qfc5LYRaoO8Z8|E$+oe(4oMIDwnPIb4#FV&s;1Tz zt~BUKmOSw|zcq2G`c}1qE=%k%T{P@>qgxH!^42MhA+_p{VQC95y@ zI7zZu_PTD9_>!}kl>3&-`R?KVwQP=elOqD`voztWv9T+tJHP*uM(@zGS)#27U7?gO zX1l+_lf}CsuJ9ZTl;HSJNrsrnH8r?%aa8FDGL(Nl%~A`Xb1JzP_vW855wscS9?A7o z!q&NPR0n{5@^Qv$M61Ei`n+$mUpHzX@feJ7kFNIT>)e7-R#zRMO9s!cvcSUK{5U~mvf5qBT6Y3M-wo+2kGNKJ(a<=kBNwwCf{|=GJOa(cHzhY?Y~d~T)c6SQ*zeU$BQ9A$Y=PX$2!223+%SDG)>b8yIUPyIzf#l1y`vzuM= z01yryXVXCIzP9tSQd!}CN5uvsbrU3DE<{@6vs2v#dWp##&PbgDz>jTj|6T|MT5?6n z?LW~LJCck3#y2y-{Nca$Nl$}5l4UgZhwSX~-u!cdbMN6OcMSk-PUS#naqWB!Yw!|f z%F2lG{(0CY-C&ey)O@NFv%W*nuBRS&ji>4V@^P6mPfMDND}8)FbL5x}M{{1XHkIUd6K}Xc7@8j;-$1BnSLsbO7{(Q<6e3|4^MD(qt z%I>XJ+BZ_dDCf@aSpaQ8gckdNU@ezw(F-kS6HjRV=CHgBoUHHWLc@G~hZBI1gyNeV zidqO&TsR96|Dx+vLn;7YW+EqR{W>D=hSZqo@~b$zCmW<~uHodAD@$c>{bKfwuI!*WwJSmI_Q&s2Oi>99>1zFLQC+0COD(M+-%bOABa% zcstY;QZDFlA{spsWB&7^?uP`Hc}*n%B8lH14q|3ybes*)r!^bCbJpPz)udx}u5;Dm zN4|{!AeI)PXi)#UFOqOZ={tu-EL4_P*v#|0Q;Xu_c+<>1AsplkF^PNoFd94K3Vg7I zZpzp(M@*35!SG?z7pg4Aj2wvgp z2c8q>FOH=EJaF$#DAVCsOPLarlP38qT$~`lYyraAr^HG@2k4+XUTcVQ`rwAu*lGi> zmQeFAL&`BkfRHTB5%+{EU(nIM^y0{g9KJTg0sluIP6oFX`>Oz2Z0`PFr%}(>x#)}g z_)8LI1>WZzTEhol&aMZLJjf?poJgR<2*UB6rN*QM;K99!_cDQdUPfG$KHhzWv(&0} z?ZNuB-Vjw%wSxu#+L$cvgG{2iS9j%;UAyjGPL7f#`B=^$>Gh*`*4Vh8obPUCxyb8P zPTl=t2|p6`gjx^l)+_w2N6*kYDA4(_m|=xOH)M3H$mFY|r7F+@I+=THe8J`3r6&QS z!bjIp@Q1DE<2Uyo4mtnkP}ve3PX*3YguhyPoKf(|cu2iadFO0kpD*QiXqfBKd8p~# z%5}feWx`-Y1y`RGnmGf~M`nh43i3B}vxtM1(bp=tpL*|yCa>6uZ#x6=YLZl}KCIm9 zIKTYcgd9l+rMY#=_g#Ho{<+F|v$X~Q{iV<`0ZNk{CMI5CUwCl-kZ;ts)xLY`@S;VW zSMewjnhfDPvT0^as7^HMCB{SX4fzNG?GA6+DkR+AIGw?*1d>>h+EjRq(4) z)ryN#44BRC(Pcq6vCw@RT`V7|2z}%>t1N5<04aJF4=hV5U;ePs=6HHm$Xf~#2AaZ$E6r9jEglgMVZLy2%4x~a z1~N-wmUtSkWDBZ(n-^$o4`?gh$O#ZwaV_NW>v#ASNuk<|h z;olUKpW!PCwOi%|hfXbiwVQtafYSiL9W(VOn4wuG!`CFSVFvIeIy95OcU*@htwM1} zr5_ z&qEIYctuax0>Ggyv4=EF?Pg*Ri{5)A^KQ!Xs^LxL(`3M@h8aPoDs`BZ=VH~j8ZtAU z%SF}va-w)}8lklcyZ_+0y1H_4T4`of2uD|$cqXl?3BDHrJ^!Bv0B&!CvKsghY1z_w z;Pi?ieYO?Wy;*yWvkd^o+BmBfipgr8g2xW5wb?7M#$1%Ef@GT*wb`}*7tT|_ocu42 zALQ4NKK}u6b%nHooCp9N_Dc8?DJfe3-6m%%^T}=7UNt2Ewm*rp={+Ma#b_gRFMW_q zbTm8L?NrUX8D=1S;s3&!1d?cwefVmK$D#NJH2;r2ki3aut1Qs%yl&U6{bDQ0%LjB$ z_y}c*TyL3s!kGYIRw>f!ZXTAu7@rjP&SPaU{KhX#o1E<0=owpI{y+ACIMK3WsCb*fRf3#-5DoNB;*D3ryeuB{%+0n_2`~SAds-(&SS@6 zQ}0^qX{Z@X$( zbO`7Fr4Ilo!Ola0g(#P>#ai&gCHOiH?eSk|oTu{M{XhdcloP&Sf4B<=WZUcvIyLg# z^!(OQ{p#u*WHX5Rq#~}<{XbWBAaI* z@x|wAMdrKzRm-`@L$!8se9TZfT~MUL8HtLbL?`J&?zalLoso!x5JKfdj7+7dLmKqv z$R$P@l*{h7VLv)1~p^*pop zewH)Llis`YbUrJd1ze#FsDsBWy~aS9fDYz-+ZoQZ-#9q^HfRsbAGD5s#~vJ96G%Rt zhMOhKM)VxaMYLV!T0F1%oWY1eDmwB02;m~Q3m>^Njw&DBz5Lu!w!K1jjETw&XWE`2 zoc?XdQSVK&hx1;MrPKA`Ppi=2i1E{K7H%L?U;aizrPXbFpR=nf_uazX2l_ZX4fNvD znC}h^M~+JyC0jO&?RuXLUb+j~!-g-Tqqf}}4ZDzWeHEXQo$B2LEX1g2k=?( z4Ffe1LZ5Dc{_SH*Z^q@V=1PTpQ4gj$pCS$9QN1b4?}a+}dk)MYxK2=9h@%6z;sZ}& z5h*f4?Zgp>b#WS16Y2QG#d8O4tA>K%*bD)ChVlAmpx;*4bh<^+G==31zGuf5$Dki^ zFkC`hoyiRAYqm0k_5hME?Wzo@0_?!tbK+j@JpV+lw*co8p0FO;BU{rM3^|0XzxCT+ zJR(mQF5mz0`0P6)^q^zKy|Q>OAp&I1>qV;>!AnQ8Hd^yjs+(W-jSA{|IPw8{pF&Qh zbJwg7mO}F_zR{cD?tPvMY~WMnaCzXA%_+`-t`IP$#~aplA%k{Cb=*iQhYWz8fZzJ? z_vK}v-rmUXz(!c=Q6u9V5K;yQ~M*Ru``l1td8wn|6x0l2t2YVUpq-SUq2 z;e{_NV|qdo1pL-Zh}?>C>>{RGV||Y!GrR(->Q&~8;&eSevIReTZy)K`W^>8Mg$QQ09x8U`ejDYsZp1h zt>*y%1KD64@XUvn&EI88YyL^@pzVV`<&I3j`1BAWEiul{{~Vv0m=V!_USN^B_ttSU z=IL18lI$)1J5%XmZ19<#w4bz4Gp{@ZfN|Q4-{85Z-q?8jVT^MWvuEa-*cR(N%tV9~ zsF#22#p{k3qe3M^xzbrlD^|M0f}o*xrGgcvs(v4HOS;D zka>9Ivt*};$J&Il8|(ilQTMPe4kH@QaA0Vs{6@gv6y9tZ1LX+nfW>oh1IUEi zGE&|e0#fDO_=;`}z%|@xI6dChT-=zr96wq{n*!MYnsGejVAJ1fphOwAc^WyVCh4_Z|o zOyB;ZZZ^+kHURGxqE;+qTI@G>*f@9ReEmw^r9?0KIRVZv0bhr4j(@iv5RqIcpmof}V?pj5V!cKV}JVhA0#V ztQDK*H}RSB9Dm^sz~w319RGn4lx=2SKt@u!d-^%OJ#EVNpdFVA`aSG#CK7Flo}u~c zg6ez3VD7?f798h>DEbGnR&1~yp!Mx9T@z8AftP*E$R3#1KvWU`q!;6en=NRza_Z&1$$-bF`VmHUM&mjyT+im)O! zF2Gi7U)qBOM%^`K-@D&?_aAm&Ruo0-(h$a#Z)$<5C8uVy&Y`7=Txv|;f%gmJ#m8{8yJu3ZGcXl7(x1-I`ZnGqSC5$u3e@+3{?d$E=5Tm&L1j zJU^I}8w+8+*wt8FbiA9dnV)EV=nvUa@ohhh4WZKcfnhfaf%=LrCG;|}S_IIaW6K>II!I;;v{-Xu7$g7w-4%Tw4g@!Yho0g?;7M!n#=F6W+UouGX80S9S%xsg^tyHb_aoN@!dgtk3S?{fmqdwRBh%i1_{xv;C z2SV`&96TWt<4~}ciQ&a5*XI~Z1{l3~Y-+e#p~7G7o|-E&Ja>;n%){+~P zt9SspRW93fBve$|cGED)wK1lucke6XWPfc|uj$4-BI26_fOF8JIZb_jDCZLawlbV* z0qKSLZD;S{nwFNLk|XCW3zsye#|F2t8nRk4e&cTMtpYyo0F*o|*6Ncp2rW1C9z3-F z;0aPiO1k;uXikwTziSZDkQ`ClTI%uTL}cnY(-?u$jn#t)Ob4jTxQnAD`}Vkb?hD>` zR6LxrnY7?VcSlWQ>vbZcD>PaN_;;%B9_f8=XuA$Jp!uD8Z(I1l74MFu=tlRdj#z)c ztHmlX#<20EX;fuyPr@dLmjN-U)W!3xMa}N@WZXv)Y^G$PGg<15~E3x^q?Vy+H3*_ z6jQ-u&QrPQ6Nxo(U4%HHXpNkJ;GAdHil8kA5+)0!SXp;S&revHC{FbRZ2TT<0W=ZI&>~ zyh6>ga54y+bx62$HS?W@Mfw`RkKN6At(tcgOeAU9+?j8KynfV3%e^S&>wfCYnw_bE zhm}eW&=Mu`1?mod`xvp(P|$^n#F@)+l8#MC&qU0Lo? z)RQ)<)?L>&4dZkr(&qy~QoytRfz>LWwlVPW1)!~=ELx3Ymz1nkkeqsDFuw#j^DBL1 zwY8X1L5)IamR?>ldF*9@E%Zw%;Ga_8g>ohd!o`^1XxRMC=842;W1xuSV|r}0C9PYz zAv{H)-=H9|C|hG^BT=*Wm1lvREp9eIock{?h`)Jx1uIk2_3~lbj>0kJ1L4o!9E#U5 zd!cS6N42PR~{xgX`c^l&-V1C2R=Qo-2;Vt_|G23^?uF)J0G*R1n_QVa< zx)b$XY^`}^%5NRLxr^FMq8LsGyp>lZbUmH=;fR~GlW5q0&CkD?MAyfL_&Hg)d|Ybv z@uYI7FlrB%amFLQG3%2~YJB*4!Z5s&vUE>rsBE!Dcs zvisw$`XB7l7E08NmM0&$+UK4lWnXcdf5Vb+0x(<2i1WD`V!_W@5_=h1?!o&|&S%1d z2N)+9=b;PpC$ZGJj(%iJ+-bE_49ondMeUwV2xmI6qc@FHjhtzxl|+rKANI&w2C7K4 z8_|DU+mp5RGHh7oBzZjH85_RV0J!hkn&o^}cZlY4>r;rJ1?9l}nf@Pq6Z0EaG>%B3QHwYi+@BlrYORZw z>sK$VR#wqJW#xspU*eP^!PQWBJHK9UEb&&3?@C<2sR}q(ctYmNI|DGF!frNgl`AdS z(Z-lb)hT--A5Qx%2j_v-ov-I1|C2qG!==o+OHfaP^Z0vMz5btE`Rj|IoS{e&D)zr5 z=kNcYetqgc+Cw>m1jFOg^$n{B|L6+;-Iq~LKcV^=R=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-escapes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" + +ansi-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" + +ansi@^0.3.0, ansi@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" + +ansicolors@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +append-transform@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.3.0.tgz#d6933ce4a85f09445d9ccc4cc119051b7381a813" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +arch@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.0.tgz#3613aa46149064b3c1f0607919bf1d4786e82889" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + +array-filter@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + +array-map@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + +array-reduce@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1, array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0, arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +art@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/art/-/art-0.10.1.tgz#38541883e399225c5e193ff246e8f157cf7b2146" + +asap@~2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +async@1.x, async@^1.4.0, async@^1.4.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" + dependencies: + lodash "^4.14.0" + +async@^2.4.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" + dependencies: + lodash "^4.14.0" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + +babel-code-frame@^6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.20.0.tgz#b968f839090f9a8bc6d41938fb96cb84f7387b26" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^2.0.0" + +babel-code-frame@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.0, babel-core@^6.11.4, babel-core@^6.18.0, babel-core@^6.7.2: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724" + dependencies: + babel-code-frame "^6.20.0" + babel-generator "^6.21.0" + babel-helpers "^6.16.0" + babel-messages "^6.8.0" + babel-register "^6.18.0" + babel-runtime "^6.20.0" + babel-template "^6.16.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-core@^6.24.1, babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + +babel-generator@^6.18.0, babel-generator@^6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.21.0.tgz#605f1269c489a1c75deeca7ea16d43d4656c8494" + dependencies: + babel-messages "^6.8.0" + babel-runtime "^6.20.0" + babel-types "^6.21.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + +babel-generator@^6.24.1: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.6" + trim-right "^1.0.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-builder-react-jsx@^6.8.0: + version "6.21.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.21.1.tgz#c4a24208655be9dc1cccf14d366da176f20645e4" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.21.0" + esutils "^2.0.0" + lodash "^4.2.0" + +babel-helper-call-delegate@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" + dependencies: + babel-helper-hoist-variables "^6.18.0" + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" + dependencies: + babel-helper-function-name "^6.18.0" + babel-runtime "^6.9.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" + dependencies: + babel-helper-get-function-arity "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-optimise-call-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-regex@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-helper-remap-async-to-generator@^6.16.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" + dependencies: + babel-helper-optimise-call-expression "^6.18.0" + babel-messages "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helpers@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" + dependencies: + babel-runtime "^6.0.0" + babel-template "^6.16.0" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-jest@16.0.0, babel-jest@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-16.0.0.tgz#348729aea6d624a4774b8a934d07a40dd2cfd640" + dependencies: + babel-core "^6.0.0" + babel-plugin-istanbul "^2.0.0" + babel-preset-jest "^16.0.0" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-messages@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-check-es2015-constants@^6.5.0, babel-plugin-check-es2015-constants@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-external-helpers@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.18.0.tgz#c6bbf87a4448eb49616f24a8b8088503863488da" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-istanbul@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-2.0.3.tgz#266b304b9109607d60748474394676982f660df4" + dependencies: + find-up "^1.1.2" + istanbul-lib-instrument "^1.1.4" + object-assign "^4.1.0" + test-exclude "^2.1.1" + +babel-plugin-jest-hoist@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-16.0.0.tgz#b58ca3f770982a7e7c25b5614b2e57e9dafc6e76" + +babel-plugin-module-resolver@^2.3.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.7.1.tgz#18be3c42ddf59f7a456c9e0512cd91394f6e4be1" + dependencies: + find-babel-config "^1.0.1" + glob "^7.1.1" + resolve "^1.2.0" + +babel-plugin-react-transform@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz#515bbfa996893981142d90b1f9b1635de2995109" + dependencies: + lodash "^4.6.1" + +babel-plugin-react-transform@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-3.0.0.tgz#402f25137b7bb66e9b54ead75557dfbc7ecaaa74" + dependencies: + lodash "^4.6.1" + +babel-plugin-syntax-async-functions@^6.5.0, babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-class-properties@^6.5.0, babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.5.0, babel-plugin-syntax-flow@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" + +babel-plugin-syntax-jsx@^6.5.0, babel-plugin-syntax-jsx@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.20.0, babel-plugin-syntax-trailing-function-commas@^6.5.0, babel-plugin-syntax-trailing-function-commas@^6.8.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.20.0.tgz#442835e19179f45b87e92d477d70b9f1f18b5c4f" + +babel-plugin-transform-async-to-generator@6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" + dependencies: + babel-helper-remap-async-to-generator "^6.16.0" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-class-properties@^6.18.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + dependencies: + babel-helper-function-name "^6.24.1" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-class-properties@^6.5.0, babel-plugin-transform-class-properties@^6.8.0: + version "6.19.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.19.0.tgz#1274b349abaadc835164e2004f4a2444a2788d5f" + dependencies: + babel-helper-function-name "^6.18.0" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.9.1" + babel-template "^6.15.0" + +babel-plugin-transform-es2015-arrow-functions@^6.5.0, babel-plugin-transform-es2015-arrow-functions@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoping@^6.5.0, babel-plugin-transform-es2015-block-scoping@^6.8.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz#e840687f922e70fb2c42bb13501838c174a115ed" + dependencies: + babel-runtime "^6.20.0" + babel-template "^6.15.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.5.0, babel-plugin-transform-es2015-classes@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" + dependencies: + babel-helper-define-map "^6.18.0" + babel-helper-function-name "^6.18.0" + babel-helper-optimise-call-expression "^6.18.0" + babel-helper-replace-supers "^6.18.0" + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-template "^6.14.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-computed-properties@^6.5.0, babel-plugin-transform-es2015-computed-properties@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" + dependencies: + babel-helper-define-map "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-destructuring@6.x, babel-plugin-transform-es2015-destructuring@^6.5.0, babel-plugin-transform-es2015-destructuring@^6.8.0: + version "6.19.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz#ff1d911c4b3f4cab621bd66702a869acd1900533" + dependencies: + babel-runtime "^6.9.0" + +babel-plugin-transform-es2015-for-of@^6.5.0, babel-plugin-transform-es2015-for-of@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-function-name@6.x, babel-plugin-transform-es2015-function-name@^6.5.0, babel-plugin-transform-es2015-function-name@^6.8.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" + dependencies: + babel-helper-function-name "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.9.0" + +babel-plugin-transform-es2015-literals@^6.5.0, babel-plugin-transform-es2015-literals@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-modules-commonjs@6.x, babel-plugin-transform-es2015-modules-commonjs@^6.5.0, babel-plugin-transform-es2015-modules-commonjs@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" + dependencies: + babel-plugin-transform-strict-mode "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-object-super@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" + dependencies: + babel-helper-replace-supers "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-parameters@6.x, babel-plugin-transform-es2015-parameters@^6.5.0, babel-plugin-transform-es2015-parameters@^6.8.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz#46a655e6864ef984091448cdf024d87b60b2a7d8" + dependencies: + babel-helper-call-delegate "^6.18.0" + babel-helper-get-function-arity "^6.18.0" + babel-runtime "^6.9.0" + babel-template "^6.16.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + +babel-plugin-transform-es2015-shorthand-properties@6.x, babel-plugin-transform-es2015-shorthand-properties@^6.5.0, babel-plugin-transform-es2015-shorthand-properties@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-spread@6.x, babel-plugin-transform-es2015-spread@^6.5.0, babel-plugin-transform-es2015-spread@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-sticky-regex@6.x: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-template-literals@^6.5.0, babel-plugin-transform-es2015-template-literals@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-unicode-regex@6.x: + version "6.11.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-es3-member-expression-literals@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.8.0.tgz#180796863e2eddc4b48561d0c228369b05b722e2" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es3-property-literals@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.8.0.tgz#8e7cc50cfe060b7c487ae33c501a4f659133bade" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-exponentiation-operator@^6.5.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-flow-strip-types@^6.21.0, babel-plugin-transform-flow-strip-types@^6.5.0, babel-plugin-transform-flow-strip-types@^6.8.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.21.0.tgz#2eea3f8b5bb234339b47283feac155cfb237b948" + dependencies: + babel-plugin-syntax-flow "^6.18.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-object-assign@^6.5.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.8.0.tgz#76e17f2dc0f36f14f548b9afd7aaef58d29ebb75" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-object-rest-spread@^6.20.2, babel-plugin-transform-object-rest-spread@^6.5.0, babel-plugin-transform-object-rest-spread@^6.8.0: + version "6.20.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz#e816c55bba77b14c16365d87e2ae48c8fd18fc2e" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.20.0" + +babel-plugin-transform-react-display-name@^6.5.0, babel-plugin-transform-react-display-name@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz#f7a084977383d728bdbdc2835bba0159577f660e" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-react-jsx-source@^6.5.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz#af684a05c2067a86e0957d4f343295ccf5dccf00" + dependencies: + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.9.0" + +babel-plugin-transform-react-jsx@^6.5.0, babel-plugin-transform-react-jsx@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz#94759942f70af18c617189aa7f3593f1644a71ab" + dependencies: + babel-helper-builder-react-jsx "^6.8.0" + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-regenerator@^6.5.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz#75d0c7e7f84f379358f508451c68a2c5fa5a9703" + dependencies: + regenerator-transform "0.9.8" + +babel-plugin-transform-strict-mode@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-polyfill@6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" + dependencies: + babel-runtime "^6.22.0" + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-preset-es2015-node@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz#60b23157024b0cfebf3a63554cb05ee035b4e55f" + dependencies: + babel-plugin-transform-es2015-destructuring "6.x" + babel-plugin-transform-es2015-function-name "6.x" + babel-plugin-transform-es2015-modules-commonjs "6.x" + babel-plugin-transform-es2015-parameters "6.x" + babel-plugin-transform-es2015-shorthand-properties "6.x" + babel-plugin-transform-es2015-spread "6.x" + babel-plugin-transform-es2015-sticky-regex "6.x" + babel-plugin-transform-es2015-unicode-regex "6.x" + semver "5.x" + +babel-preset-fbjs@^2.1.2, babel-preset-fbjs@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-2.1.4.tgz#22f358e6654073acf61e47a052a777d7bccf03af" + dependencies: + babel-plugin-check-es2015-constants "^6.8.0" + babel-plugin-syntax-class-properties "^6.8.0" + babel-plugin-syntax-flow "^6.8.0" + babel-plugin-syntax-jsx "^6.8.0" + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-plugin-syntax-trailing-function-commas "^6.8.0" + babel-plugin-transform-class-properties "^6.8.0" + babel-plugin-transform-es2015-arrow-functions "^6.8.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.8.0" + babel-plugin-transform-es2015-block-scoping "^6.8.0" + babel-plugin-transform-es2015-classes "^6.8.0" + babel-plugin-transform-es2015-computed-properties "^6.8.0" + babel-plugin-transform-es2015-destructuring "^6.8.0" + babel-plugin-transform-es2015-for-of "^6.8.0" + babel-plugin-transform-es2015-function-name "^6.8.0" + babel-plugin-transform-es2015-literals "^6.8.0" + babel-plugin-transform-es2015-modules-commonjs "^6.8.0" + babel-plugin-transform-es2015-object-super "^6.8.0" + babel-plugin-transform-es2015-parameters "^6.8.0" + babel-plugin-transform-es2015-shorthand-properties "^6.8.0" + babel-plugin-transform-es2015-spread "^6.8.0" + babel-plugin-transform-es2015-template-literals "^6.8.0" + babel-plugin-transform-es3-member-expression-literals "^6.8.0" + babel-plugin-transform-es3-property-literals "^6.8.0" + babel-plugin-transform-flow-strip-types "^6.8.0" + babel-plugin-transform-object-rest-spread "^6.8.0" + babel-plugin-transform-react-display-name "^6.8.0" + babel-plugin-transform-react-jsx "^6.8.0" + +babel-preset-jest@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-16.0.0.tgz#417aabc2d7d93170f43c20ef1ea0145e8f7f2db5" + dependencies: + babel-plugin-jest-hoist "^16.0.0" + +babel-preset-react-native@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-1.9.0.tgz#035fc06c65f4f2a02d0336a100b2da142f36dab1" + dependencies: + babel-plugin-check-es2015-constants "^6.5.0" + babel-plugin-react-transform "2.0.2" + babel-plugin-syntax-async-functions "^6.5.0" + babel-plugin-syntax-class-properties "^6.5.0" + babel-plugin-syntax-flow "^6.5.0" + babel-plugin-syntax-jsx "^6.5.0" + babel-plugin-syntax-trailing-function-commas "^6.5.0" + babel-plugin-transform-class-properties "^6.5.0" + babel-plugin-transform-es2015-arrow-functions "^6.5.0" + babel-plugin-transform-es2015-block-scoping "^6.5.0" + babel-plugin-transform-es2015-classes "^6.5.0" + babel-plugin-transform-es2015-computed-properties "^6.5.0" + babel-plugin-transform-es2015-destructuring "^6.5.0" + babel-plugin-transform-es2015-for-of "^6.5.0" + babel-plugin-transform-es2015-function-name "^6.5.0" + babel-plugin-transform-es2015-literals "^6.5.0" + babel-plugin-transform-es2015-modules-commonjs "^6.5.0" + babel-plugin-transform-es2015-parameters "^6.5.0" + babel-plugin-transform-es2015-shorthand-properties "^6.5.0" + babel-plugin-transform-es2015-spread "^6.5.0" + babel-plugin-transform-es2015-template-literals "^6.5.0" + babel-plugin-transform-flow-strip-types "^6.5.0" + babel-plugin-transform-object-assign "^6.5.0" + babel-plugin-transform-object-rest-spread "^6.5.0" + babel-plugin-transform-react-display-name "^6.5.0" + babel-plugin-transform-react-jsx "^6.5.0" + babel-plugin-transform-react-jsx-source "^6.5.0" + babel-plugin-transform-regenerator "^6.5.0" + react-transform-hmr "^1.0.4" + +babel-preset-react-native@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-4.0.0.tgz#3df80dd33a453888cdd33bdb87224d17a5d73959" + dependencies: + babel-plugin-check-es2015-constants "^6.5.0" + babel-plugin-react-transform "^3.0.0" + babel-plugin-syntax-async-functions "^6.5.0" + babel-plugin-syntax-class-properties "^6.5.0" + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-syntax-flow "^6.5.0" + babel-plugin-syntax-jsx "^6.5.0" + babel-plugin-syntax-trailing-function-commas "^6.5.0" + babel-plugin-transform-class-properties "^6.5.0" + babel-plugin-transform-es2015-arrow-functions "^6.5.0" + babel-plugin-transform-es2015-block-scoping "^6.5.0" + babel-plugin-transform-es2015-classes "^6.5.0" + babel-plugin-transform-es2015-computed-properties "^6.5.0" + babel-plugin-transform-es2015-destructuring "^6.5.0" + babel-plugin-transform-es2015-for-of "^6.5.0" + babel-plugin-transform-es2015-function-name "^6.5.0" + babel-plugin-transform-es2015-literals "^6.5.0" + babel-plugin-transform-es2015-modules-commonjs "^6.5.0" + babel-plugin-transform-es2015-parameters "^6.5.0" + babel-plugin-transform-es2015-shorthand-properties "^6.5.0" + babel-plugin-transform-es2015-spread "^6.5.0" + babel-plugin-transform-es2015-template-literals "^6.5.0" + babel-plugin-transform-flow-strip-types "^6.5.0" + babel-plugin-transform-object-assign "^6.5.0" + babel-plugin-transform-object-rest-spread "^6.5.0" + babel-plugin-transform-react-display-name "^6.5.0" + babel-plugin-transform-react-jsx "^6.5.0" + babel-plugin-transform-react-jsx-source "^6.5.0" + babel-plugin-transform-regenerator "^6.5.0" + babel-template "^6.24.1" + react-transform-hmr "^1.0.4" + +babel-register@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" + dependencies: + babel-core "^6.18.0" + babel-runtime "^6.11.6" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-register@^6.24.1, babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.0.0, babel-runtime@^6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-runtime@^6.23.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.8.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" + dependencies: + babel-runtime "^6.9.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-template@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad" + dependencies: + babel-code-frame "^6.20.0" + babel-messages "^6.8.0" + babel-runtime "^6.20.0" + babel-types "^6.21.0" + babylon "^6.11.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-traverse@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + babylon "^6.15.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.21.0, babel-types@^6.9.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.21.0.tgz#314b92168891ef6d3806b7f7a917fdf87c11a4b2" + dependencies: + babel-runtime "^6.20.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.8.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" + dependencies: + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0: + version "6.17.2" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.2.tgz#201d25ef5f892c41bae49488b08db0dd476e9f5c" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + +base64-js@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.1.2.tgz#d6400cac1c4c660976d90d07a04351d89395f5e8" + +base64-js@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + +base64-url@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.2.1.tgz#199fd661702a0e7b7dcae6e0698bb089c52f6d78" + +base64-url@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.3.tgz#f8b6c537f09a4fc58c99cb86e0b0e9c61461a20f" + +basic-auth-connect@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz#fdb0b43962ca7b40456a7c2bb48fe173da2d2122" + +basic-auth@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.0.4.tgz#030935b01de7c9b94a824b29f3fccb750d3a5290" + +batch@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" + +bcrypt-pbkdf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + +big-integer@^1.6.7: + version "1.6.26" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.26.tgz#3af1672fa62daf2d5ecafacf6e5aa0d25e02c1c8" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +body-parser@~1.13.3: + version "1.13.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.13.3.tgz#c08cf330c3358e151016a05746f13f029c97fa97" + dependencies: + bytes "2.1.0" + content-type "~1.0.1" + debug "~2.2.0" + depd "~1.0.1" + http-errors "~1.3.1" + iconv-lite "0.4.11" + on-finished "~2.3.0" + qs "4.0.0" + raw-body "~2.1.2" + type-is "~1.6.6" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +bplist-creator@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" + dependencies: + stream-buffers "~2.2.0" + +bplist-parser@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6" + dependencies: + big-integer "^1.6.7" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browser-resolve@^1.11.2: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + +bser@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169" + dependencies: + node-int64 "^0.4.0" + +bser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + dependencies: + node-int64 "^0.4.0" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +bytes@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.1.0.tgz#ac93c410e2ffc9cc7cf4b464b38289067f5e47b4" + +bytes@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +cardinal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9" + dependencies: + ansicolors "~0.2.1" + redeyed "~1.0.0" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + 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" + +chalk@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" + dependencies: + ansi-styles "^3.2.0" + escape-string-regexp "^1.0.5" + supports-color "^5.2.0" + +chardet@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + +ci-info@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" + +clamp@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz#66a0e64011816e37196828fdc8c8c147312c8634" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + dependencies: + restore-cursor "^2.0.0" + +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + dependencies: + colors "1.0.3" + +cli-usage@^0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/cli-usage/-/cli-usage-0.1.4.tgz#7c01e0dc706c234b39c933838c8e20b2175776e2" + dependencies: + marked "^0.3.6" + marked-terminal "^1.6.2" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + +clipboardy@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.3.tgz#0526361bf78724c1f20be248d428e365433c07ef" + dependencies: + arch "^2.1.0" + execa "^0.8.0" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +color-convert@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + +compressible@~2.0.5: + version "2.0.9" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.9.tgz#6daab4e2b599c2770dd9e21e7a891b1c5a755425" + dependencies: + mime-db ">= 1.24.0 < 2" + +compression@~1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.5.2.tgz#b03b8d86e6f8ad29683cba8df91ddc6ffc77b395" + dependencies: + accepts "~1.2.12" + bytes "2.1.0" + compressible "~2.0.5" + debug "~2.2.0" + on-headers "~1.0.0" + vary "~1.0.1" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +connect-timeout@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.6.2.tgz#de9a5ec61e33a12b6edaab7b5f062e98c599b88e" + dependencies: + debug "~2.2.0" + http-errors "~1.3.1" + ms "0.7.1" + on-headers "~1.0.0" + +connect@^2.8.3: + version "2.30.2" + resolved "https://registry.yarnpkg.com/connect/-/connect-2.30.2.tgz#8da9bcbe8a054d3d318d74dfec903b5c39a1b609" + dependencies: + basic-auth-connect "1.0.0" + body-parser "~1.13.3" + bytes "2.1.0" + compression "~1.5.2" + connect-timeout "~1.6.2" + content-type "~1.0.1" + cookie "0.1.3" + cookie-parser "~1.3.5" + cookie-signature "1.0.6" + csurf "~1.8.3" + debug "~2.2.0" + depd "~1.0.1" + errorhandler "~1.4.2" + express-session "~1.11.3" + finalhandler "0.4.0" + fresh "0.3.0" + http-errors "~1.3.1" + method-override "~2.3.5" + morgan "~1.6.1" + multiparty "3.3.2" + on-headers "~1.0.0" + parseurl "~1.3.0" + pause "0.1.0" + qs "4.0.0" + response-time "~2.3.1" + serve-favicon "~2.3.0" + serve-index "~1.7.2" + serve-static "~1.10.0" + type-is "~1.6.6" + utils-merge "1.0.0" + vhost "~3.0.1" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +content-type-parser@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" + +content-type@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + +convert-source-map@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + +convert-source-map@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" + +cookie-parser@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.3.5.tgz#9d755570fb5d17890771227a02314d9be7cf8356" + dependencies: + cookie "0.1.3" + cookie-signature "1.0.6" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.3.tgz#e734a5c1417fce472d5aef82c381cabb64d1a435" + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + +core-js@^2.2.2, core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-js@^2.4.1: + version "2.5.5" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.5.tgz#b14dde936c640c0579a6b50cabcc132dd6127e3b" + +core-js@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +crc@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.3.0.tgz#fa622e1bc388bf257309082d6b65200ce67090ba" + +create-react-class@^15.5.2: + version "15.6.0" + resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4" + dependencies: + fbjs "^0.8.9" + loose-envify "^1.3.1" + object-assign "^4.1.1" + +cross-spawn@^5.0.1, cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +csrf@~3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/csrf/-/csrf-3.0.4.tgz#ba01423e5b5bea7b655e38b0bdd1323954cbdaa5" + dependencies: + base64-url "1.3.3" + rndm "1.2.0" + tsscmp "1.0.5" + uid-safe "2.1.3" + +cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.1.tgz#c9e37ef2490e64f6d1baa10fda852257082c25d3" + +"cssstyle@>= 0.2.36 < 0.3.0": + version "0.2.37" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" + dependencies: + cssom "0.3.x" + +csurf@~1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/csurf/-/csurf-1.8.3.tgz#23f2a13bf1d8fce1d0c996588394442cba86a56a" + dependencies: + cookie "0.1.3" + cookie-signature "1.0.6" + csrf "~3.0.0" + http-errors "~1.3.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +dateformat@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" + +debug@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" + dependencies: + ms "0.7.2" + +debug@^2.1.1, debug@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" + dependencies: + ms "0.7.2" + +debug@^2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + +debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +decamelize@^1.0.0, decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +denodeify@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" + +depd@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.0.1.tgz#80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa" + +depd@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +diff@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + +dom-walk@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +envinfo@^3.0.0: + version "3.11.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-3.11.1.tgz#45968faf5079aa797b7dcdc3b123f340d4529e1c" + dependencies: + clipboardy "^1.2.2" + glob "^7.1.2" + minimist "^1.2.0" + os-name "^2.0.1" + which "^1.2.14" + +"errno@>=0.1.1 <0.2.0-0": + version "0.1.4" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + dependencies: + prr "~0.0.0" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +errorhandler@~1.4.2: + version "1.4.3" + resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.4.3.tgz#b7b70ed8f359e9db88092f2d20c0f831420ad83f" + dependencies: + accepts "~1.3.0" + escape-html "~1.0.3" + +escape-html@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.2.tgz#d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@1.8.x, escodegen@^1.6.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + +esutils@^2.0.0, esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" + +event-target-shim@^1.0.5: + version "1.1.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-1.1.1.tgz#a86e5ee6bdaa16054475da797ccddf0c55698491" + +exec-sh@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10" + dependencies: + merge "^1.1.3" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + 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" + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + dependencies: + 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" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +express-session@~1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.11.3.tgz#5cc98f3f5ff84ed835f91cbf0aabd0c7107400af" + dependencies: + cookie "0.1.3" + cookie-signature "1.0.6" + crc "3.3.0" + debug "~2.2.0" + depd "~1.0.1" + on-headers "~1.0.0" + parseurl "~1.3.0" + uid-safe "~2.0.0" + utils-merge "1.0.0" + +extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +external-editor@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + +external-editor@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +fancy-log@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" + dependencies: + chalk "^1.1.1" + time-stamp "^1.0.0" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +fb-watchman@^1.8.0, fb-watchman@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.0.tgz#6f268f1f347a6b3c875d1e89da7e1ed79adfc0ec" + dependencies: + bser "^1.0.2" + +fb-watchman@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + dependencies: + bser "^2.0.0" + +fbjs-scripts@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.8.2.tgz#d2ce902ec3c8bf7cea5d0daf8692661a90710f25" + dependencies: + babel-core "^6.7.2" + babel-preset-fbjs "^2.1.2" + core-js "^2.4.1" + cross-spawn "^5.1.0" + gulp-util "^3.0.4" + object-assign "^4.0.1" + semver "^5.1.0" + through2 "^2.0.0" + +fbjs@^0.8.14, fbjs@^0.8.16: + version "0.8.16" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.9" + +fbjs@^0.8.9: + version "0.8.12" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.9" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + dependencies: + escape-string-regexp "^1.0.5" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fileset@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + dependencies: + glob "^7.0.3" + minimatch "^3.0.3" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.0.tgz#965a52d9e8d05d2b857548541fb89b53a2497d9b" + dependencies: + debug "~2.2.0" + escape-html "1.0.2" + on-finished "~2.3.0" + unpipe "~1.0.0" + +find-babel-config@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.1.0.tgz#acc01043a6749fec34429be6b64f542ebb5d6355" + dependencies: + json5 "^0.5.1" + path-exists "^3.0.0" + +find-up@^1.0.0, find-up@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +fresh@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" + +fs-extra@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.39" + +fstream-ignore@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~1.2.5: + version "1.2.7" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" + dependencies: + ansi "^0.3.0" + has-unicode "^2.0.0" + lodash.pad "^4.1.0" + lodash.padend "^4.1.0" + lodash.padstart "^4.1.0" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + 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" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.3, glob@^7.0.5: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.1, glob@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df" + dependencies: + min-document "^2.19.0" + process "~0.5.1" + +globals@^9.0.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +glogg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + dependencies: + sparkles "^1.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growly@^1.2.0, growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + +gulp-util@^3.0.4: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +handlebars@^4.0.1, handlebars@^4.0.3: + version "4.0.6" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +hawk@3.1.3, hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hoist-non-react-statics@^2.2.0, hoist-non-react-statics@^2.3.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + +html-encoding-sniffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" + dependencies: + whatwg-encoding "^1.0.1" + +http-errors@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" + dependencies: + inherits "~2.0.1" + statuses "1" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.11: + version "0.4.11" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.11.tgz#2ecb42fd294744922209a2e7c404dac8793d8ade" + +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + +iconv-lite@^0.4.13, iconv-lite@~0.4.13: + version "0.4.15" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" + +iconv-lite@^0.4.17: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +image-size@^0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.2.tgz#8ee316d4298b028b965091b673d5f1537adee5b4" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +inquirer@3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.1" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^2.0.0" + strip-ansi "^3.0.0" + through "^2.3.6" + +inquirer@^3.0.6: + version "3.3.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + dependencies: + 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" + +invariant@^2.2.0, invariant@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-ci@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" + dependencies: + ci-info "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul-api@^1.0.0-aplha.10: + version "1.1.0" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.0.tgz#fb3f62edd5bfc6ae09da09453ded6e10ae7e483b" + dependencies: + async "^2.1.4" + fileset "^2.0.2" + istanbul-lib-coverage "^1.0.0" + istanbul-lib-hook "^1.0.0-alpha.4" + istanbul-lib-instrument "^1.3.0" + istanbul-lib-report "^1.0.0-alpha.3" + istanbul-lib-source-maps "^1.1.0" + istanbul-reports "^1.0.0" + js-yaml "^3.7.0" + mkdirp "^0.5.1" + once "^1.4.0" + +istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.0.tgz#c3f9b6d226da12424064cce87fce0fb57fdfa7a2" + +istanbul-lib-hook@^1.0.0-alpha.4: + version "1.0.0-alpha.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0-alpha.4.tgz#8c5bb9f6fbd8526e0ae6cf639af28266906b938f" + dependencies: + append-transform "^0.3.0" + +istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.1.4, istanbul-lib-instrument@^1.3.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz#0e2fdfac93c1dabf2e31578637dc78a19089f43e" + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.13.0" + istanbul-lib-coverage "^1.0.0" + semver "^5.3.0" + +istanbul-lib-report@^1.0.0-alpha.3: + version "1.0.0-alpha.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af" + dependencies: + async "^1.4.2" + istanbul-lib-coverage "^1.0.0-alpha" + mkdirp "^0.5.1" + path-parse "^1.0.5" + rimraf "^2.4.3" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f" + dependencies: + istanbul-lib-coverage "^1.0.0-alpha.0" + mkdirp "^0.5.1" + rimraf "^2.4.4" + source-map "^0.5.3" + +istanbul-reports@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.0.tgz#24b4eb2b1d29d50f103b369bd422f6e640aa0777" + dependencies: + handlebars "^4.0.3" + +istanbul@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +jasmine-check@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/jasmine-check/-/jasmine-check-0.1.5.tgz#dbad7eec56261c4b3d175ada55fe59b09ac9e415" + dependencies: + testcheck "^0.1.0" + +jest-changed-files@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-16.0.0.tgz#7931deff4424182b8173d80e06800d7363b19c45" + +jest-cli@^16.0.1: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-16.0.2.tgz#d439b28affa7189aa3d046d2af931f7ebb9af69d" + dependencies: + ansi-escapes "^1.4.0" + callsites "^2.0.0" + chalk "^1.1.1" + graceful-fs "^4.1.6" + is-ci "^1.0.9" + istanbul-api "^1.0.0-aplha.10" + istanbul-lib-coverage "^1.0.0" + istanbul-lib-instrument "^1.1.1" + jest-changed-files "^16.0.0" + jest-config "^16.0.2" + jest-environment-jsdom "^16.0.2" + jest-file-exists "^15.0.0" + jest-haste-map "^16.0.2" + jest-jasmine2 "^16.0.2" + jest-mock "^16.0.2" + jest-resolve "^16.0.2" + jest-resolve-dependencies "^16.0.2" + jest-runtime "^16.0.2" + jest-snapshot "^16.0.2" + jest-util "^16.0.2" + json-stable-stringify "^1.0.0" + node-notifier "^4.6.1" + sane "~1.4.1" + strip-ansi "^3.0.1" + throat "^3.0.0" + which "^1.1.1" + worker-farm "^1.3.1" + yargs "^5.0.0" + +jest-config@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-16.0.2.tgz#8e82a9c08846f23dc7fd42b5c0a1f596c385772a" + dependencies: + chalk "^1.1.1" + istanbul "^0.4.5" + jest-environment-jsdom "^16.0.2" + jest-environment-node "^16.0.2" + jest-jasmine2 "^16.0.2" + jest-mock "^16.0.2" + jest-resolve "^16.0.2" + jest-util "^16.0.2" + json-stable-stringify "^1.0.0" + +jest-diff@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-16.0.0.tgz#4a5d13b1e36c5b8020d5d9e69639e486a675ce14" + dependencies: + chalk "^1.1.3" + diff "^3.0.0" + jest-matcher-utils "^16.0.0" + pretty-format "~4.2.1" + +jest-docblock@^21, jest-docblock@^21.2.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" + +jest-environment-jsdom@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-16.0.2.tgz#548d883b68f8ed0bd6466d8703986296724c1ef7" + dependencies: + jest-mock "^16.0.2" + jest-util "^16.0.2" + jsdom "^9.8.0" + +jest-environment-node@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-16.0.2.tgz#eb7b3a4a9c63b728ce023828d4b5661aad8c7a08" + dependencies: + jest-mock "^16.0.2" + jest-util "^16.0.2" + +jest-file-exists@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-15.0.0.tgz#b7fefdd3f4b227cb686bb156ecc7661ee6935a88" + +jest-haste-map@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-16.0.2.tgz#4562915b25171ae2d0d75118c992f0e97536a2ed" + dependencies: + fb-watchman "^1.9.0" + graceful-fs "^4.1.6" + multimatch "^2.1.0" + worker-farm "^1.3.1" + +jest-haste-map@^21: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-21.2.0.tgz#1363f0a8bb4338f24f001806571eff7a4b2ff3d8" + dependencies: + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + jest-docblock "^21.2.0" + micromatch "^2.3.11" + sane "^2.0.0" + worker-farm "^1.3.1" + +jest-jasmine2@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-16.0.2.tgz#c91ae170d127aae22180dbfe181d77655a5da8c3" + dependencies: + graceful-fs "^4.1.6" + jasmine-check "^0.1.4" + jest-matchers "^16.0.2" + jest-snapshot "^16.0.2" + jest-util "^16.0.2" + +jest-matcher-utils@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-16.0.0.tgz#705af3ff85944bec1c25bc813f427aff8642b0cd" + dependencies: + chalk "^1.1.3" + pretty-format "~4.2.1" + +jest-matchers@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-16.0.2.tgz#c078c28cfe05b9b1f295f9ab27b5991f1095bbbf" + dependencies: + jest-diff "^16.0.0" + jest-matcher-utils "^16.0.0" + jest-util "^16.0.2" + +jest-mock@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-16.0.2.tgz#97b533343295d0082e9474a73ac4eb474d1636fe" + +jest-react-native@16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/jest-react-native/-/jest-react-native-16.0.0.tgz#16a53b11decab487b9d92b367d9392d0ac96705b" + +jest-resolve-dependencies@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-16.0.2.tgz#b204166d50141469d10667dc216239c0be865729" + dependencies: + jest-file-exists "^15.0.0" + jest-resolve "^16.0.2" + +jest-resolve@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-16.0.2.tgz#46b92b9c2a44aa7ddd9a6b73dc234e9503e8c609" + dependencies: + browser-resolve "^1.11.2" + jest-file-exists "^15.0.0" + jest-haste-map "^16.0.2" + resolve "^1.1.6" + +jest-runtime@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-16.0.2.tgz#a741e8d55a7b5f011bbe17a22c673a83d278a45d" + dependencies: + babel-core "^6.11.4" + babel-jest "^16.0.0" + babel-plugin-istanbul "^2.0.0" + chalk "^1.1.3" + graceful-fs "^4.1.6" + jest-config "^16.0.2" + jest-file-exists "^15.0.0" + jest-haste-map "^16.0.2" + jest-mock "^16.0.2" + jest-resolve "^16.0.2" + jest-snapshot "^16.0.2" + jest-util "^16.0.2" + json-stable-stringify "^1.0.0" + multimatch "^2.1.0" + yargs "^5.0.0" + +jest-snapshot@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-16.0.2.tgz#f137a4176d661bd4058910850191d1816bebdaae" + dependencies: + jest-diff "^16.0.0" + jest-file-exists "^15.0.0" + jest-matcher-utils "^16.0.0" + jest-util "^16.0.2" + natural-compare "^1.4.0" + pretty-format "~4.2.1" + +jest-util@^16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-16.0.2.tgz#db5123358278e7a34a6d9f837409d649a0db5d54" + dependencies: + chalk "^1.1.1" + diff "^3.0.0" + graceful-fs "^4.1.6" + jest-file-exists "^15.0.0" + jest-mock "^16.0.2" + mkdirp "^0.5.1" + +jest@16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-16.0.1.tgz#538af80e55a96140f55a2e7d3190157eba806d61" + dependencies: + jest-cli "^16.0.1" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-tokens@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" + +js-tokens@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@3.x, js-yaml@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +jsdom@^9.8.0: + version "9.9.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.9.1.tgz#84f3972ad394ab963233af8725211bce4d01bfd5" + dependencies: + abab "^1.0.0" + acorn "^2.4.0" + acorn-globals "^1.0.4" + array-equal "^1.0.0" + content-type-parser "^1.0.1" + cssom ">= 0.3.0 < 0.4.0" + cssstyle ">= 0.2.36 < 0.3.0" + escodegen "^1.6.1" + html-encoding-sniffer "^1.0.1" + iconv-lite "^0.4.13" + nwmatcher ">= 1.3.9 < 2.0.0" + parse5 "^1.5.1" + request "^2.55.0" + sax "^1.1.4" + symbol-tree ">= 3.1.0 < 4.0.0" + tough-cookie "^2.3.1" + webidl-conversions "^3.0.1" + whatwg-encoding "^1.0.1" + whatwg-url "^4.1.0" + xml-name-validator ">= 2.0.1 < 3.0.0" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kind-of@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + dependencies: + is-buffer "^1.0.2" + +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +left-pad@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash._arraycopy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" + +lodash._arrayeach@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._baseclone@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz#303519bf6393fe7e42f34d8b630ef7794e3542b7" + dependencies: + lodash._arraycopy "^3.0.0" + lodash._arrayeach "^3.0.0" + lodash._baseassign "^3.0.0" + lodash._basefor "^3.0.0" + lodash.isarray "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basefor@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._bindcallback@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash.assign@^4.1.0, lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.clonedeep@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz#a0a1e40d82a5ea89ff5b147b8444ed63d92827db" + dependencies: + lodash._baseclone "^3.0.0" + lodash._bindcallback "^3.0.0" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.pad@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" + +lodash.padend@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" + +lodash.padstart@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash@^3.5.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.1: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0, loose-envify@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" + dependencies: + js-tokens "^2.0.0" + +loose-envify@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +lru-cache@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + +macos-release@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-1.1.0.tgz#831945e29365b470aa8724b0ab36c8f8959d10fb" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + dependencies: + tmpl "1.0.x" + +marked-terminal@^1.6.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904" + dependencies: + cardinal "^1.0.0" + chalk "^1.1.3" + cli-table "^0.3.1" + lodash.assign "^4.2.0" + node-emoji "^1.4.1" + +marked@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + +merge@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + +method-override@~2.3.5: + version "2.3.7" + resolved "https://registry.yarnpkg.com/method-override/-/method-override-2.3.7.tgz#8e1d47ac480fb0cd8777083f11c896901166b2e5" + dependencies: + debug "2.3.3" + methods "~1.1.2" + parseurl "~1.3.1" + vary "~1.1.0" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +metro-bundler@^0.20.0: + version "0.20.3" + resolved "https://registry.yarnpkg.com/metro-bundler/-/metro-bundler-0.20.3.tgz#0ded01b64e8963117017b106f75b83cfc34f3656" + dependencies: + absolute-path "^0.0.0" + async "^2.4.0" + babel-core "^6.24.1" + babel-generator "^6.24.1" + babel-plugin-external-helpers "^6.18.0" + babel-preset-es2015-node "^6.1.1" + babel-preset-fbjs "^2.1.4" + babel-preset-react-native "^4.0.0" + babel-register "^6.24.1" + babylon "^6.18.0" + chalk "^1.1.1" + concat-stream "^1.6.0" + core-js "^2.2.2" + debug "^2.2.0" + denodeify "^1.2.1" + fbjs "^0.8.14" + graceful-fs "^4.1.3" + image-size "^0.6.0" + jest-docblock "^21" + jest-haste-map "^21" + json-stable-stringify "^1.0.1" + json5 "^0.4.0" + left-pad "^1.1.3" + lodash "^4.16.6" + merge-stream "^1.0.1" + mime-types "2.1.11" + mkdirp "^0.5.1" + request "^2.79.0" + rimraf "^2.5.4" + source-map "^0.5.6" + temp "0.8.3" + throat "^4.1.0" + uglify-es "^3.1.8" + wordwrap "^1.0.0" + write-file-atomic "^1.2.0" + xpipe "^1.0.5" + +micromatch@^2.1.5, micromatch@^2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +"mime-db@>= 1.24.0 < 2", mime-db@~1.25.0: + version "1.25.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" + +mime-db@~1.23.0: + version "1.23.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659" + +mime-types@2.1.11: + version "2.1.11" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.11.tgz#c259c471bda808a85d6cd193b430a5fae4473b3c" + dependencies: + mime-db "~1.23.0" + +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.6, mime-types@~2.1.7, mime-types@~2.1.9: + version "2.1.13" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" + dependencies: + mime-db "~1.25.0" + +mime@1.3.4, mime@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + dependencies: + dom-walk "^0.1.0" + +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8, minimist@~0.0.1: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +morgan@~1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.6.1.tgz#5fd818398c6819cba28a7cd6664f292fe1c0bbf2" + dependencies: + basic-auth "~1.0.3" + debug "~2.2.0" + depd "~1.0.1" + on-finished "~2.3.0" + on-headers "~1.0.0" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +multimatch@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" + +multiparty@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-3.3.2.tgz#35de6804dc19643e5249f3d3e3bdc6c8ce301d3f" + dependencies: + readable-stream "~1.1.9" + stream-counter "~0.2.0" + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + +nan@^2.3.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.9.2.tgz#f564d75f5f8f36a6d9456cca7a6c4fe488ab7866" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +negotiator@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +node-emoji@^1.4.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.5.0.tgz#9a0d9fe03fd43afa357d6d8e439aa31e599959b7" + dependencies: + string.prototype.codepointat "^0.2.0" + +node-fetch@1.6.3, node-fetch@^1.0.1, node-fetch@^1.3.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + +node-notifier@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3" + dependencies: + cli-usage "^0.1.1" + growly "^1.2.0" + lodash.clonedeep "^3.0.0" + minimist "^1.1.1" + semver "^5.1.0" + shellwords "^0.1.0" + which "^1.0.5" + +node-notifier@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" + dependencies: + growly "^1.3.0" + semver "^5.4.1" + shellwords "^0.1.1" + which "^1.3.0" + +node-pre-gyp@^0.6.39: + version "0.6.39" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" + dependencies: + detect-libc "^1.0.2" + hawk "3.1.3" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +npmlog@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" + dependencies: + ansi "~0.3.1" + are-we-there-yet "~1.1.2" + gauge "~1.2.5" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + 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@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +"nwmatcher@>= 1.3.9 < 2.0.0": + version "1.3.9" + resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.0, on-headers@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + +once@1.x, once@^1.3.0, once@^1.3.3, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" + +opencollective@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" + dependencies: + babel-polyfill "6.23.0" + chalk "1.1.3" + inquirer "3.0.6" + minimist "1.2.0" + node-fetch "1.6.3" + opn "4.0.2" + +opn@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +opn@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a" + dependencies: + object-assign "^4.0.1" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-name@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/os-name/-/os-name-2.0.1.tgz#b9a386361c17ae3a21736ef0599405c9a8c5dc5e" + dependencies: + macos-release "^1.0.0" + win-release "^1.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + dependencies: + p-try "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse5@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" + +parseurl@~1.3.0, parseurl@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +path-to-regexp@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" + dependencies: + isarray "0.0.1" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + +pause@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/pause/-/pause-0.1.0.tgz#ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74" + +pegjs@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" + +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +plist@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/plist/-/plist-2.0.1.tgz#0a32ca9481b1c364e92e18dc55c876de9d01da8b" + dependencies: + base64-js "1.1.2" + xmlbuilder "8.2.2" + xmldom "0.1.x" + +plist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/plist/-/plist-1.2.0.tgz#084b5093ddc92506e259f874b8d9b1afb8c79593" + dependencies: + base64-js "0.0.8" + util-deprecate "1.0.2" + xmlbuilder "4.0.0" + xmldom "0.1.x" + +postinstall-build@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postinstall-build/-/postinstall-build-5.0.1.tgz#b917a9079b26178d9a24af5a5cd8cb4a991d11b9" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-format@^4.2.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d" + +pretty-format@~4.2.1: + version "4.2.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.2.3.tgz#8894c2ac81419cf801629d8f66320a25380d8b05" + +private@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" + +private@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +process@~0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + +promise@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" + dependencies: + asap "~2.0.3" + +prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1: + version "15.6.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.3.1" + object-assign "^4.1.1" + +prop-types@^15.5.6: + version "15.5.10" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154" + dependencies: + fbjs "^0.8.9" + loose-envify "^1.3.1" + +prop-types@^15.5.8: + version "15.6.0" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.3.1" + object-assign "^4.1.1" + +prr@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + +pseudomap@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607" + +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + +randomatic@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +range-parser@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz#6872823535c692e2c2a0103826afd82c2e0ff175" + +raw-body@~2.1.2: + version "2.1.7" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" + dependencies: + bytes "2.4.0" + iconv-lite "0.4.13" + unpipe "1.0.0" + +rc@^1.1.7: + version "1.2.5" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-clone-referenced-element@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.0.1.tgz#2bba8c69404c5e4a944398600bcc4c941f860682" + +react-deep-force-update@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.0.1.tgz#f911b5be1d2a6fe387507dd6e9a767aa2924b4c7" + +react-devtools-core@^2.5.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-2.5.2.tgz#f97bec5afae5d9318d16778065e0c214c4d5714c" + dependencies: + shell-quote "^1.6.1" + ws "^2.0.3" + +react-native-dismiss-keyboard@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz#32886242b3f2317e121f3aeb9b0a585e2b879b49" + +react-native-drawer-layout-polyfill@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/react-native-drawer-layout-polyfill/-/react-native-drawer-layout-polyfill-1.3.2.tgz#192c84d7a5a6b8a6d2be2c7daa5e4164518d0cc7" + dependencies: + react-native-drawer-layout "1.3.2" + +react-native-drawer-layout@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/react-native-drawer-layout/-/react-native-drawer-layout-1.3.2.tgz#b9740d7663a1dc4f88a61b9c6d93d2d948ea426e" + dependencies: + react-native-dismiss-keyboard "1.0.0" + +react-native-firebase@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/react-native-firebase/-/react-native-firebase-4.0.3.tgz#141fbf7e27e93e5b95d7a87d92a3b50c258fd92f" + dependencies: + opencollective "^1.0.3" + postinstall-build "^5.0.1" + prop-types "^15.6.1" + +react-native-maps@^0.20.1: + version "0.20.1" + resolved "https://registry.yarnpkg.com/react-native-maps/-/react-native-maps-0.20.1.tgz#b5247a9a26446b2e1ffc3f680db8ba6ccc960096" + dependencies: + babel-plugin-module-resolver "^2.3.0" + babel-preset-react-native "1.9.0" + +react-native-safe-area-view@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz#38f5ab9368d6ef9e5d18ab64212938af3ec39421" + dependencies: + hoist-non-react-statics "^2.3.1" + +react-native-tab-view@^0.0.74: + version "0.0.74" + resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-0.0.74.tgz#62c0c882d9232b461ce181d440d683b4f99d1bd8" + dependencies: + prop-types "^15.6.0" + +react-native@0.51.0: + version "0.51.0" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.51.0.tgz#fe25934b3030fd323f3ca1a70f034133465955ed" + dependencies: + absolute-path "^0.0.0" + art "^0.10.0" + babel-core "^6.24.1" + babel-plugin-syntax-trailing-function-commas "^6.20.0" + babel-plugin-transform-async-to-generator "6.16.0" + babel-plugin-transform-class-properties "^6.18.0" + babel-plugin-transform-exponentiation-operator "^6.5.0" + babel-plugin-transform-flow-strip-types "^6.21.0" + babel-plugin-transform-object-rest-spread "^6.20.2" + babel-register "^6.24.1" + babel-runtime "^6.23.0" + base64-js "^1.1.2" + chalk "^1.1.1" + commander "^2.9.0" + connect "^2.8.3" + create-react-class "^15.5.2" + debug "^2.2.0" + denodeify "^1.2.1" + envinfo "^3.0.0" + event-target-shim "^1.0.5" + fbjs "^0.8.14" + fbjs-scripts "^0.8.1" + fs-extra "^1.0.0" + glob "^7.1.1" + graceful-fs "^4.1.3" + inquirer "^3.0.6" + lodash "^4.16.6" + metro-bundler "^0.20.0" + mime "^1.3.4" + minimist "^1.2.0" + mkdirp "^0.5.1" + node-fetch "^1.3.3" + node-notifier "^5.1.2" + npmlog "^2.0.4" + opn "^3.0.2" + optimist "^0.6.1" + plist "^1.2.0" + pretty-format "^4.2.1" + promise "^7.1.1" + prop-types "^15.5.8" + react-clone-referenced-element "^1.0.1" + react-devtools-core "^2.5.0" + react-timer-mixin "^0.13.2" + regenerator-runtime "^0.11.0" + rimraf "^2.5.4" + semver "^5.0.3" + shell-quote "1.6.1" + stacktrace-parser "^0.1.3" + whatwg-fetch "^1.0.0" + ws "^1.1.0" + xcode "^0.9.1" + xmldoc "^0.4.0" + yargs "^9.0.0" + +react-navigation@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-1.2.1.tgz#06cb2c97eb1b2e20bdb4ff7aee1acfa218a1561b" + dependencies: + clamp "^1.0.1" + hoist-non-react-statics "^2.2.0" + path-to-regexp "^1.7.0" + prop-types "^15.5.10" + react-native-drawer-layout-polyfill "^1.3.2" + react-native-safe-area-view "^0.7.0" + react-native-tab-view "^0.0.74" + +react-proxy@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-1.1.8.tgz#9dbfd9d927528c3aa9f444e4558c37830ab8c26a" + dependencies: + lodash "^4.6.1" + react-deep-force-update "^1.0.0" + +react-test-renderer@15.3.2: + version "15.3.2" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.3.2.tgz#d8f083d37d2d41e97bbdc26a1dd9282f0baf7857" + +react-timer-mixin@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.3.tgz#0da8b9f807ec07dc3e854d082c737c65605b3d22" + +react-transform-hmr@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz#e1a40bd0aaefc72e8dfd7a7cda09af85066397bb" + dependencies: + global "^4.3.0" + react-proxy "^1.1.7" + +react@16.0.0-alpha.12: + version "16.0.0-alpha.12" + resolved "https://registry.yarnpkg.com/react/-/react-16.0.0-alpha.12.tgz#8c59485281485df319b6f77682d8dd0621c08194" + dependencies: + create-react-class "^15.5.2" + fbjs "^0.8.9" + loose-envify "^1.1.0" + object-assign "^4.1.0" + prop-types "^15.5.6" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.1.5, readable-stream@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" + dependencies: + buffer-shims "^1.0.0" + 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" + +readable-stream@^2.0.1, readable-stream@^2.1.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.4.tgz#c946c3f47fa7d8eabc0b6150f4a12f69a4574071" + dependencies: + 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.0.3" + util-deprecate "~1.0.1" + +readable-stream@~1.1.8, readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +redeyed@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a" + dependencies: + esprima "~3.0.0" + +regenerate@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + +regenerator-runtime@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" + +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + +regenerator-transform@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +request@2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +request@^2.55.0, request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +resolve@1.1.7, resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" + +resolve@^1.2.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" + dependencies: + path-parse "^1.0.5" + +response-time@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/response-time/-/response-time-2.3.2.tgz#ffa71bab952d62f7c1d49b7434355fbc68dffc5a" + dependencies: + depd "~1.1.0" + on-headers "~1.0.1" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +rimraf@~2.2.6: + version "2.2.8" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" + +rndm@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c" + +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + dependencies: + is-promise "^2.1.0" + +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + +rx@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + +safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +safe-buffer@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" + +sane@^2.0.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/sane/-/sane-2.4.1.tgz#29f991208cf28636720efdc584293e7fd66663a5" + dependencies: + anymatch "^1.3.0" + exec-sh "^0.2.0" + fb-watchman "^2.0.0" + minimatch "^3.0.2" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.18.0" + optionalDependencies: + fsevents "^1.1.1" + +sane@~1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" + dependencies: + exec-sh "^0.2.0" + fb-watchman "^1.8.0" + minimatch "^3.0.2" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.10.0" + +sax@^1.1.4, sax@~1.1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240" + +"semver@2 || 3 || 4 || 5", semver@5.x, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +semver@^5.0.1, semver@^5.4.1: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + +send@0.13.2: + version "0.13.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de" + dependencies: + debug "~2.2.0" + depd "~1.1.0" + destroy "~1.0.4" + escape-html "~1.0.3" + etag "~1.7.0" + fresh "0.3.0" + http-errors "~1.3.1" + mime "1.3.4" + ms "0.7.1" + on-finished "~2.3.0" + range-parser "~1.0.3" + statuses "~1.2.1" + +serve-favicon@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.3.2.tgz#dd419e268de012ab72b319d337f2105013f9381f" + dependencies: + etag "~1.7.0" + fresh "0.3.0" + ms "0.7.2" + parseurl "~1.3.1" + +serve-index@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.7.3.tgz#7a057fc6ee28dc63f64566e5fa57b111a86aecd2" + dependencies: + accepts "~1.2.13" + batch "0.5.3" + debug "~2.2.0" + escape-html "~1.0.3" + http-errors "~1.3.1" + mime-types "~2.1.9" + parseurl "~1.3.1" + +serve-static@~1.10.0: + version "1.10.3" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535" + dependencies: + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.13.2" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shell-quote@1.6.1, shell-quote@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + dependencies: + array-filter "~0.0.0" + array-map "~0.0.0" + array-reduce "~0.0.0" + jsonify "~0.0.0" + +shellwords@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14" + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +simple-plist@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-0.2.1.tgz#71766db352326928cf3a807242ba762322636723" + dependencies: + bplist-creator "0.0.7" + bplist-parser "0.1.1" + plist "2.0.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +source-map-support@^0.4.15: + version "0.4.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.16.tgz#16fecf98212467d017d586a2af68d628b9421cd8" + dependencies: + source-map "^0.5.6" + +source-map-support@^0.4.2: + version "0.4.8" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.8.tgz#4871918d8a3af07289182e974e32844327b2e98b" + dependencies: + source-map "^0.5.3" + +source-map@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + dependencies: + amdefine ">=0.0.4" + +source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +sparkles@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stacktrace-parser@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.4.tgz#01397922e5f62ecf30845522c95c4fe1d25e7d4e" + +statuses@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +statuses@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz#dded45cc18256d51ed40aec142489d5c61026d28" + +stream-buffers@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" + +stream-counter@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/stream-counter/-/stream-counter-0.2.0.tgz#ded266556319c8b0e222812b9cf3b26fa7d947de" + dependencies: + readable-stream "~1.1.8" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string.prototype.codepointat@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0, supports-color@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +supports-color@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.2.0.tgz#b0d5333b1184dd3666cbe5aa0b45c5ac7ac17a4a" + dependencies: + has-flag "^3.0.0" + +"symbol-tree@>= 3.1.0 < 4.0.0": + version "3.2.1" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.1.tgz#8549dd1d01fa9f893c18cc9ab0b106b4d9b168cb" + +tar-pack@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" + dependencies: + debug "^2.2.0" + fstream "^1.0.10" + fstream-ignore "^1.0.5" + once "^1.3.3" + readable-stream "^2.1.4" + rimraf "^2.5.1" + tar "^2.2.1" + uid-number "^0.0.6" + +tar@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +temp@0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" + dependencies: + os-tmpdir "^1.0.0" + rimraf "~2.2.6" + +test-exclude@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-2.1.3.tgz#a8d8968e1da83266f9864f2852c55e220f06434a" + dependencies: + arrify "^1.0.1" + micromatch "^2.3.11" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + +testcheck@^0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/testcheck/-/testcheck-0.1.4.tgz#90056edd48d11997702616ce6716f197d8190164" + +throat@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-3.0.0.tgz#e7c64c867cbb3845f10877642f7b60055b8ec0d6" + +throat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + +through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +time-stamp@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +tough-cookie@^2.3.1, tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tsscmp@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-is@~1.6.6: + version "1.6.14" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.13" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +ua-parser-js@^0.7.9: + version "0.7.12" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" + +uglify-es@^3.1.8: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + +uglify-js@^2.6: + version "2.7.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uid-safe@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.3.tgz#077e264a00b3187936b270bb7376a26473631071" + dependencies: + base64-url "1.3.3" + random-bytes "~1.0.0" + +uid-safe@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.0.0.tgz#a7f3c6ca64a1f6a5d04ec0ef3e4c3d5367317137" + dependencies: + base64-url "1.2.1" + +ultron@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" + +ultron@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +util-deprecate@1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +utils-merge@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + +uuid@3.0.1, uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +vary@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10" + +vary@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vhost@~3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/vhost/-/vhost-3.0.2.tgz#2fb1decd4c466aa88b0f9341af33dc1aff2478d5" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + dependencies: + makeerror "1.0.x" + +watch@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" + +watch@~0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" + dependencies: + exec-sh "^0.2.0" + minimist "^1.2.0" + +webidl-conversions@^3.0.0, webidl-conversions@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + +whatwg-encoding@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" + dependencies: + iconv-lite "0.4.13" + +whatwg-fetch@>=0.10.0, whatwg-fetch@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz#ac3c9d39f320c6dce5339969d054ef43dd333319" + +whatwg-url@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.2.0.tgz#abf1a3f5ff4bc2005b3f0c2119382631789d8e44" + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@^1.0.5, which@^1.1.1, which@^1.2.9: + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" + dependencies: + isexe "^1.1.1" + +which@^1.2.14, which@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + dependencies: + string-width "^1.0.2" + +win-release@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209" + dependencies: + semver "^5.0.1" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@^1.0.0, wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +worker-farm@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff" + dependencies: + errno ">=0.1.1 <0.2.0-0" + xtend ">=4.0.0 <4.1.0-0" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.0.tgz#d13e4831d52ee4e3d9a266ee1c9a1592f7fbbf3d" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +ws@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +ws@^2.0.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80" + dependencies: + safe-buffer "~5.0.1" + ultron "~1.1.0" + +xcode@^0.9.1: + version "0.9.3" + resolved "https://registry.yarnpkg.com/xcode/-/xcode-0.9.3.tgz#910a89c16aee6cc0b42ca805a6d0b4cf87211cf3" + dependencies: + pegjs "^0.10.0" + simple-plist "^0.2.1" + uuid "3.0.1" + +"xml-name-validator@>= 2.0.1 < 3.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" + +xmlbuilder@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.0.0.tgz#98b8f651ca30aa624036f127d11cc66dc7b907a3" + dependencies: + lodash "^3.5.0" + +xmlbuilder@8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" + +xmldoc@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-0.4.0.tgz#d257224be8393eaacbf837ef227fd8ec25b36888" + dependencies: + sax "~1.1.1" + +xmldom@0.1.x: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + +xpipe@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" + +yargs-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-3.2.0.tgz#5081355d19d9d0c8c5d81ada908cb4e6d186664f" + dependencies: + camelcase "^3.0.0" + lodash.assign "^4.1.0" + +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + +yargs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-5.0.0.tgz#3355144977d05757dbb86d6e38ec056123b3a66e" + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + lodash.assign "^4.2.0" + 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" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^3.2.0" + +yargs@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" + dependencies: + 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" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" diff --git a/Examples/simple-fcm-client/app/FirebaseConstants.js b/Examples/simple-fcm-client/app/FirebaseConstants.js index 7be52d7..fe88179 100644 --- a/Examples/simple-fcm-client/app/FirebaseConstants.js +++ b/Examples/simple-fcm-client/app/FirebaseConstants.js @@ -1,6 +1,6 @@ const FirebaseConstants = { - KEY: "YOUR_API_KEY" + KEY: "AAAAgJRLb1I:APA91bGnbORWIaYKogWpIVUj9O4RPHNsn-xSfJkiVL92mLZAx5z9QftZaSQRd6AdJ3wT9py1eVS0NPYTibVw2poeD-a1GTSwXvGPojRiHScUl8jYSKENBlwxoKKDT15t8ydNYc338XMO" } export default FirebaseConstants; diff --git a/Examples/simple-fcm-client/ios/SimpleFcmClient.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Examples/simple-fcm-client/ios/SimpleFcmClient.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Examples/simple-fcm-client/ios/SimpleFcmClient.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + -- 2.26.2