From 51f82ff8990f06c533020da08339a80374110555 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 10 Jul 2023 10:10:39 +0800 Subject: [PATCH 01/29] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Bump=20react-native?= =?UTF-8?q?=20to=200.68.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/build.gradle | 107 +- android/app/src/debug/AndroidManifest.xml | 2 +- .../java/com/oice/ReactNativeFlipper.java | 5 +- android/app/src/main/AndroidManifest.xml | 2 +- .../src/main/java/com/oice/MainActivity.java | 25 +- .../main/java/com/oice/MainApplication.java | 15 +- .../MainApplicationReactNativeHost.java | 116 ++ .../components/MainComponentsRegistry.java | 36 + ...ApplicationTurboModuleManagerDelegate.java | 48 + android/app/src/main/jni/Android.mk | 49 + .../jni/MainApplicationModuleProvider.cpp | 24 + .../main/jni/MainApplicationModuleProvider.h | 16 + ...nApplicationTurboModuleManagerDelegate.cpp | 45 + ...ainApplicationTurboModuleManagerDelegate.h | 38 + .../src/main/jni/MainComponentsRegistry.cpp | 61 + .../app/src/main/jni/MainComponentsRegistry.h | 32 + android/app/src/main/jni/OnLoad.cpp | 11 + android/build.gradle | 17 +- android/gradle.properties | 22 +- android/gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 59536 bytes android/gradlew | 264 ++-- android/settings.gradle | 6 + ios/LikeCoinApp.xcodeproj/project.pbxproj | 10 +- .../{AppDelegate.m => AppDelegate.mm} | 94 +- ios/LikeCoinApp/main.m | 3 +- ios/LikerLandShare/LikerLandShare.m | 2 +- ios/Podfile | 9 +- ios/Podfile.lock | 449 +++--- package.json | 6 +- patches/react-native+0.66.5.patch | 21 - yarn.lock | 1304 ++++++++++------- 31 files changed, 1918 insertions(+), 921 deletions(-) create mode 100644 android/app/src/main/java/com/oice/newarchitecture/MainApplicationReactNativeHost.java create mode 100644 android/app/src/main/java/com/oice/newarchitecture/components/MainComponentsRegistry.java create mode 100644 android/app/src/main/java/com/oice/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java create mode 100644 android/app/src/main/jni/Android.mk create mode 100644 android/app/src/main/jni/MainApplicationModuleProvider.cpp create mode 100644 android/app/src/main/jni/MainApplicationModuleProvider.h create mode 100644 android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp create mode 100644 android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h create mode 100644 android/app/src/main/jni/MainComponentsRegistry.cpp create mode 100644 android/app/src/main/jni/MainComponentsRegistry.h create mode 100644 android/app/src/main/jni/OnLoad.cpp rename ios/LikeCoinApp/{AppDelegate.m => AppDelegate.mm} (55%) delete mode 100644 patches/react-native+0.66.5.patch diff --git a/android/app/build.gradle b/android/app/build.gradle index 42fd31ff..c00afb16 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -4,6 +4,7 @@ apply plugin: "com.google.firebase.firebase-perf" apply plugin: "io.sentry.android.gradle" import com.android.build.OutputFile +import org.apache.tools.ant.taskdefs.condition.Os /** * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets @@ -125,9 +126,12 @@ def jscFlavor = 'org.webkit:android-jsc:+' def enableHermes = project.ext.react.get("enableHermes", false); /** - * Architectures to build native code for in debug. + * Architectures to build native code for. */ -def nativeArchitectures = project.getProperties().get("reactNativeDebugArchitectures") +def reactNativeArchitectures() { + def value = project.getProperties().get("reactNativeArchitectures") + return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] +} android { ndkVersion rootProject.ext.ndkVersion @@ -142,13 +146,84 @@ android { versionName "0.32.1" missingDimensionStrategy 'react-native-camera', 'general' missingDimensionStrategy 'store', 'play' + buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() + + if (isNewArchitectureEnabled()) { + // We configure the NDK build only if you decide to opt-in for the New Architecture. + externalNativeBuild { + ndkBuild { + arguments "APP_PLATFORM=android-21", + "APP_STL=c++_shared", + "NDK_TOOLCHAIN_VERSION=clang", + "GENERATED_SRC_DIR=$buildDir/generated/source", + "PROJECT_BUILD_DIR=$buildDir", + "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", + "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build" + cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" + cppFlags "-std=c++17" + // Make sure this target name is the same you specify inside the + // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. + targets "oice_appmodules" + // Fix for windows limit on number of character in file paths and in command lines + if (Os.isFamily(Os.FAMILY_WINDOWS)) { + arguments "NDK_APP_SHORT_COMMANDS=true" + } + } + } + if (!enableSeparateBuildPerCPUArchitecture) { + ndk { + abiFilters (*reactNativeArchitectures()) + } + } + } + } + + if (isNewArchitectureEnabled()) { + // We configure the NDK build only if you decide to opt-in for the New Architecture. + externalNativeBuild { + ndkBuild { + path "$projectDir/src/main/jni/Android.mk" + } + } + def reactAndroidProjectDir = project(':ReactAndroid').projectDir + def packageReactNdkDebugLibs = tasks.register("packageReactNdkDebugLibs", Copy) { + dependsOn(":ReactAndroid:packageReactNdkDebugLibsForBuck") + from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib") + into("$buildDir/react-ndk/exported") + } + def packageReactNdkReleaseLibs = tasks.register("packageReactNdkReleaseLibs", Copy) { + dependsOn(":ReactAndroid:packageReactNdkReleaseLibsForBuck") + from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib") + into("$buildDir/react-ndk/exported") + } + afterEvaluate { + // If you wish to add a custom TurboModule or component locally, + // you should uncomment this line. + // preBuild.dependsOn("generateCodegenArtifactsFromSchema") + preDebugBuild.dependsOn(packageReactNdkDebugLibs) + preReleaseBuild.dependsOn(packageReactNdkReleaseLibs) + + // Due to a bug inside AGP, we have to explicitly set a dependency + // between configureNdkBuild* tasks and the preBuild tasks. + // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732 + configureNdkBuildRelease.dependsOn(preReleaseBuild) + configureNdkBuildDebug.dependsOn(preDebugBuild) + reactNativeArchitectures().each { architecture -> + tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure { + dependsOn("preDebugBuild") + } + tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure { + dependsOn("preReleaseBuild") + } + } + } } splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK - include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" + include (*reactNativeArchitectures()) } } signingConfigs { @@ -162,11 +237,6 @@ android { buildTypes { debug { signingConfig signingConfigs.debug - if (nativeArchitectures) { - ndk { - abiFilters nativeArchitectures.split(',') - } - } } release { minifyEnabled enableProguardInReleaseBuilds @@ -212,6 +282,7 @@ android { dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) + //noinspection GradleDynamicVersion implementation "com.facebook.react:react-native:+" // From node_modules @@ -247,6 +318,18 @@ dependencies { } } +if (isNewArchitectureEnabled()) { + // If new architecture is enabled, we let you build RN from source + // Otherwise we fallback to a prebuilt .aar bundled in the NPM package. + // This will be applied to all the imported transtitive dependency. + configurations.all { + resolutionStrategy.dependencySubstitution { + substitute(module("com.facebook.react:react-native")) + .using(project(":ReactAndroid")).because("On New Architecture we're building React Native from source") + } + } +} + // 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) { @@ -256,3 +339,11 @@ task copyDownloadableDepsToLibs(type: Copy) { apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) apply plugin: 'com.google.gms.google-services' + +def isNewArchitectureEnabled() { + // To opt-in for the New Architecture, you can either: + // - Set `newArchEnabled` to true inside the `gradle.properties` file + // - Invoke gradle with `-newArchEnabled=true` + // - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true` + return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true" +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index b45ec4d5..0b94d29b 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -16,7 +16,7 @@ - + diff --git a/android/app/src/debug/java/com/oice/ReactNativeFlipper.java b/android/app/src/debug/java/com/oice/ReactNativeFlipper.java index a61a916d..62cb0f71 100644 --- a/android/app/src/debug/java/com/oice/ReactNativeFlipper.java +++ b/android/app/src/debug/java/com/oice/ReactNativeFlipper.java @@ -4,7 +4,7 @@ *

This source code is licensed under the MIT license found in the LICENSE file in the root * directory of this source tree. */ -package com.awesomeproject066; +package com.oice; import android.content.Context; import com.facebook.flipper.android.AndroidFlipperClient; @@ -19,6 +19,7 @@ import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; import com.facebook.flipper.plugins.react.ReactFlipperPlugin; import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; +import com.facebook.react.ReactInstanceEventListener; import com.facebook.react.ReactInstanceManager; import com.facebook.react.bridge.ReactContext; import com.facebook.react.modules.network.NetworkingModule; @@ -51,7 +52,7 @@ public void apply(OkHttpClient.Builder builder) { ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); if (reactContext == null) { reactInstanceManager.addReactInstanceEventListener( - new ReactInstanceManager.ReactInstanceEventListener() { + new ReactInstanceEventListener() { @Override public void onReactContextInitialized(ReactContext reactContext) { reactInstanceManager.removeReactInstanceEventListener(this); diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 75d68caf..051ece2f 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ android:theme="@style/AppTheme"> aClass = Class.forName("com.awesomeproject066.ReactNativeFlipper"); + Class aClass = Class.forName("com.oice.ReactNativeFlipper"); aClass .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) .invoke(null, context, reactInstanceManager); diff --git a/android/app/src/main/java/com/oice/newarchitecture/MainApplicationReactNativeHost.java b/android/app/src/main/java/com/oice/newarchitecture/MainApplicationReactNativeHost.java new file mode 100644 index 00000000..69868919 --- /dev/null +++ b/android/app/src/main/java/com/oice/newarchitecture/MainApplicationReactNativeHost.java @@ -0,0 +1,116 @@ +package com.oice.newarchitecture; + +import android.app.Application; +import androidx.annotation.NonNull; +import com.facebook.react.PackageList; +import com.facebook.react.ReactInstanceManager; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; +import com.facebook.react.ReactPackageTurboModuleManagerDelegate; +import com.facebook.react.bridge.JSIModulePackage; +import com.facebook.react.bridge.JSIModuleProvider; +import com.facebook.react.bridge.JSIModuleSpec; +import com.facebook.react.bridge.JSIModuleType; +import com.facebook.react.bridge.JavaScriptContextHolder; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.UIManager; +import com.facebook.react.fabric.ComponentFactory; +import com.facebook.react.fabric.CoreComponentsRegistry; +import com.facebook.react.fabric.EmptyReactNativeConfig; +import com.facebook.react.fabric.FabricJSIModuleProvider; +import com.facebook.react.uimanager.ViewManagerRegistry; +import com.oice.BuildConfig; +import com.oice.newarchitecture.components.MainComponentsRegistry; +import com.oice.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate; +import java.util.ArrayList; +import java.util.List; + +/** + * A {@link ReactNativeHost} that helps you load everything needed for the New Architecture, both + * TurboModule delegates and the Fabric Renderer. + * + *

Please note that this class is used ONLY if you opt-in for the New Architecture (see the + * `newArchEnabled` property). Is ignored otherwise. + */ +public class MainApplicationReactNativeHost extends ReactNativeHost { + public MainApplicationReactNativeHost(Application application) { + super(application); + } + + @Override + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List getPackages() { + List packages = new PackageList(this).getPackages(); + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + // TurboModules must also be loaded here providing a valid TurboReactPackage implementation: + // packages.add(new TurboReactPackage() { ... }); + // If you have custom Fabric Components, their ViewManagers should also be loaded here + // inside a ReactPackage. + return packages; + } + + @Override + protected String getJSMainModuleName() { + return "index"; + } + + @NonNull + @Override + protected ReactPackageTurboModuleManagerDelegate.Builder + getReactPackageTurboModuleManagerDelegateBuilder() { + // Here we provide the ReactPackageTurboModuleManagerDelegate Builder. This is necessary + // for the new architecture and to use TurboModules correctly. + return new MainApplicationTurboModuleManagerDelegate.Builder(); + } + + @Override + protected JSIModulePackage getJSIModulePackage() { + return new JSIModulePackage() { + @Override + public List getJSIModules( + final ReactApplicationContext reactApplicationContext, + final JavaScriptContextHolder jsContext) { + final List specs = new ArrayList<>(); + + // Here we provide a new JSIModuleSpec that will be responsible of providing the + // custom Fabric Components. + specs.add( + new JSIModuleSpec() { + @Override + public JSIModuleType getJSIModuleType() { + return JSIModuleType.UIManager; + } + + @Override + public JSIModuleProvider getJSIModuleProvider() { + final ComponentFactory componentFactory = new ComponentFactory(); + CoreComponentsRegistry.register(componentFactory); + + // Here we register a Components Registry. + // The one that is generated with the template contains no components + // and just provides you the one from React Native core. + MainComponentsRegistry.register(componentFactory); + + final ReactInstanceManager reactInstanceManager = getReactInstanceManager(); + + ViewManagerRegistry viewManagerRegistry = + new ViewManagerRegistry( + reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)); + + return new FabricJSIModuleProvider( + reactApplicationContext, + componentFactory, + new EmptyReactNativeConfig(), + viewManagerRegistry); + } + }); + return specs; + } + }; + } +} diff --git a/android/app/src/main/java/com/oice/newarchitecture/components/MainComponentsRegistry.java b/android/app/src/main/java/com/oice/newarchitecture/components/MainComponentsRegistry.java new file mode 100644 index 00000000..c0ee89dd --- /dev/null +++ b/android/app/src/main/java/com/oice/newarchitecture/components/MainComponentsRegistry.java @@ -0,0 +1,36 @@ +package com.oice.newarchitecture.components; + +import com.facebook.jni.HybridData; +import com.facebook.proguard.annotations.DoNotStrip; +import com.facebook.react.fabric.ComponentFactory; +import com.facebook.soloader.SoLoader; + +/** + * Class responsible to load the custom Fabric Components. This class has native methods and needs a + * corresponding C++ implementation/header file to work correctly (already placed inside the jni/ + * folder for you). + * + *

Please note that this class is used ONLY if you opt-in for the New Architecture (see the + * `newArchEnabled` property). Is ignored otherwise. + */ +@DoNotStrip +public class MainComponentsRegistry { + static { + SoLoader.loadLibrary("fabricjni"); + } + + @DoNotStrip private final HybridData mHybridData; + + @DoNotStrip + private native HybridData initHybrid(ComponentFactory componentFactory); + + @DoNotStrip + private MainComponentsRegistry(ComponentFactory componentFactory) { + mHybridData = initHybrid(componentFactory); + } + + @DoNotStrip + public static MainComponentsRegistry register(ComponentFactory componentFactory) { + return new MainComponentsRegistry(componentFactory); + } +} diff --git a/android/app/src/main/java/com/oice/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java b/android/app/src/main/java/com/oice/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java new file mode 100644 index 00000000..8e1c3762 --- /dev/null +++ b/android/app/src/main/java/com/oice/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java @@ -0,0 +1,48 @@ +package com.oice.newarchitecture.modules; + +import com.facebook.jni.HybridData; +import com.facebook.react.ReactPackage; +import com.facebook.react.ReactPackageTurboModuleManagerDelegate; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.soloader.SoLoader; +import java.util.List; + +/** + * Class responsible to load the TurboModules. This class has native methods and needs a + * corresponding C++ implementation/header file to work correctly (already placed inside the jni/ + * folder for you). + * + *

Please note that this class is used ONLY if you opt-in for the New Architecture (see the + * `newArchEnabled` property). Is ignored otherwise. + */ +public class MainApplicationTurboModuleManagerDelegate + extends ReactPackageTurboModuleManagerDelegate { + + private static volatile boolean sIsSoLibraryLoaded; + + protected MainApplicationTurboModuleManagerDelegate( + ReactApplicationContext reactApplicationContext, List packages) { + super(reactApplicationContext, packages); + } + + protected native HybridData initHybrid(); + + native boolean canCreateTurboModule(String moduleName); + + public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder { + protected MainApplicationTurboModuleManagerDelegate build( + ReactApplicationContext context, List packages) { + return new MainApplicationTurboModuleManagerDelegate(context, packages); + } + } + + @Override + protected synchronized void maybeLoadOtherSoLibraries() { + if (!sIsSoLibraryLoaded) { + // If you change the name of your application .so file in the Android.mk file, + // make sure you update the name here as well. + SoLoader.loadLibrary("oice_appmodules"); + sIsSoLibraryLoaded = true; + } + } +} diff --git a/android/app/src/main/jni/Android.mk b/android/app/src/main/jni/Android.mk new file mode 100644 index 00000000..42339464 --- /dev/null +++ b/android/app/src/main/jni/Android.mk @@ -0,0 +1,49 @@ +THIS_DIR := $(call my-dir) + +include $(REACT_ANDROID_DIR)/Android-prebuilt.mk + +# If you wish to add a custom TurboModule or Fabric component in your app you +# will have to include the following autogenerated makefile. +# include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk +include $(CLEAR_VARS) + +LOCAL_PATH := $(THIS_DIR) + +# You can customize the name of your application .so file here. +LOCAL_MODULE := oice_appmodules + +LOCAL_C_INCLUDES := $(LOCAL_PATH) +LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) + +# If you wish to add a custom TurboModule or Fabric component in your app you +# will have to uncomment those lines to include the generated source +# files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni) +# +# LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni +# LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp) +# LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni + +# Here you should add any native library you wish to depend on. +LOCAL_SHARED_LIBRARIES := \ + libfabricjni \ + libfbjni \ + libfolly_futures \ + libfolly_json \ + libglog \ + libjsi \ + libreact_codegen_rncore \ + libreact_debug \ + libreact_nativemodule_core \ + libreact_render_componentregistry \ + libreact_render_core \ + libreact_render_debug \ + libreact_render_graphics \ + librrc_view \ + libruntimeexecutor \ + libturbomodulejsijni \ + libyoga + +LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall + +include $(BUILD_SHARED_LIBRARY) diff --git a/android/app/src/main/jni/MainApplicationModuleProvider.cpp b/android/app/src/main/jni/MainApplicationModuleProvider.cpp new file mode 100644 index 00000000..0ac23cc6 --- /dev/null +++ b/android/app/src/main/jni/MainApplicationModuleProvider.cpp @@ -0,0 +1,24 @@ +#include "MainApplicationModuleProvider.h" + +#include + +namespace facebook { +namespace react { + +std::shared_ptr MainApplicationModuleProvider( + const std::string moduleName, + const JavaTurboModule::InitParams ¶ms) { + // Here you can provide your own module provider for TurboModules coming from + // either your application or from external libraries. The approach to follow + // is similar to the following (for a library called `samplelibrary`: + // + // auto module = samplelibrary_ModuleProvider(moduleName, params); + // if (module != nullptr) { + // return module; + // } + // return rncore_ModuleProvider(moduleName, params); + return rncore_ModuleProvider(moduleName, params); +} + +} // namespace react +} // namespace facebook diff --git a/android/app/src/main/jni/MainApplicationModuleProvider.h b/android/app/src/main/jni/MainApplicationModuleProvider.h new file mode 100644 index 00000000..0fa43fa6 --- /dev/null +++ b/android/app/src/main/jni/MainApplicationModuleProvider.h @@ -0,0 +1,16 @@ +#pragma once + +#include +#include + +#include + +namespace facebook { +namespace react { + +std::shared_ptr MainApplicationModuleProvider( + const std::string moduleName, + const JavaTurboModule::InitParams ¶ms); + +} // namespace react +} // namespace facebook diff --git a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp new file mode 100644 index 00000000..dbbdc3d1 --- /dev/null +++ b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp @@ -0,0 +1,45 @@ +#include "MainApplicationTurboModuleManagerDelegate.h" +#include "MainApplicationModuleProvider.h" + +namespace facebook { +namespace react { + +jni::local_ref +MainApplicationTurboModuleManagerDelegate::initHybrid( + jni::alias_ref) { + return makeCxxInstance(); +} + +void MainApplicationTurboModuleManagerDelegate::registerNatives() { + registerHybrid({ + makeNativeMethod( + "initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid), + makeNativeMethod( + "canCreateTurboModule", + MainApplicationTurboModuleManagerDelegate::canCreateTurboModule), + }); +} + +std::shared_ptr +MainApplicationTurboModuleManagerDelegate::getTurboModule( + const std::string name, + const std::shared_ptr jsInvoker) { + // Not implemented yet: provide pure-C++ NativeModules here. + return nullptr; +} + +std::shared_ptr +MainApplicationTurboModuleManagerDelegate::getTurboModule( + const std::string name, + const JavaTurboModule::InitParams ¶ms) { + return MainApplicationModuleProvider(name, params); +} + +bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule( + std::string name) { + return getTurboModule(name, nullptr) != nullptr || + getTurboModule(name, {.moduleName = name}) != nullptr; +} + +} // namespace react +} // namespace facebook diff --git a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h new file mode 100644 index 00000000..1392d325 --- /dev/null +++ b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h @@ -0,0 +1,38 @@ +#include +#include + +#include +#include + +namespace facebook { +namespace react { + +class MainApplicationTurboModuleManagerDelegate + : public jni::HybridClass< + MainApplicationTurboModuleManagerDelegate, + TurboModuleManagerDelegate> { + public: + // Adapt it to the package you used for your Java class. + static constexpr auto kJavaDescriptor = + "Lcom/oice/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;"; + + static jni::local_ref initHybrid(jni::alias_ref); + + static void registerNatives(); + + std::shared_ptr getTurboModule( + const std::string name, + const std::shared_ptr jsInvoker) override; + std::shared_ptr getTurboModule( + const std::string name, + const JavaTurboModule::InitParams ¶ms) override; + + /** + * Test-only method. Allows user to verify whether a TurboModule can be + * created by instances of this class. + */ + bool canCreateTurboModule(std::string name); +}; + +} // namespace react +} // namespace facebook diff --git a/android/app/src/main/jni/MainComponentsRegistry.cpp b/android/app/src/main/jni/MainComponentsRegistry.cpp new file mode 100644 index 00000000..8f7edffd --- /dev/null +++ b/android/app/src/main/jni/MainComponentsRegistry.cpp @@ -0,0 +1,61 @@ +#include "MainComponentsRegistry.h" + +#include +#include +#include +#include + +namespace facebook { +namespace react { + +MainComponentsRegistry::MainComponentsRegistry(ComponentFactory *delegate) {} + +std::shared_ptr +MainComponentsRegistry::sharedProviderRegistry() { + auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); + + // Custom Fabric Components go here. You can register custom + // components coming from your App or from 3rd party libraries here. + // + // providerRegistry->add(concreteComponentDescriptorProvider< + // AocViewerComponentDescriptor>()); + return providerRegistry; +} + +jni::local_ref +MainComponentsRegistry::initHybrid( + jni::alias_ref, + ComponentFactory *delegate) { + auto instance = makeCxxInstance(delegate); + + auto buildRegistryFunction = + [](EventDispatcher::Weak const &eventDispatcher, + ContextContainer::Shared const &contextContainer) + -> ComponentDescriptorRegistry::Shared { + auto registry = MainComponentsRegistry::sharedProviderRegistry() + ->createComponentDescriptorRegistry( + {eventDispatcher, contextContainer}); + + auto mutableRegistry = + std::const_pointer_cast(registry); + + mutableRegistry->setFallbackComponentDescriptor( + std::make_shared( + ComponentDescriptorParameters{ + eventDispatcher, contextContainer, nullptr})); + + return registry; + }; + + delegate->buildRegistryFunction = buildRegistryFunction; + return instance; +} + +void MainComponentsRegistry::registerNatives() { + registerHybrid({ + makeNativeMethod("initHybrid", MainComponentsRegistry::initHybrid), + }); +} + +} // namespace react +} // namespace facebook diff --git a/android/app/src/main/jni/MainComponentsRegistry.h b/android/app/src/main/jni/MainComponentsRegistry.h new file mode 100644 index 00000000..8d4a587d --- /dev/null +++ b/android/app/src/main/jni/MainComponentsRegistry.h @@ -0,0 +1,32 @@ +#pragma once + +#include +#include +#include +#include + +namespace facebook { +namespace react { + +class MainComponentsRegistry + : public facebook::jni::HybridClass { + public: + // Adapt it to the package you used for your Java class. + constexpr static auto kJavaDescriptor = + "Lcom/oice/newarchitecture/components/MainComponentsRegistry;"; + + static void registerNatives(); + + MainComponentsRegistry(ComponentFactory *delegate); + + private: + static std::shared_ptr + sharedProviderRegistry(); + + static jni::local_ref initHybrid( + jni::alias_ref, + ComponentFactory *delegate); +}; + +} // namespace react +} // namespace facebook diff --git a/android/app/src/main/jni/OnLoad.cpp b/android/app/src/main/jni/OnLoad.cpp new file mode 100644 index 00000000..c569b6e8 --- /dev/null +++ b/android/app/src/main/jni/OnLoad.cpp @@ -0,0 +1,11 @@ +#include +#include "MainApplicationTurboModuleManagerDelegate.h" +#include "MainComponentsRegistry.h" + +JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) { + return facebook::jni::initialize(vm, [] { + facebook::react::MainApplicationTurboModuleManagerDelegate:: + registerNatives(); + facebook::react::MainComponentsRegistry::registerNatives(); + }); +} diff --git a/android/build.gradle b/android/build.gradle index e25f8f70..54841395 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,21 +1,32 @@ +import org.apache.tools.ant.taskdefs.condition.Os + // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext { kotlinVersion = "1.6.0" - buildToolsVersion = "30.0.2" + buildToolsVersion = "31.0.0" minSdkVersion = 21 compileSdkVersion = 31 targetSdkVersion = 31 + + if (System.properties['os.arch'] == "aarch64") { + // For M1 Users we need to use the NDK 24 which added support for aarch64 + ndkVersion = "24.0.8215888" + } else { + // Otherwise we default to the side-by-side NDK version from AGP. + ndkVersion = "21.4.7075529" + } supportLibVersion = "28.0.0" - ndkVersion = "21.4.7075529" } repositories { google() mavenCentral() } dependencies { - classpath('com.android.tools.build:gradle:7.4.2') + classpath("com.android.tools.build:gradle:7.4.2") + classpath("com.facebook.react:react-native-gradle-plugin") + classpath("de.undercouch:gradle-download-task:4.1.2") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath("com.google.gms:google-services:4.3.15") diff --git a/android/gradle.properties b/android/gradle.properties index fca12817..fa4feae5 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -9,18 +9,32 @@ # 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 +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m # 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 +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.99.0 +FLIPPER_VERSION=0.125.0 -org.gradle.jvmargs=-Xmx4096M -Dkotlin.daemon.jvm.options\="-Xmx4096M" +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch delta 26482 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 delta 22605 zcmV)ZK&!uy(F4G;1F$Or4XW8@*aHOs0O|<<04pTwK!b{dHxe$1wboX!v`W1o0WAS+MB5I@A&gFD(#gb2?-zUh2fp^DPhG2h z3AC=-)z|)u{);|o_nFB+5`wEN)|oT=?A!P4efH${GOj3?!c~8qhJQJV!76V>q7E&2j*mCWsE53!n}+H1!u7+?OJcbtmfIb8SHXLDUxwa+WwFgGID~=>&Ja0gScW^n5K1H$8Kg*^Ve#2& zX_-6o`m#xqXvWU#=A!Nx;=L}E+*PB(kj&UlF#LGeRg zu}hT8?q*|#PXF|(?ojr5+j98>chb}=m5i+yI0@svg~i?U!d#}|NEnwWYfr?mry;f{ z5~0QU40nH5?E*tzgM!0XOrCes{uycZHWT--9FP}lb$f1Tg7kM0SNXd$df8Kxu|mNv zKFIU3YuHvrMvqELhn@0`Fb}h9wO4zj*=B9|+M6&UEOpP}ed#bLP*`k>t&7PKW1?>_mayR?1 z;__1SMGQQ&T6njZyVrGxTQoD0!ORFEZDW5W21i3{%&$6JCkl4utB!CKyvLft`cjd6 zg}ak&#zkM^1>rhP+SljB@x<0)wFO`uT2P)h+t@5^u}QvY&_oRDo_&|P`fQ^w|6Vlt zs*93aMO4(hxG@YzTLwxSL>_8tTyZX@WFonxnPfsZtBdK}%=N|u?{1ZmO-Xm@ijaTD zo_0LmB%mv{LrN_`+mO}<=tktW&KK#EJV4)O@fQLUBaqf(^p>V4qi1+%4eVFi?7(qa zBc5&OLW-=GX7L#w z##{>X4sK#0g~b$>%=VUpW!!dcu(h3v$Uw&WSBb#$lz?swyKKt(Da@@P8Ey~7imnA#yOrCCL3Be3r*AS+m=u^ z?zt!+piBIlIOa0IB#SmyU7GF#Q{#F$; zHTyXezZt}D;kONZK8PTGCy3w0?*;J;eqS|zpm_dJHGdSu4*ao!FBtffAeQ4#g9zcz zf_NTZRMTHl&7Yh2iy+>Qzf{d%8ThjL{&f(~;ctTYTYN<|e^*6me{bR+g7`=LlYxIW z@p=%O@h^UVsDJfMeQ4* zCbG$tTTQvml+C7WG39nswwltQHrQrJqajTKt1FRk+|Ib2N;xS(sLxGao;i^ACY^*A z8@0WpE2tanIo{KIs^{F$q5f!BZx7kJ&)XO6wz!>`Xp4GoEHSZ9P}7-Aq&z#}4cYOu zV@k7spti5S_elStX!Km?QEnoTu1e)=L3PLA;lqde&qcdVAF2czND9Q06B7>Qt?N#@ z6KxZ&Jr;M`F1hyfwBxpQ>q&|+IPS5h9Qv2NA;(R{k_kcmw40o8om8qjmhzm0+NY)5 zJ_nPR67i%x*0+G2I|uHLC1T!wK}W+98Z0({eKBR*kigfO9HWwT-LZtzlb#xJ+yQ$e z?kMLaNA38K?Z(tNNA!7I2E|kp z_3Y6LC+z8*HRf1Otl*Z0?7j)dYa8tE%1MbO+YZO#j+S89V`EA+rb{U+vt-Okd9g%) zPF8K{S|-4u%cIV;n&jg8yv(kI=eP+wPUX^We8H~WTvnS-Iqrc8Czq)V{78CyTxCqf znGWicNKf@UO7|MtPH%bLPGZ8FWGwSJ)|pHzAvW${u$H z-I!qG0$*=i=ubK%X2>0sO`mtzso3bkcy22juEj>Ezy(JOV}@KgwJR~6B&LkmDQEYt zLy1vc0k=1l$*gh!Qa|B%*+uRN$D2&jmurjoTxUE^X>Hj#@>`B(&hr}Cp<4=nPrW1O zxkyD_(eCVZ57}-!rnpuXaTO9N&$y?EF`y&M&g!BS8Zx`}1f#M`u#81LnvUC^Gg$D% zt>pt!YPR-VLL-_v%}p;QU0M?=*-mGxU`0dO9fFEBJD=FCY99-i@u+GZv*03S!NYkAY1LfBB@5q=$LPLE z&zo+YR$!qtH{?!BcH<+0)+OL+^Wt-da%7JocUiJm+AY~9cUy9g?6>ePyu-pz<7X_n zSMDP~Qu`lJO@}3&a?rwu@L>xtVU8|PinnNgpIdTB4qI|W zj`Cbu!T?LUq#5>s&Drl&n;%#eOdqB0;@Ua0WiLjDQD z`7I-t>{O&^VXIP>%T)ajS~4W340($s!*be^Gjdh{OYWBeOCC^Ru!HP}`I<%A+DOj|>qn8ObAago`3av;!k!Jc!)bNLulFFeO7>kfLL;Q#w8#+17|-TZ|wFm+)p=BD(u z^E3;|OKN|A6gcPac*`0VUo^uFQ1VwHyUfelpyHVxa#Hdqp zVLG6>RjyN;rtjjdL+$b>5Z@_YIznoN1wULQd)*RxfqO!iKu9fiZHs1CdK#FW0sO~0vJSxo8r z-j*qU8v^vH9ZxL?RqlGMs;T8o-P3bNt-7~*g~LwSsZm9_blbvP^1f`wm%vVVF_<=IF;*;$rdwL%+9-AJ3F=ZMnyY za#+WVr+#u-Rn9{74sBdIM+(TFeWo{bE)^?(m3{NilE8Sg`_PO7*oh9#bh15&E*wT5j?m#pF~rdrjRF_q8}e6=f^RCS8GMzKjR(6`Z4g7N_xb(%!&X z5j-G%oRccpVqrw5z>iX!TD*dH<3||Oop=_HGjR<{zQVaDm@W^p)_;tDRh0TR{5X3- z%6tSrfuBS*b-axCuvbHCUc*n(R-a0Yd`hvGODXoUDODlWcoOeJrKq&duJDVAr)ZO3 zC-!@x6t2A(zWegn@Lc-}z2ffEoP<=kYAF2yC9>l^5}NlgQb83|E0 zX-&xt6kQB_;3f;Me$h<+9~s!(q&;Q#Eh-#S{kV~<(&O}^Dz8m**fHFg!A@aw2mf~Q z?@s>h=HH%K+;z23w*kH2LJ#T%$*j8+tk*i0tA@3T-TaS9D^ z=5e~?Uo(TVAG$CX3)CgW69^ALTde zqeglLwAo~euVIq6(yYD2%abgteiqauOX*P-(_<_o<*&1U^uQW&`~u6jlH9j3Y9FN= z_LBNb_+>_Ll0MGT9%Iz6;zjoQ2@)S;Phs}s1z$g|{mLr{<$oNXppMGJO{lm@@s&C^ zSqj%wN=I+#gagrGvne`UA82M{v_!96V{E<(vsLgs_51+TuazN|beOtF zSbbYreag0@S%q@81qjHW(vh(kh)-+VLIi-%XxqYs`j_<$A;Kzpg*`v_*^OUeFF?*$ zwd7yLguX^qU|j!SO%v+>MNT64ZL?k^$qEUXV>UOZ2><{MlQ1tne&HbuE~%)*`{exnDn5V@s>oni#Rwi!fAKIz6?{m+WfkjjMa5mX z>c@xWhL8C1Q3W59pC6ZtpHT5he5wkc#%B~fA~`=RAxZumJ}-wasQ4njq~go?ih{4I z*p9CW%<9YV znX>hyyYL_EsHf@W=4X#!X zStb|ln30kc0mU*+yDdiEiXq)f8T?q7uV*wKYiczU2|d{_jot0=5U4V0CQlPcZdhBq zq32x6HWIsYqVfP*$F>neF^B9J{YhT)q#hb?I(oPp^AC>Ji z6ST7;e{K#8NM+}GMIquWa$ilB(tg&6rfrk_i@f*`6mm(ox1Ws~t~m<6&fw_%{l#t& zxG7v1kiwaat?Ej0m0nQ9-cTIQ+N?tPGNy$~*!*#3rPM8#5lO>t+PAlhYl3p-7Z7{S zC2jp|&K~lF@)B*A*&5eVsW#*IHZz^Kzlr_wRQ7Fhj%96Jp^ zf4~nl{0Ki*@DmM>;-}1_@k7+9rv@2B4L`%r75qZOFYzl4F+4@X5Kd`0fu}0?wT9o| zw*qrK%<7WmI3DNWb{Ec2<(1N*zbo|M82@hF9&Aaaj0CgBl6=3H!yg3dJ(#z$R;6rC zq`#POu0emqp9Hl0JfcbN&K2Y3PQw0Kf5Bfg{1t!G@OK&9f8d&if8rX;!=20vYmq=z z!IppF-*Vq$3jU+var{@IAR)vQMU-j6C(0F3p$SF!nNK%3LG;vkPV7x5?O4LdEfQZ; zYC@G-_>NO~O;ia@U~{XUOqzD6-=L8RhAyQh-sRr6#+%mX<|CktTZ=1;F_3$Yl@huiCJPc zGg1T?Y?*o6oZ`SjJz&`R?PB&=yC`j1Z+0all7ntrPM&3Kpc8jbS zfp9SdeXwxi?n@hZAPy9FLbnjCDQTgTYUhOp7xkFZV0hotYKvu)cKC+Ce_jQ3tSfo0 z7L-p%fMPgS(DXxIY2zuvt=XPyUM1I&bBpIyrq~6I9+1Uts*@QMmshhorsl+VrqaZ6 zQd+lo9Nm~#=H^VgvGgvyB`ajvrOP{(W*I|qUEUY06#3VOCly^U%=*b~rB`aksZOnR zO{dW|%QWjno9Vs)7LF;Oe_}|jn0>CPm}kRS>Ao(9>mK=DaqmTZ>Xe|4uM%(e_10MV zh!n|PC36=|w|GZ36c+Oc3z%&>MZJhqUOQ*!JF9olGSA3+qvIVJzMkly;auB|Q)xX; z2hGUmcl+6fhJ$3_(NE|M-0dFTKjg8;D{?bD_DW6Mj+JEQ$;Rv)e>SR8Hefh)ztE&H z3-g%?9Vn$zY1_=czMM>zq~g9)QeWv8_MNdF;vC)e@VeQU!sU?%+y$K&|*pHhb|Ca>tA&3ZeLSPqXQ&7cucivp%e0ScwhVwmn^J(z& zn>Tfiy`(hpSMayIe{mR7E;%gwI952s5cYG_Tm~G#6Zl(+J{%+$H;a3yR26AgM^F}7 zIs)HL4&}Q>QPDRHrP&wsW#B&$^p#&mWnWpKs;AEv(0VeMnnCqAxki$wN%DbF)N*H_ zxja}d_tph{jTuaDt{B0LW+kYQS}}^5WSN!0>mD4!olfjV z`8+yIcUB^UewLJ60MbQoon^B{B_Bi9}z5k)^;ew17Wjx!tvoj!m;D3o;vua1Wq z$Me+U1Wpp|0`-d{!EhuUIRYlX`S!?0IZCW4(lR=76yd(cK*KN^N3fJW%#xPok;WZT zO~rt1s6z*q(0pmsOcx3km4Neg)G-&}tfXq})o|Zw zoZ+mFJI~@AweO@=XYnL{&10&$t54=%Eqr?wta}WV3hoMZDHN*8M`zaHJ|_==1&x8K z47S~i>2BmX>Byi{sy%`(>Bh3WQ1?@;fjP{zEpc})aB|QUS_UzPV)&xXidml(Q$339 zM6aQ!VeBZ5&dEHu>MWdKDod`X{|}Q4Irs{2K;iXc2LJ#G5R(o%DSub_e;j2Ue%|ac z)6ImYfd-eh5T($~mSlU-)}{w7Nh^^}T9PKAp(vBx>1LYA%sM;U0}nj#RunG?rzb^4 zDcEdNs(_-XhziQD{vCck0_yY5>~1!jZEXEv-}8Gs@B4ke-*@)4f4}e|fK7O785=`3 zM`e?f&7^Eh*&K^uGk>NOSTU%WR$#{v!<3vja+Fu`5!t(Pr63zmHbvPSk0FB-F`UFH z75B=OkII#gsra~5`9uu&;gfRZQ_c7^J|hM0m($NS<1jwgjB$KkHeXQjMY;T?7`}|J z#Bir{mcdtL^MHb{srb5z2UUDS#W!Q<#JA+ex23i3#CU**6n{LdU`D|s08+&;EMDy{kWboos^vK5NMV%S+n5vnXbTZ!6g|_iM_j9_WE);;WT>A? zE2LP)v5%U$qN__efzGt!=2AIV&ss+6gsbQChMO7-`rcYm>c{Kd3{UEtwrm|PP7AaJ z&Me)|rG_bB=YOaW^(M{2+6@A$8+qxs3!ZLSQf{Ydo8E4L`x8qEF1&AMnYINZ02m;E4p;I zcdR!_ENpPSm~|-p4hNcbTdY9S6Vq7-BOI<-e+elr$7=67~Z6lRq&*S z@8WwJcH(-)aWer!u5Ah=n zPvJDf+wDwgcv{Z);Kv$%f}d)5Mm9f_Yd^=c3V+UMcn;4CM7s03>uLCf+&+t0daVSS z#yh0Nl7e#@=5Sua3%H=*ml}SB7d5lCeQhwXSBMf+Ye-$CYdcn&+!Euan= zdVj&Odua6yd7?M*Hw}N6{%@0aw0fy5q3!yR3#?f(=9Ng4D*>zELXI+r=NI}tgLS}h zD<|{))ST>^i-RMTGOnR}eqIS|Z&j1gStFRKu(48L4De&PmTHF zDs9_L@vcOJDz<2;%sncqo)atyT%TxEMSttdVY6B2tB}Ko%bF533jxmM#JP8(;8;b^ zIH-G*ycj)`F$%2v8(8_%mtD~t9Ao~jRy8m-U+ffF=tf+V)i<&5LFlZ13!_=ddt)B$ zMv1m@7%ONSzLjYwm-DZ6K^V&QX{j*8FKUc;Y&ne1%0_`5ork~bH7e7s^Sxw#cMD2bhr75FK z>V-k$B(pPY`&|XV%@RP@Oz|DxZw#o+ZM2{fM_NKz}`)Jd36h zmR&&X@HsRGGp&S{wkz0_u>2f9s<;{|VZ{vAtS_N$2JKuBaxvJrat>FW2{hXtff7EA zaA+6j;W?}vTs?!SCH=Hl{q%(6;S#PMlh)_(p0a3LoB~}XTtlG}Rt1}@rTKXHJl2E| z4+qw+9jm~a!*xCWE}!q7NPj$X9`6;H!7e#^pTNsdd!lttuBVfDlxGRhlpV#Rb67ie z`ads~Ek{bYp~U#mAAj6jSKep}+$K)ro}NgZ=_E}C2&M71^}#e$p5C;;VU1dsL_~+( zRe^YV++dAKwqq#1uH%_wO`XQRoHW{iA}byFedDm>0c{OV(F za&w-HjhDvb<_SDenn`Y+%v0QS15cI4tMEx~8q3pU{>chYcX7U(9^e@Y&verSE^yNx zE|i`kX^Istann@Jb#p0~xv7%N<#U!av!$6cj1KZ#h3C0=zQPM+#zHsE*5x9wn{U{&21cT@p&%ZDr^U{ImBTR zF5=>Ld7dvkMHP;@sZ|u(%EmDInB&rHQ@F!TL9UgiQzmvPyj|h1yXkzH+s+rrf^Uet z7rN;azDPbVlDCV+G#4rSO(wNA9M+>%K`j>3V@#gvniZAn>eg?GlFJW>9Bdx7^lxbpJ zB-&cu8rA$ky}To;wYTfh@;Y-6D_#CbM>rVK{7h3aO{}d>jLROiCU51LDAXKv0mwO*1i}GhDbu+HUn19+ zOLAtT)6%&3bgLhC#7F#HR(k*3oWAuBITkJF@-OEoT-2CxJf}GKemqs zn&a}lE*fMSVUZ8(M)|rmwV0BdKBciun=^kwV?4w(Iw+!7rwuCnEp*on?q-^IOf63z zvI;vZvU7DHnqsP7X4TyMoItyLLzlpb-Y&~x3h#hfFzAa1q24rxrxgsOQkcnmY;Afc z69@2D3rn_`iOGM~^qB68M*~Jzc|EWQAXW!j^_U?mTg2$OsXc1L?QsKibuENZ zh8mpB@s<{Wde+9}@V4eISYIoH$6&~AU(((VsLA?GM-1;&Hr zbpcZW;|BUdS9{VQyo2U08Mxch#R^}B<=ZUw6P{Vsru(+W#BTEohBACif#9@C$g&Xh ztNDz$7Bo?i9gD=HKHbFnFuk)~_Zhn19B~CLxIsE^W~lT_tMKI@)fi|EYeqb(57qJD z6+>i(rDM8L(+Ph#8KS1udNdS>#RS4|qQTT4PL{xHe5&6PA#vN+qX2XzUa(G1GML?sqClLc7Dm&?}%*`hk&J7!}>uLr0VdW*>s4{r}Z{HYmT zCfytkJ#0j~QWi0_jiu#?Ni{MeK?>$b#Q^b-B#~8V{SxPdR6vq_UK+8Qa6F`^0=3O# z%kI}DTPT0qlYuX9=J2h?@9|sOl1WbgH&erEa*XVHWOU7plH#p zncAH`Yt}5Lx{SFindnY9^kj9;l4iCvbNaWMEn8(ylgX_zCcad4lO!}p2rW5rLh02{ zlGfZ~(>g{V>8CYMXqBD_t#kSp&zHq#9mnDm4WfTpopbwlSs=SCK4EjGyG@eR!V{KO z7B`x)+k(EDm{%s#RC=18QRy9eSEXKhSf$_7A5?mro>1u$`j$!;(>GOmkRDR$a=r>1 zpHQhOi@vAQx9KvKb`Y}e_f`G@U#;>re67OQ$;b67|B!D``A2*M((%!Snm${I?Ns?j zz6pOKq)Q05Zd_SeifTpWAM?%d?ex(!M+F7Q%D3>XD&NMpt9%Fl1kojP*`V;9D&NI- ztGtWvQTbl}sWkVgyqm98`DgS7azX#fHSw?!2J>Z?0ADij*NA#FC z95K8oKMgGq_G;lSOp79+MkJb*d215c)oXu5ye$aiUcD2EIN0T#otoEGhEk$`|5eTB zpb3$5|w@urodz*DV>@~DdyQFPzN5E(+%MY6cc{G3I zHQF=-jqaV9vD}{NZI4E<(CG3)(_ONc1+dZtz{(Qi5Zfz7t2YpXa-t$54C9w2UM&jN z58!<%g5e&?{A+3|ZYNjr$Vy zTZL&TknvWUMc9x5m3zdE_N#n=4=R7$tMbEQ_(%8>_+^!U&9A8Zssy{dp^+h>f}*NOJm@!_7_}&zBUy}k+xx3gZ%ZUv;gzWI8-;(X z@@xD667lMwuEhjSUODWF>%q2gtU!wiwGJ(8h||R}M_`t4jCHl}cO?=l3!{ot`E`Cn z;oqtJd;WvUf8;-5tivk!RDOSx-%|O{{5A^Cj3tgr@AEq7Vp3l|SICRQ`}}NANs)tVfBP>=B_4sxsqA$wUj1GvJA1mr-5?<^%`> zE?ul_4*`ckKvROS4-$XQ&T!r@JjUgV9oX{=zBVo|tOa-RcE4swNresza!!B3H|zz4 za{V%TU<@^{Acq-|mHjs{xdpWuvE#%MsMTmQF)e$E&g1|)v7l<`{M6-5$XFj>heq;KF5?4af>k_}H zGw*$toDgP)+#X2~s!v|1rI`{j-gLd;30F^k4-C9k?_#;rNfs>T@$a}?B6%<6IqLCV z?j<6vRv=lOD3qCI92fn?NpY;iC~;bD$<{TdeqTu&SZsd=iMmJ!q9p2{{yoy?WZXkR zVWW4hYB`Dn)|&ToF$*vm@2ETl>82TYJ2bLQi`7S>dQDId!3F^Su&~}~Bt8clBjwEs z)MeeLIYV2mdtFaIjD}nTm8Z)(;I8Xvcy;)K5z&&P15sP2lW02?5|M*EbOC*Xm@dRu z7F|R+azcN{dyX8}%_k1p<`buGJjY<}<@6o2SK#YnP_W}Uy{Lz>i+ai3lrwBJJ=;U- zJ{n$BypNQkl6~YXD&0pT_Lw_-7wrUcqMe47UK&d$gNNxfh4S$>gRaC#kwufPqVExz zZ^9FsZ^BiU`6hhX(EEM*0eXa+{p2PE&!xrPG_rpl&8UW=hiC*|MpxK9_HN3laL8j! zg%kb5J6*S_hl_Xhz2H&0DPMooVl&mUf<~j=1h&tmk+d1m*a8!3G?kiZ zCi$Q!Kb=CYP)C4Hr}JnHZN-crzCv_9MW_pX7g5wyVG9J5)we@Q*>ncYr#t8;1gp%MISalcO4dslaZM2K-0Y5nuqkFN!4jMuFDcuLPF2%09@#e&HDgBIo4l{q< z4?3mf=)*LpLfaL}Q|JMO_OL>GiKcu(qw%89R6as86sr7;h7YjGgY-}WW4{71L1#k| zOyOuKJwP)UW*y&4Gn;Y>?2k}kldYt2Kfxi2AH`@1!pW_P;nKmwwgXg_MG4H=(=gY8 zwi9A@0q0)_;x3>ncxbArQnNSY%u!59iW{5k=$PBs zIKHrzqOVAQdQC?3R=8Svk^c%FX(-&qE~ zsfM3iX?l|reJVWysT^3bhz{XRq_0UyUqg?Y(M#UMld{aW$4rmA-;8hkZxBqE^Kp72 zA?K@jiUU{n(n2`MDH1Uj?WDPQR5X+xT41*=aOA?p?jUbzu47Jx)8p)>#XCtY@i-6A zk}TS=!vXhrv!vg8Q%r(80pNcdVZEEE09?(&_KWa-8bF@3U;$j{PSf+TeM*|jge_f| zFBZ&7S`p}t z+S5yUO~pA&d+4-!Zs?_DP0mNCvdNaS90tv)f;nN;>c$?bvEt?m#7%z~^z@yyqL)@S z^-^tsx<q3A*}BOrEX}e z2XO2KwfzX(2VjnaFx$hR_6Tru2=4!wX~cE_aswRmS^6b(y9LSXIWsi0(PTOd__?s# z8hV~yfUzs+OnTAusw*(}W%@Pxu7_D)rdLcjA5H<_Ffb_q7=wSEe`CTq7ySG-1?L)a zx%#lLD`|QBuT*H6La!;bQlWaHBQynleUg{cClM`IsPPPi)(tNN+1KffLYLJXBg(C;CCE)D6`ANPnLG#Z>><14wHwJ{ z+r7gk-iE2O`&pW1<_gjLVQl<7g31f9#fxyVmym~^r#aA`us9Ffn|2TZhLi1c8llkJJoz&a$&!DcHWK;yWo#~Pbxkj|N@i}e zU>%UGaGqp^0A98-AQQA4D72IEM7R?92t&MXioh>k>7{l!)%i^W#(F5)Lot*p9=miI z9%m25#lg1iqT!aSZSyFP?&`ZvHtmp3m-*&#J-P=%ZbF)kg1aag=F<(JO9giss<+Eh z3Tyz_2$p|wLp7tI3J;Vqo!*A>-l0<==`wl`l->ue50JV)1f>sK4^!D|pqJ@%HvNVE3XN?-VelUP4Hh4Ty!Jl*9Xms3DP>;+idF`@26P4V zSL4f?=Y~^$ME?b8#1tASpVKIXK31sp2$d@o?4y6#q@>|oM$oN*8D#ceXzPC zH3c87=1?Cj=NPmSTO>0@BiQ&S{VS0vZbqNLHGi}nWmiLSDax&;1@@b0L`kVxY<2GH z`v}17La5r-pYg0*{@-Z-5Aps}RD1tM#f#)ipQk_xqA5+}W9~hsCi3ZjpfSniQ_Z5r z2FQQr(f^u-&i$s3A%`RW?>$1f+|TqV7k2tI!E_B)iKdmJV&rgFe_87^x0qt3WnOIsBxg!0rzI8WWU(z19sBMRq+?%aM?%f3p&bc}E~puY2-}{Fl&rGNm7?SV zC9808LC;p<;$o*6>C-gM3cE6zGb{5pUvAEu(##30a5lR$DT6c9K8i9Zi-*a4R#B-+ zj>tj~w*K9~lj%pq{{c`-0|b*m+#0h`TATt6Z*Cb8wgCVDU;_XEIFk_)7LyNMCVx^} zOB+EH{?2BztLawbs=e7uqCUj+vPJsVQV5Dr2)5ATL*FLJkW5^6!(^lQuM`YIANm9O zqe{#65H4Rn%86N+c z0z#vKz0e2(%4H+bR(O+m%yxmJE*!XguSDA;P;?6?+8Ln`?T+AHbKb$Cond+uPwFx1 z6w63Z=1erkVu=r|XE?}uhEvtCp3z}gSMg-R8uM+siqQ=USAS_do78r6Fm9NPCOmx* z?A`}oJ^*&`%-ZLy8?2DH@|xd7e*jQR0|W{H00;;G002P%9ZJ~Z76$+TTMhsKCX*2o z7LyNM4U%67e`#YIR~0>DOBz`o$BtqrwPP2>F|91w76~*!+y=ZgQES=3TXE9X9a|H5 z5_zPKMu`n&DUg7~c!y`*Qe26)!0`I$c=P^OI)D zvCY-8e`6Lb1zOs&40|H4mr6!S!HJ7=W0TWUD~t0}b1Ro-GgB+`3v=n2iwdIC*Y%rv zDz96))I1GXxlsje69uc}=$5mj=gWqIBbVo9ADNn1sGT~Jv-ND=SS%U#rNV}2cxKE( z>R~f)&_w7#(=we43Yz1CO9}!Lg)G(Dr%lV4e<^RQ8uo&|nl}Vr$S>)(DQkZ-;H;Zu z-9KHhb14rhb<5U^MZ->A)}8e+dbL4Kn?Oh7`=JG`J!d%kGoCQ==TNlT1 zBqXF`7={k%25IS%5EP}QLqbX##-XL*(j_g@DKH>N3y6S74Gb}~NQ!_`-#pg$-uL|O z%w6Yy&iS1^XYE;gt$WY8cUPvmOw4N99$#u-EPYF3ot*W0VG37dY&$m0MVg942L~#$ z(}djm5#Qm>T10c9=-3<=*R5^+Y(l6qneO=In(BQ^uM|=1%_ku=J;93EW`4BB$UbyJ~Ym=`=gpOx0*+-MN0Sn8cJ zDifOEPRq@B!p&-RHtLn${d6A@AzkKB7TxB9&428@%e^TvBO*56_tc0nSY*`<#@BEa zXQOS>M+fm{Qz$y68#drx35=bj5xHMi|DuO`o@Fr}A<|GW9VceLIMx0XebU);Hr#X2 z6^i5kU4Dhm$EjLmp>~XfJLZZ_;KAd^UHj6AOe* zDrmJh|JEW%U>nrX9gBBW>Y^(ZXUPS)6=)tcX~8y#@8+59Mqdxl;>0_!J>GVDLa!t zAI4PDqI|J7@|QwQ#VixINp_6x{IaGfhORRNuna`D_}{Y+_Y~9%Kg_D|hg*k=tmE#DpNY71->@TUUs+B! z-DlX!a%vXp+pm4RPsA@wqb>6SFx~*CQPiIP&armj01v5wLzs3NVas}&%+C&O4@31< zxj*Gs`rhE^1<@n7J#Ra_y0uL%yYegT=|is4bJ@lx z2`KP@d*hc4Vve@gA7O7^@tw=bUny<&*#^d*R>h7&*Zqz~*Kl|d3$b5k5-bL7ufS`h zDF&$$+K0twl{G(#Q_Ss!{ShJXNdKp*f~~pEyH!i?=XPDlbo8bh)H0hK3vIv`M(OuI zNt-Bb_twXh>aP$~lMfDD&>&Bn*cU0}b{k~4!~?)@&V-ecvtV$-AZ$h?!#6@1gRYAg zM=M9*BO&!GQU4i**M&y~c~yCkPzIS-R94vI;cw-ESB!!5Qi#GbkXW4{kg4 zGS8>QpSKZ~GE_jbhf&lNIZD%NBPxhn>BbA%z|~eZCiNTX2BLi)9!}dqZRzMw*?3Wy zGzxdr(Hf=C!dX;`_gYba7#jFEMXtiHhB)n9rrr`OH62RX+CK9$L`HvLZSs#bJ8zW?4ilR=5p(Iey z*k7!#d{OW{d55JVWOSL(qELZd=u+fBFA&!{r@p#_P}&IN?WV`E zY_!ORh)ms8ZNHLyj+Brzu*lT3Z4i6K*0&sIY6H)x#z--<230VJ6l(HnvUZlo)?dji zhNwfxTE*6ZGIn<4r|o1QzW_}X#b-#gsbLCc!}Gq@Yq#`etM$~9td%UIMr!f&`-wzd zTxL&3>OxF;%Zn%XzFDurIHA!Z`A`Rjq^u!z@VDDRUCG)!&6bW4pN0CzR>$JG$c@8( z){C@pcP3Hb7>(Yc=6yKvLn$?f-)EGkb`Y<|d0hp~y}vn3`%X^MfZDjaS9)tsT8c%! zzOZuSBi-?vCExB^Z+?R%2B)EF%F(%ELwzd^5#{pM0VY0hc4=We%&9QYnA^)=xjN+5 ziXthqsJqNQ4(+mThFXLxAS4#viaNOEkN!#dvek zBPYLY2;@l+Wn6L2IiE#!KfYj3OZKt0R(#*5H0Sb2Ybl*XxuA&$J8e(KU#To{>g5hb z7gEP0!PyKPpHsz+!`2$NN=vB7zZw+w5DS&%{wVJo(~}eO7_KO{+ClNzyMG#=m!d?r z71@nQHd_B0d;8AsO+{9~WZ{KW&yr+ox30cG+=r`F#Hr(han;UqRexyh19c+N!uI{B zU%0W4aqoEmxLS zuXT&g6!h!KeveuJ$8WN{(fz*8{Ql6rvfQ0Z_&)!sek|K1=bQrSn7^34pgHD)KCe!t z#YtXm@SL|{3pw>mXIyP(>Ji?^TiMO1S5gtjsKF&_JK<+}(`t zG;+KjRCK3umSi2)HZMpRYgV^MGILE7Ur9|gZ!UHyNz3v`T3Cf@afnM6}Zq)p%~9 zE2Xg}r^@|UQxb>5-G&>SZu6F#&7C5UI@*Z3Kva1#Pa48ta>960y=KZuY;t~xt~6M! z34%yvJxaEO98*Qm0So)nWbu9#x6`wc7Kx9yO{99bEDfJe4Iy4U;d?Sj{&`xg2~l7i zVb~m-oIgxzG|mY7%6EaV6#H(~Fn>6hKQF9}GOj9*i_oc6(M_(aj^8X+aA8EMFm1SY_NU?n)q_djW;VaYuhK~m-?x;5a2K&whW@oC1d8oV#ZG2 z;;;5R5e?=Wyt>hlkT3sv==U z8%IaFo6BX3d!N3$CY#OlGG45GJ_+7CdC@uAb~ZT;yP$iiqZK)Z-4vU4!5l^gkdiQC z!QzAx4w9E_qiAx|Z)(9FC<;ee;;Y_j?j};`zonFbXPMd)(WCs96e2h@CxjoVXc&Gc z)R#MqT86$`#5YYhkI?dN@KD%2Li9$gUk8+AiKe}sX<0??lAZCY9NO9cgWTL|DxJNZ zW!d1yEY#g=V$+8grLOLqD=2Mm=`iO6hGk6xk6cU|aFDE}sSdh^&t%><4J7*qBuL6s zLJp!_9oilZPgNpj&wU6}{2|z`t;7`rN?+INc!fz~Dp=%Vk_oH zjU&a-E- zapnoad^eE`L?0J3)hb#bIrm6906_Pb;-QAg zHq`a41yWnMv{Egkl(L#81Z4esZ`=E40~V6w#|?_z+2jk!`|mznb&wbtW%$3(ZdF;K zZ?D`a0n%@`JFl*Z^Izda6|@{>bMchAOiEr(N{YJVhzTS1Z_;MFlPGnP!3>jjcu{F3 z4Cv!-wMg6fSK7i^Wzi3NuWc6U{6!Hgjy59!NEQ zdGP!$r~AVOsva*&HQ6$*@`7TD_i;!o@o}Hsd-;7I>le}V;?EWP$)Hp-^Ddmo{U}e) zp3>O2?}V)~i~LPvcoH(x$YE^}-^B3;Y}#X1guPi%jEZ076|0WyS(U{;l;B&IrQKVJjlH*27E7{U5PQ#q4e?uFL+y?Kr>J+S zLL*g8GLr#`o;+b_0b%VB=mny1*05m*#Mf4ob zH4*Q_w@(m`Yp917d!QUxl5{-Hw+|j-)DzBat{45p-}+?`cnp@5+&0Zj`BAA8(nxM~gqPr&P1X zOVMKF`7u*!#Mxg+Hud)-UzxKHi5fdWX_=7OBF`+o*R1cKT1UXxJxP159DCLsO22%o zp?TNXiJL!GlPh?U#jV1gAQ8gtH`MwR;g}Q2?vzbv@KiL+M^7NW$SCK-d*uc)c3wu=8Bh!9oY|_PvtJ!y-OddftL^(A5mhat z%?E6bmcJc*3D(qVf3vK14Y9+A4W$gBm)QDOIK0`aeT&&|YGr~-y zvPEQ27{yW5ouDqRN80%jVx#%S7NGn5R+CI^zalW%Ck=<Ag!2ODCS`AxE(qlR_Z z7j~m5Z)%b(0k)&+Z>GJ>K{G=mk?Y-+<@I1{on(l}3>?HK(vms(n9MEa!Jz_G9rIb2w)4o!6Pyziu)UupwEpSLHzU(2c;DH>+W zjeYXc0Ah)}&hw8KdF_%{yQ3Ul*Ius=AVW$m)8!jchbnx3Mc6jwyWJg>Sqck>)? zNFrF7lKf_68B3HwBMfxTI3i(A7}kN);FXs_jcsF`{k4I#iJF`$r)}oM*Xz(5E&Msb z9wvFlGXo3VZjc^0A?EmZ4zr7ydxcb(Y-SXglM!>;dsx~y+wxgEI|4aA3`A?(+#@`L zpR}9SKv;4;gKYS&hs#Qm0Ku49{O`3X zEG(8k#^~^0gYOk@0RmEZK;%3r^wGbc>iz>h5W9x?=I??`HLqpBJQVuJR?Hv#E$wTF z#Ec!-!5IEyUH=b|Qun_gW|<%NuSo!4J5r**kz%;(n(x6HQz;e+Hbk_+}&;qlII-t$xK*3um z&<>*kOqVdW+^?%nn`FS%A~6sZ^6%eW@VM?gTM`Gc`C%k0a216Im@Q-eg?}%x{5?@j zSqvxfzXmIpl|k=Q6e2ioTYHG*;w-r)AYaIfzDZFlqS?7oT6^zv6SXj3TS@Ui|sLN|6n k2>Ms7{(Tg~SqA<9Pz&^wIJkdxi(o!I7!TQF04%Kk0O%tvJpcdz diff --git a/android/gradlew b/android/gradlew index b0d6d0ab..1b6c7873 100755 --- a/android/gradlew +++ b/android/gradlew @@ -1,13 +1,13 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -17,78 +17,113 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # 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 +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -97,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + 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 @@ -105,84 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - 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 +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac 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 +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # 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\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=$((i+1)) + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg 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 -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/android/settings.gradle b/android/settings.gradle index 0a0fcedf..a10f64e8 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,5 +1,11 @@ rootProject.name = 'LikeCoinApp' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app', ':react-native-share-extension' +includeBuild('../node_modules/react-native-gradle-plugin') + +if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") { + include(":ReactAndroid") + project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid') +} project(':react-native-share-extension').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share-extension/android') \ No newline at end of file diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index c810d289..63b07ae8 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 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 */; }; @@ -51,7 +51,7 @@ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* LikeCoinApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LikeCoinApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = LikeCoinApp/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = LikeCoinApp/AppDelegate.m; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = LikeCoinApp/AppDelegate.mm; 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 = LikeCoinApp/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = LikeCoinApp/Info.plist; sourceTree = ""; }; @@ -104,7 +104,7 @@ 2F796178233DC2D700306A87 /* LikeCoinApp.entitlements */, 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.m */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, @@ -322,10 +322,12 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-LikeCoinApp/Pods-LikeCoinApp-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", ); runOnlyForDeploymentPostprocessing = 0; @@ -516,7 +518,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/ios/LikeCoinApp/AppDelegate.m b/ios/LikeCoinApp/AppDelegate.mm similarity index 55% rename from ios/LikeCoinApp/AppDelegate.m rename to ios/LikeCoinApp/AppDelegate.mm index 9280f9f0..68fde868 100644 --- a/ios/LikeCoinApp/AppDelegate.m +++ b/ios/LikeCoinApp/AppDelegate.mm @@ -18,39 +18,46 @@ #import #import -#ifdef FB_SONARKIT_ENABLED -#import -#import -#import -#import -#import -#import - -static void InitializeFlipper(UIApplication *application) { - FlipperClient *client = [FlipperClient sharedClient]; - SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; - [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; - [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; - [client addPlugin:[FlipperKitReactPlugin new]]; - [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; - [client start]; +#import + +#if RCT_NEW_ARCH_ENABLED +#import +#import +#import +#import +#import +#import + +#import + +@interface AppDelegate () { + RCTTurboModuleManager *_turboModuleManager; + RCTSurfacePresenterBridgeAdapter *_bridgeAdapter; + std::shared_ptr _reactNativeConfig; + facebook::react::ContextContainer::Shared _contextContainer; } #endif -@import Firebase; +#import @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -#ifdef FB_SONARKIT_ENABLED - InitializeFlipper(application); -#endif + RCTAppSetupPrepareApp(application); RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; - RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge - moduleName:@"LikeCoinApp" - initialProperties:nil]; + +#if RCT_NEW_ARCH_ENABLED + _contextContainer = std::make_shared(); + _reactNativeConfig = std::make_shared(); + _contextContainer->insert("ReactNativeConfig", _reactNativeConfig); + _bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer]; + bridge.surfacePresenter = _bridgeAdapter.surfacePresenter; +#endif + + UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"LikeCoinApp", nil); + rootView.backgroundColor = [UIColor colorWithRed:40.0f/255.0f green:100.0f/255.0f blue:110.0f/255.0f alpha:1.0]; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; @@ -83,12 +90,51 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #if DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; #else return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif } +#if RCT_NEW_ARCH_ENABLED + +#pragma mark - RCTCxxBridgeDelegate + +- (std::unique_ptr)jsExecutorFactoryForBridge:(RCTBridge *)bridge +{ + _turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge + delegate:self + jsInvoker:bridge.jsCallInvoker]; + return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager); +} + +#pragma mark RCTTurboModuleManagerDelegate + +- (Class)getModuleClassFromName:(const char *)name +{ + return RCTCoreModulesClassProvider(name); +} + +- (std::shared_ptr)getTurboModule:(const std::string &)name + jsInvoker:(std::shared_ptr)jsInvoker +{ + return nullptr; +} + +- (std::shared_ptr)getTurboModule:(const std::string &)name + initParams: + (const facebook::react::ObjCTurboModule::InitParams &)params +{ + return nullptr; +} + +- (id)getModuleInstanceFromClass:(Class)moduleClass +{ + return RCTAppSetupDefaultModuleFromClass(moduleClass); +} + +#endif + - (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary *)options { return [RNBranch.branch application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options]; diff --git a/ios/LikeCoinApp/main.m b/ios/LikeCoinApp/main.m index c316cf81..ae8a175b 100644 --- a/ios/LikeCoinApp/main.m +++ b/ios/LikeCoinApp/main.m @@ -9,7 +9,8 @@ #import "AppDelegate.h" -int main(int argc, char * argv[]) { +int main(int argc, char * argv[]) +{ @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } diff --git a/ios/LikerLandShare/LikerLandShare.m b/ios/LikerLandShare/LikerLandShare.m index e0ce7f69..8679812a 100644 --- a/ios/LikerLandShare/LikerLandShare.m +++ b/ios/LikerLandShare/LikerLandShare.m @@ -53,7 +53,7 @@ - (UIView*) shareView { - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #if DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; #else return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif diff --git a/ios/Podfile b/ios/Podfile index 989ac494..d5a7c6dd 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -2,14 +2,21 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' platform :ios, '11.0' +install! 'cocoapods', :deterministic_uuids => false target 'LikeCoinApp' do config = use_native_modules! + # Flags change depending on the env values. + flags = get_default_flags() + use_react_native!( :path => config[:reactNativePath], # to enable hermes on iOS, change `false` to `true` and then install pods - :hermes_enabled => false + :hermes_enabled => flags[:hermes_enabled], + :fabric_enabled => flags[:fabric_enabled], + # An absolute path to your application root. + :app_path => "#{Pod::Config.instance.installation_root}/.." ) target 'LikerLandShare' do diff --git a/ios/Podfile.lock b/ios/Podfile.lock index c1037365..2b75271c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -5,14 +5,14 @@ PODS: - React - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.67.5) - - FBReactNativeSpec (0.67.5): + - FBLazyVector (0.68.7) + - FBReactNativeSpec (0.68.7): - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.67.5) - - RCTTypeSafety (= 0.67.5) - - React-Core (= 0.67.5) - - React-jsi (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) + - RCTRequired (= 0.68.7) + - RCTTypeSafety (= 0.68.7) + - React-Core (= 0.68.7) + - React-jsi (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) - Firebase/Analytics (7.11.0): - Firebase/Core - Firebase/Core (7.11.0): @@ -104,14 +104,14 @@ PODS: - Flipper-Boost-iOSX (1.76.0.1.11) - Flipper-DoubleConversion (1.1.7) - Flipper-Fmt (7.1.7) - - Flipper-Folly (2.6.7): + - Flipper-Folly (2.6.10): - Flipper-Boost-iOSX - Flipper-DoubleConversion - Flipper-Fmt (= 7.1.7) - Flipper-Glog - libevent (~> 2.1.12) - - OpenSSL-Universal (= 1.1.180) - - Flipper-Glog (0.3.6) + - OpenSSL-Universal (= 1.1.1100) + - Flipper-Glog (0.5.0.4) - Flipper-PeerTalk (0.0.4) - Flipper-RSocket (1.4.3): - Flipper-Folly (~> 2.6) @@ -206,7 +206,7 @@ PODS: - nanopb/encode (= 2.30908.0) - nanopb/decode (2.30908.0) - nanopb/encode (2.30908.0) - - OpenSSL-Universal (1.1.180) + - OpenSSL-Universal (1.1.1100) - PromisesObjC (1.2.12) - Protobuf (3.14.0) - RCT-Folly (2021.06.28.00-v2): @@ -220,192 +220,201 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCTRequired (0.67.5) - - RCTTypeSafety (0.67.5): - - FBLazyVector (= 0.67.5) + - RCTRequired (0.68.7) + - RCTTypeSafety (0.68.7): + - FBLazyVector (= 0.68.7) - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.67.5) - - React-Core (= 0.67.5) - - React (0.67.5): - - React-Core (= 0.67.5) - - React-Core/DevSupport (= 0.67.5) - - React-Core/RCTWebSocket (= 0.67.5) - - React-RCTActionSheet (= 0.67.5) - - React-RCTAnimation (= 0.67.5) - - React-RCTBlob (= 0.67.5) - - React-RCTImage (= 0.67.5) - - React-RCTLinking (= 0.67.5) - - React-RCTNetwork (= 0.67.5) - - React-RCTSettings (= 0.67.5) - - React-RCTText (= 0.67.5) - - React-RCTVibration (= 0.67.5) - - React-callinvoker (0.67.5) - - React-Core (0.67.5): + - RCTRequired (= 0.68.7) + - React-Core (= 0.68.7) + - React (0.68.7): + - React-Core (= 0.68.7) + - React-Core/DevSupport (= 0.68.7) + - React-Core/RCTWebSocket (= 0.68.7) + - React-RCTActionSheet (= 0.68.7) + - React-RCTAnimation (= 0.68.7) + - React-RCTBlob (= 0.68.7) + - React-RCTImage (= 0.68.7) + - React-RCTLinking (= 0.68.7) + - React-RCTNetwork (= 0.68.7) + - React-RCTSettings (= 0.68.7) + - React-RCTText (= 0.68.7) + - React-RCTVibration (= 0.68.7) + - React-callinvoker (0.68.7) + - React-Codegen (0.68.7): + - FBReactNativeSpec (= 0.68.7) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.68.7) + - RCTTypeSafety (= 0.68.7) + - React-Core (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-Core (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.67.5) - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-Core/Default (= 0.68.7) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/CoreModulesHeaders (0.67.5): + - React-Core/CoreModulesHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/Default (0.67.5): + - React-Core/Default (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/DevSupport (0.67.5): + - React-Core/DevSupport (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.67.5) - - React-Core/RCTWebSocket (= 0.67.5) - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-jsinspector (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-Core/Default (= 0.68.7) + - React-Core/RCTWebSocket (= 0.68.7) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-jsinspector (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTActionSheetHeaders (0.67.5): + - React-Core/RCTActionSheetHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTAnimationHeaders (0.67.5): + - React-Core/RCTAnimationHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTBlobHeaders (0.67.5): + - React-Core/RCTBlobHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTImageHeaders (0.67.5): + - React-Core/RCTImageHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTLinkingHeaders (0.67.5): + - React-Core/RCTLinkingHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTNetworkHeaders (0.67.5): + - React-Core/RCTNetworkHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTSettingsHeaders (0.67.5): + - React-Core/RCTSettingsHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTTextHeaders (0.67.5): + - React-Core/RCTTextHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTVibrationHeaders (0.67.5): + - React-Core/RCTVibrationHeaders (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-Core/RCTWebSocket (0.67.5): + - React-Core/RCTWebSocket (0.68.7): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.67.5) - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsiexecutor (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-Core/Default (= 0.68.7) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsiexecutor (= 0.68.7) + - React-perflogger (= 0.68.7) - Yoga - - React-CoreModules (0.67.5): - - FBReactNativeSpec (= 0.67.5) + - React-CoreModules (0.68.7): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.5) - - React-Core/CoreModulesHeaders (= 0.67.5) - - React-jsi (= 0.67.5) - - React-RCTImage (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) - - React-cxxreact (0.67.5): + - RCTTypeSafety (= 0.68.7) + - React-Codegen (= 0.68.7) + - React-Core/CoreModulesHeaders (= 0.68.7) + - React-jsi (= 0.68.7) + - React-RCTImage (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-cxxreact (0.68.7): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.67.5) - - React-jsi (= 0.67.5) - - React-jsinspector (= 0.67.5) - - React-logger (= 0.67.5) - - React-perflogger (= 0.67.5) - - React-runtimeexecutor (= 0.67.5) - - React-jsi (0.67.5): + - React-callinvoker (= 0.68.7) + - React-jsi (= 0.68.7) + - React-jsinspector (= 0.68.7) + - React-logger (= 0.68.7) + - React-perflogger (= 0.68.7) + - React-runtimeexecutor (= 0.68.7) + - React-jsi (0.68.7): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 0.67.5) - - React-jsi/Default (0.67.5): + - React-jsi/Default (= 0.68.7) + - React-jsi/Default (0.68.7): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (0.67.5): + - React-jsiexecutor (0.68.7): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-perflogger (= 0.67.5) - - React-jsinspector (0.67.5) - - React-logger (0.67.5): + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-perflogger (= 0.68.7) + - React-jsinspector (0.68.7) + - React-logger (0.68.7): - glog - react-native-authcore (1.0.0): - React @@ -438,71 +447,71 @@ PODS: - React - react-native-webview (11.26.1): - React-Core - - React-perflogger (0.67.5) - - React-RCTActionSheet (0.67.5): - - React-Core/RCTActionSheetHeaders (= 0.67.5) - - React-RCTAnimation (0.67.5): - - FBReactNativeSpec (= 0.67.5) + - React-perflogger (0.68.7) + - React-RCTActionSheet (0.68.7): + - React-Core/RCTActionSheetHeaders (= 0.68.7) + - React-RCTAnimation (0.68.7): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.5) - - React-Core/RCTAnimationHeaders (= 0.67.5) - - React-jsi (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) - - React-RCTBlob (0.67.5): - - FBReactNativeSpec (= 0.67.5) + - RCTTypeSafety (= 0.68.7) + - React-Codegen (= 0.68.7) + - React-Core/RCTAnimationHeaders (= 0.68.7) + - React-jsi (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-RCTBlob (0.68.7): - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTBlobHeaders (= 0.67.5) - - React-Core/RCTWebSocket (= 0.67.5) - - React-jsi (= 0.67.5) - - React-RCTNetwork (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) - - React-RCTImage (0.67.5): - - FBReactNativeSpec (= 0.67.5) + - React-Codegen (= 0.68.7) + - React-Core/RCTBlobHeaders (= 0.68.7) + - React-Core/RCTWebSocket (= 0.68.7) + - React-jsi (= 0.68.7) + - React-RCTNetwork (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-RCTImage (0.68.7): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.5) - - React-Core/RCTImageHeaders (= 0.67.5) - - React-jsi (= 0.67.5) - - React-RCTNetwork (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) - - React-RCTLinking (0.67.5): - - FBReactNativeSpec (= 0.67.5) - - React-Core/RCTLinkingHeaders (= 0.67.5) - - React-jsi (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) - - React-RCTNetwork (0.67.5): - - FBReactNativeSpec (= 0.67.5) + - RCTTypeSafety (= 0.68.7) + - React-Codegen (= 0.68.7) + - React-Core/RCTImageHeaders (= 0.68.7) + - React-jsi (= 0.68.7) + - React-RCTNetwork (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-RCTLinking (0.68.7): + - React-Codegen (= 0.68.7) + - React-Core/RCTLinkingHeaders (= 0.68.7) + - React-jsi (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-RCTNetwork (0.68.7): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.5) - - React-Core/RCTNetworkHeaders (= 0.67.5) - - React-jsi (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) - - React-RCTSettings (0.67.5): - - FBReactNativeSpec (= 0.67.5) + - RCTTypeSafety (= 0.68.7) + - React-Codegen (= 0.68.7) + - React-Core/RCTNetworkHeaders (= 0.68.7) + - React-jsi (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-RCTSettings (0.68.7): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.5) - - React-Core/RCTSettingsHeaders (= 0.67.5) - - React-jsi (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) - - React-RCTText (0.67.5): - - React-Core/RCTTextHeaders (= 0.67.5) - - React-RCTVibration (0.67.5): - - FBReactNativeSpec (= 0.67.5) + - RCTTypeSafety (= 0.68.7) + - React-Codegen (= 0.68.7) + - React-Core/RCTSettingsHeaders (= 0.68.7) + - React-jsi (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-RCTText (0.68.7): + - React-Core/RCTTextHeaders (= 0.68.7) + - React-RCTVibration (0.68.7): - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTVibrationHeaders (= 0.67.5) - - React-jsi (= 0.67.5) - - ReactCommon/turbomodule/core (= 0.67.5) - - React-runtimeexecutor (0.67.5): - - React-jsi (= 0.67.5) - - ReactCommon/turbomodule/core (0.67.5): + - React-Codegen (= 0.68.7) + - React-Core/RCTVibrationHeaders (= 0.68.7) + - React-jsi (= 0.68.7) + - ReactCommon/turbomodule/core (= 0.68.7) + - React-runtimeexecutor (0.68.7): + - React-jsi (= 0.68.7) + - ReactCommon/turbomodule/core (0.68.7): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.67.5) - - React-Core (= 0.67.5) - - React-cxxreact (= 0.67.5) - - React-jsi (= 0.67.5) - - React-logger (= 0.67.5) - - React-perflogger (= 0.67.5) + - React-callinvoker (= 0.68.7) + - React-Core (= 0.68.7) + - React-cxxreact (= 0.68.7) + - React-jsi (= 0.68.7) + - React-logger (= 0.68.7) + - React-perflogger (= 0.68.7) - ReactNativeShareExtension (2.0.0): - React - RNCAsyncStorage (1.18.2): @@ -610,8 +619,8 @@ DEPENDENCIES: - Flipper-Boost-iOSX (= 1.76.0.1.11) - Flipper-DoubleConversion (= 1.1.7) - Flipper-Fmt (= 7.1.7) - - Flipper-Folly (= 2.6.7) - - Flipper-Glog (= 0.3.6) + - Flipper-Folly (= 2.6.10) + - Flipper-Glog (= 0.5.0.4) - Flipper-PeerTalk (= 0.0.4) - Flipper-RSocket (= 1.4.3) - FlipperKit (= 0.125.0) @@ -628,12 +637,13 @@ DEPENDENCIES: - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - OpenSSL-Universal (= 1.1.180) + - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Codegen (from `build/generated/ios`) - React-Core (from `../node_modules/react-native/`) - React-Core/DevSupport (from `../node_modules/react-native/`) - React-Core/RCTWebSocket (from `../node_modules/react-native/`) @@ -753,6 +763,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/" React-callinvoker: :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Codegen: + :path: build/generated/ios React-Core: :path: "../node_modules/react-native/" React-CoreModules: @@ -866,8 +878,8 @@ SPEC CHECKSUMS: BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 - FBLazyVector: d2db9d00883282819d03bbd401b2ad4360d47580 - FBReactNativeSpec: 94da4d84ba3b1acf459103320882daa481a2b62d + FBLazyVector: 63b89dc85804d5817261f56dc4cfb43a9b6d57f5 + FBReactNativeSpec: 1fa200a9862d9369a53b6fddbbfcdc22bab24062 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseABTesting: e66f1f80747792630d9b292966de206d5df9853b FirebaseAnalytics: cd3bd84d722a24a8923918af8af8e5236f615d77 @@ -882,8 +894,8 @@ SPEC CHECKSUMS: Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b - Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a - Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 + Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 + Flipper-Glog: 87bc98ff48de90cb5b0b5114ed3da79d85ee2dd4 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 @@ -895,21 +907,22 @@ SPEC CHECKSUMS: libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libwebp: e90b9c01d99205d03b6bb8f2c8c415e5a4ef66f0 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b + OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 Protobuf: 0cde852566359049847168e51bd1c690e0f70056 RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 - RCTRequired: 412e994c1e570cf35378a32c18fd46e50634938b - RCTTypeSafety: ef27340c728e6d673af345ed69e479a010c8a2d8 - React: 36b9f5116572e5b80f01e562bb1f1451e8848e47 - React-callinvoker: 91e62870884d3db3a0db33bbb1ba4e53fa5210ca - React-Core: 765ccc3861be1b93c7d5ca37f6b06e2efd6e7999 - React-CoreModules: da2ddff50a92576b6d58fbfc80a62ba3f81d8a4e - React-cxxreact: b54cffd4feb550c3213cd38db4a2a4bdd896f715 - React-jsi: 103674913e4159a07df20ef214c6b563e90e7b2e - React-jsiexecutor: e9895ccae253323ca70f693945fecbba091f0abd - React-jsinspector: ec4fe4f65ccf9d67c8429dda955d3412db8a25ef - React-logger: 85f4ef06b9723714b2dfa5b0e5502b673b271b58 + RCTRequired: 530916cd48c5f7cf1fc16966ad5ea01638ca4799 + RCTTypeSafety: 5fb4cb3080efd582e5563c3e9a0e459fc51396c5 + React: 097b19fbc7aecb3bd23de54b462d2051d7ca8a38 + React-callinvoker: 4f118545cf884f0d8fce5bcd6e1847147ea9cc05 + React-Codegen: 24e59be16f8ed24b3e49e5ff0738dad91988c760 + React-Core: 0b464d0bec18dde90fa819c4be14dbcbdbf3077f + React-CoreModules: 9bb7d5d5530d474cf8514e2dc8274af82a0bcf2f + React-cxxreact: 027e192b8008ba5c200163ab6ded55d134c839d5 + React-jsi: 9019a0a0b42e9eac6c1e8c251a8dffe65055a2f1 + React-jsiexecutor: 7c0bd030a84f2ec446fb104b7735af2f5ed11eea + React-jsinspector: cab4d37ebde480f84c79ac89568abbf76b916c3e + React-logger: b75b80500ea80457b2cf169427d66de986cdcb29 react-native-authcore: cca08325158d4979caff295a8cd064733b78264f react-native-branch: f50f269fa6d2e1b8025c7fc8ebfe4872678abe53 react-native-camera: 21cf4ed26cf432ceb1fae959aa6924943fd6f714 @@ -922,18 +935,18 @@ SPEC CHECKSUMS: react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457 react-native-tracking-transparency: 25ff1ff866e338c137c818bdec20526bb05ffcc1 react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1 - React-perflogger: d32ee13196f4ae2e4098fb7f8e7ed4f864c6fb0f - React-RCTActionSheet: 81779c09e34a6a3d6b15783407ba9016a774f535 - React-RCTAnimation: b778eaaa42a884abcc5719035a7a0b2f54672658 - React-RCTBlob: 8edfc04c117decb0e7d4e6ab32bec91707e63ecb - React-RCTImage: 2022097f1291bfebd0003e477318c72b07853578 - React-RCTLinking: bd8d889c65695181342541ce4420e9419845084c - React-RCTNetwork: eae64b805d967bf3ece2cec3ad09218eeb32cb74 - React-RCTSettings: 0645af8aec5f40726e98d434a07ff58e75a81aa9 - React-RCTText: e55de507cda263ff58404c3e7d75bf76c2b80813 - React-RCTVibration: c3b8a3245267a3849b0c7cb91a37606bf5f3aa65 - React-runtimeexecutor: 434efc9e5b6d0f14f49867f130b39376c971c1aa - ReactCommon: a30c2448e5a88bae6fcb0e3da124c14ae493dac1 + React-perflogger: 44436b315d757100a53dfb1ab6b77c58cb646d7d + React-RCTActionSheet: 1888a229684762c40cc96c7ff4716f809655dc09 + React-RCTAnimation: f05da175751867521d14b02ab4d3994a7b96f131 + React-RCTBlob: 792b966e48d599383d7a0753f75e8f2ff71be1ce + React-RCTImage: 065cf66546f625295efd36bce3a1806a9b93399c + React-RCTLinking: 8246290c072bd2d1f336792038d7ec4b91f9847a + React-RCTNetwork: 6b2331c74684fae61b1ef38f4510fe5da3de3f3a + React-RCTSettings: 2898e15b249b085f8b8c7401cfab71983a2d40da + React-RCTText: bd1da1cd805e0765e3ba9089a9fd807d4860a901 + React-RCTVibration: 2a4bf853281d4981ab471509102300d3c9e6c693 + React-runtimeexecutor: 18932e685b4893be88d1efc18f5f8ca1c9cd39d8 + ReactCommon: 29bb6fad3242e30e9d049bc9d592736fa3da9e50 ReactNativeShareExtension: 589ed96a7823b475e630d7987a0958bff9804ee6 RNCAsyncStorage: ddc4ee162bfd41b0d2c68bf2d95acd81dd7f1f93 RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 @@ -951,7 +964,7 @@ SPEC CHECKSUMS: RNKeychain: c658833a9cb2cbcba6423bdd6e16cce59e27da0e RNLocalize: 62a949d2ec5bee0eb8f39a80a48f01e2f4f67080 RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a - RNReanimated: 953281675307b83d2c12ac4c39e6c3415d0ce248 + RNReanimated: 1f117be601c59177816351a965bc57320b766c15 RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f RNSentry: 9f0447b3ce13806f544903748de423259ead8552 RNSVG: d7d7bc8229af3842c9cfc3a723c815a52cdd1105 @@ -960,9 +973,9 @@ SPEC CHECKSUMS: Sentry: c7a86f43510a7d5678d4de28d78c28ab351d295b SentryPrivate: 2eaabf598a46d4b9b8822aef766df2a84caf2e6f SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: 099a946cbf84c9b32ffdc4278d72db26710ecf92 + Yoga: 0bc4b37c3b8a345336ff601e2cf7d9704bab7e93 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 023d7bdafb940174ba818e3c57708addfbdd5b1c +PODFILE CHECKSUM: 55d21ce3261a8b399fe482738bf0e3cb4ba6babd COCOAPODS: 1.12.1 diff --git a/package.json b/package.json index 0edf91dd..2e18f10d 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "ramda": "0.29.0", "react": "17.0.2", "react-content-loader": "^4.3.4", - "react-native": "^0.67.5", + "react-native": "0.68.7", "react-native-actions-sheet": "^0.4.8", "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#f2d2397e8f7f4bbcd606e638693ab9194333c3be", "react-native-branch": "^5.8.0", @@ -131,7 +131,7 @@ "@walletconnect/types": "^2.8.0", "babel-jest": "^24.9.0", "emotion-theming": "^10.0.14", - "eslint": "7.14.0", + "eslint": "^7.32.0", "eslint-config-prettier": "^6.0.0", "eslint-config-standard": "^13.0.1", "eslint-plugin-import": "^2.15.0", @@ -143,7 +143,7 @@ "ignite-bowser": "^4.6.2", "jest": "^24.9.0", "jetifier": "^1.6.1", - "metro-react-native-babel-preset": "^0.66.2", + "metro-react-native-babel-preset": "^0.67.0", "npm-run-all": "4.1.5", "patch-package": "^7.0.0", "postinstall-prepare": "1.0.1", diff --git a/patches/react-native+0.66.5.patch b/patches/react-native+0.66.5.patch deleted file mode 100644 index f683a1f4..00000000 --- a/patches/react-native+0.66.5.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp b/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp -index 2c68674..ea95e40 100644 ---- a/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp -+++ b/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp -@@ -2229,7 +2229,7 @@ static float YGDistributeFreeSpaceSecondPass( - depth, - generationCount); - node->setLayoutHadOverflow( -- node->getLayout().hadOverflow() | -+ node->getLayout().hadOverflow() || - currentRelativeChild->getLayout().hadOverflow()); - } - return deltaFreeSpace; -diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env -new file mode 100644 -index 0000000..21a13cf ---- /dev/null -+++ b/node_modules/react-native/scripts/.packager.env -@@ -0,0 +1 @@ -+export RCT_METRO_PORT=8081 -\ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 3419d02e..a4e75672 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,13 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/code-frame@7.5.5", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" @@ -48,6 +55,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.3.tgz#cd502a6a0b6e37d7ad72ce7e71a7160a3ae36f7e" integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ== +"@babel/compat-data@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.6.tgz#15606a20341de59ba02cd2fcc5086fcbe73bf544" + integrity sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg== + "@babel/core@^7.1.0": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" @@ -68,7 +80,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.6", "@babel/core@^7.12.9", "@babel/core@^7.14.0": +"@babel/core@^7.12.9", "@babel/core@^7.14.0": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.1.tgz#5de51c5206f4c6f5533562838337a603c1033cfd" integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA== @@ -89,6 +101,27 @@ json5 "^2.2.2" semver "^6.3.0" +"@babel/core@^7.13.16": + version "7.22.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.8.tgz#386470abe884302db9c82e8e5e87be9e46c86785" + integrity sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.7" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helpers" "^7.22.6" + "@babel/parser" "^7.22.7" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.8" + "@babel/types" "^7.22.5" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + "@babel/core@^7.4.5": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.2.tgz#069a776e8d5e9eefff76236bc8845566bd31dd91" @@ -138,6 +171,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.22.7": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.7.tgz#a6b8152d5a621893f2c9dacf9a4e286d520633d5" + integrity sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ== + dependencies: + "@babel/types" "^7.22.5" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/generator@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" @@ -241,6 +284,17 @@ lru-cache "^5.1.1" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz#e30d61abe9480aa5a83232eb31c111be922d2e52" + integrity sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-validator-option" "^7.22.5" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + browserslist "^4.21.9" + lru-cache "^5.1.1" + "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz#ae3de70586cc757082ae3eba57240d42f468c41b" @@ -451,7 +505,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-module-transforms@^7.21.5", "@babel/helper-module-transforms@^7.22.1": +"@babel/helper-module-transforms@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz#e0cad47fedcf3cae83c11021696376e2d5a50c63" integrity sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw== @@ -658,6 +712,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-split-export-declaration@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" @@ -734,6 +795,15 @@ "@babel/traverse" "^7.22.1" "@babel/types" "^7.22.3" +"@babel/helpers@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.6.tgz#8e61d3395a4f0c5a8060f309fb008200969b5ecd" + integrity sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA== + dependencies: + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.6" + "@babel/types" "^7.22.5" + "@babel/helpers@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" @@ -761,6 +831,15 @@ esutils "^2.0.2" js-tokens "^4.0.0" +"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" + integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/highlight@^7.12.13": version "7.13.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" @@ -779,35 +858,31 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/highlight@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" - integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== - dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - "@babel/parser@^7.1.0", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== -"@babel/parser@^7.1.6", "@babel/parser@^7.14.0", "@babel/parser@^7.20.7", "@babel/parser@^7.21.9", "@babel/parser@^7.22.0", "@babel/parser@^7.22.4": - version "7.22.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.4.tgz#a770e98fd785c231af9d93f6459d36770993fb32" - integrity sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA== - "@babel/parser@^7.12.13", "@babel/parser@^7.13.16": version "7.13.16" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37" integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw== +"@babel/parser@^7.14.0", "@babel/parser@^7.20.7", "@babel/parser@^7.21.9", "@babel/parser@^7.22.0", "@babel/parser@^7.22.4": + version "7.22.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.4.tgz#a770e98fd785c231af9d93f6459d36770993fb32" + integrity sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA== + "@babel/parser@^7.22.5", "@babel/parser@^7.4.3": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== +"@babel/parser@^7.22.7": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae" + integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q== + "@babel/parser@^7.6.0", "@babel/parser@^7.6.2": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz#205e9c95e16ba3b8b96090677a67c9d6075b70a1" @@ -837,7 +912,7 @@ "@babel/helper-create-class-features-plugin" "^7.5.5" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.7.0": +"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.7.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -872,7 +947,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.2.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -915,7 +990,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-chaining" "^7.2.0" -"@babel/plugin-proposal-optional-chaining@^7.1.0": +"@babel/plugin-proposal-optional-chaining@^7.13.12": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== @@ -1007,12 +1082,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-flow@^7.18.6": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz#3e37fca4f06d93567c1cd9b75156422e90a67107" - integrity sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw== +"@babel/plugin-syntax-flow@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859" + integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-assertions@^7.22.5": version "7.22.5" @@ -1049,13 +1124,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-jsx@^7.21.4": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" - integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-jsx@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" @@ -1378,13 +1446,13 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow" "^7.2.0" -"@babel/plugin-transform-flow-strip-types@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz#6aeca0adcb81dc627c8986e770bfaa4d9812aff5" - integrity sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w== +"@babel/plugin-transform-flow-strip-types@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2" + integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-flow" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-flow" "^7.22.5" "@babel/plugin-transform-for-of@^7.0.0": version "7.4.4" @@ -1479,16 +1547,7 @@ "@babel/helper-simple-access" "^7.1.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.1.0", "@babel/plugin-transform-modules-commonjs@^7.21.5": - version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz#d69fb947eed51af91de82e4708f676864e5e47bc" - integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ== - dependencies: - "@babel/helper-module-transforms" "^7.21.5" - "@babel/helper-plugin-utils" "^7.21.5" - "@babel/helper-simple-access" "^7.21.5" - -"@babel/plugin-transform-modules-commonjs@^7.22.5": +"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa" integrity sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA== @@ -1788,16 +1847,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.21.3", "@babel/plugin-transform-typescript@^7.5.0": - version "7.22.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.3.tgz#8f662cec8ba88c873f1c7663c0c94e3f68592f09" - integrity sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.22.1" - "@babel/helper-plugin-utils" "^7.21.5" - "@babel/plugin-syntax-typescript" "^7.21.4" - "@babel/plugin-transform-typescript@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz#5c0f7adfc1b5f38c4dbc8f79b1f0f8074134bd7d" @@ -1808,6 +1857,16 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-typescript" "^7.22.5" +"@babel/plugin-transform-typescript@^7.5.0": + version "7.22.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.3.tgz#8f662cec8ba88c873f1c7663c0c94e3f68592f09" + integrity sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.22.1" + "@babel/helper-plugin-utils" "^7.21.5" + "@babel/plugin-syntax-typescript" "^7.21.4" + "@babel/plugin-transform-unicode-escapes@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz#ce0c248522b1cb22c7c992d88301a5ead70e806c" @@ -1934,14 +1993,14 @@ core-js-compat "^3.30.2" semver "^6.3.0" -"@babel/preset-flow@^7.0.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.21.4.tgz#a5de2a1cafa61f0e0b3af9b30ff0295d38d3608f" - integrity sha512-F24cSq4DIBmhq4OzK3dE63NHagb27OPE3eWR+HLekt4Z3Y5MzIIUGF3LlLgV0gN8vzbDViSY7HnrReNVCJXTeA== +"@babel/preset-flow@^7.13.13": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.22.5.tgz#876f24ab6b38bd79703a93f32020ca2162312784" + integrity sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.21.0" - "@babel/plugin-transform-flow-strip-types" "^7.21.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + "@babel/plugin-transform-flow-strip-types" "^7.22.5" "@babel/preset-modules@^0.1.5": version "0.1.5" @@ -1954,18 +2013,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-typescript@^7.1.0": - version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz#68292c884b0e26070b4d66b202072d391358395f" - integrity sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA== - dependencies: - "@babel/helper-plugin-utils" "^7.21.5" - "@babel/helper-validator-option" "^7.21.0" - "@babel/plugin-syntax-jsx" "^7.21.4" - "@babel/plugin-transform-modules-commonjs" "^7.21.5" - "@babel/plugin-transform-typescript" "^7.21.3" - -"@babel/preset-typescript@^7.16.7": +"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz#16367d8b01d640e9a507577ed4ee54e0101e51c8" integrity sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ== @@ -1976,17 +2024,16 @@ "@babel/plugin-transform-modules-commonjs" "^7.22.5" "@babel/plugin-transform-typescript" "^7.22.5" -"@babel/register@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.5.5.tgz#40fe0d474c8c8587b28d6ae18a03eddad3dac3c1" - integrity sha512-pdd5nNR+g2qDkXZlW1yRCWFlNrAn2PPdnZUB72zjX4l1Vv4fMRRLwyf+n/idFCLI1UgVGboUU8oVziwTBiyNKQ== +"@babel/register@^7.13.16": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.5.tgz#e4d8d0f615ea3233a27b5c6ada6750ee59559939" + integrity sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ== dependencies: - core-js "^3.0.0" + clone-deep "^4.0.1" find-cache-dir "^2.0.0" - lodash "^4.17.13" - mkdirp "^0.5.1" - pirates "^4.0.0" - source-map-support "^0.5.9" + make-dir "^2.1.0" + pirates "^4.0.5" + source-map-support "^0.5.16" "@babel/regjsgen@^0.8.0": version "0.8.0" @@ -2129,6 +2176,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.22.6", "@babel/traverse@^7.22.8": + version "7.22.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.8.tgz#4d4451d31bc34efeae01eac222b514a77aa4000e" + integrity sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.7" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.22.7" + "@babel/types" "^7.22.5" + debug "^4.1.0" + globals "^11.1.0" + "@babel/traverse@^7.4.5": version "7.13.17" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.17.tgz#c85415e0c7d50ac053d758baec98b28b2ecfeea3" @@ -2541,19 +2604,18 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@eslint/eslintrc@^0.2.1": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" - integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ== +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" debug "^4.1.1" espree "^7.3.0" - globals "^12.1.0" + globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" - lodash "^4.17.19" minimatch "^3.0.4" strip-json-comments "^3.1.1" @@ -2569,6 +2631,20 @@ dependencies: "@hapi/hoek" "^9.0.0" +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@hypnosphi/create-react-context@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6" @@ -2850,6 +2926,11 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nicolo-ribaudo/semver-v6@^6.3.3": + version "6.3.3" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz#ea6d23ade78a325f7a52750aab1526b02b628c29" + integrity sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" @@ -2930,14 +3011,14 @@ dependencies: merge-options "^3.0.4" -"@react-native-community/cli-debugger-ui@^6.0.0-rc.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-6.0.0.tgz#ef9eb1268d85c1bd3caf2c4d36dc350bb080f254" - integrity sha512-onf6vtvqSzOr6bNEWhPzgcJP2UQhA0VY6c8tXwNczIONC/ahnN93LPBB/uXDbn9d/kLMvE7oUJiqRadZWHk6aA== +"@react-native-community/cli-debugger-ui@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-7.0.3.tgz#3eeeacc5a43513cbcae56e5e965d77726361bcb4" + integrity sha512-G4SA6jFI0j22o+j+kYP8/7sxzbCDqSp2QiHA/X5E0lsGEd2o9qN2zbIjiFr8b8k+VVAYSUONhoC0+uKuINvmkA== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-hermes@^6.3.0": +"@react-native-community/cli-hermes@^6.3.1": version "6.3.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-6.3.1.tgz#a4c3b4b07a1775f7012baf6d5a0b059da2ffac00" integrity sha512-+tMJsEsVX0WyylnoFE7uPoMu1aTAChaA62Y32dwWgAa1Fx6YrpPkC9d6wvYSBe9md/4mTtRher+ooBcuov6JHw== @@ -2948,7 +3029,7 @@ hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@^6.0.0", "@react-native-community/cli-platform-android@^6.3.1": +"@react-native-community/cli-platform-android@^6.3.1": version "6.3.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-6.3.1.tgz#8d35c809ddaf3b6c5d4ef9ff9c814a25a55259aa" integrity sha512-n5A64RI1ty4ScZCel/3JYY9Anl857dPsUZ86Dwc1GxrbflSB5/+hcCMg5DCNcnJRa4Hdv95SAR5pMmtAjOXApA== @@ -2964,52 +3045,69 @@ slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^6.0.0": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-6.2.1.tgz#852a7dc520071ac55fead3c78daa6a0060dde72f" - integrity sha512-5vwLRfTbIVUsO86AUPmR5vkp+7t4gTH2+SwRo0DKqBGBQ3hraA3dlWu0nzh99eQKQhCiFLB1WJPAi3zY03lK4w== +"@react-native-community/cli-platform-android@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-7.0.1.tgz#d165897edf401f9bceff1f361ef446528133cb52" + integrity sha512-nOr0aMkxAymCnbtsQwXBlyoRN2Y+IzC7Qz5T+/zyWwEbTY8SKQI8uV+8+qttUvzSvuXa2PeXsTWluuliOS8KCw== dependencies: - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-tools" "^7.0.1" + chalk "^4.1.2" + execa "^1.0.0" + fs-extra "^8.1.0" + glob "^7.1.3" + jetifier "^1.6.2" + lodash "^4.17.15" + logkitty "^0.7.1" + slash "^3.0.0" + xmldoc "^1.1.2" + +"@react-native-community/cli-platform-ios@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-7.0.1.tgz#1c27af85229246b7a528e97f093e38859896cc93" + integrity sha512-PLRIbzrCzSedmpjuFtQqcqUD45G8q7sEciI1lf5zUbVMXqjIBwJWS7iz8235PyWwj8J4MNHohLC+oyRueFtbGg== + dependencies: + "@react-native-community/cli-tools" "^7.0.1" chalk "^4.1.2" + execa "^1.0.0" glob "^7.1.3" js-yaml "^3.13.1" lodash "^4.17.15" - ora "^3.4.0" + ora "^5.4.1" plist "^3.0.2" - xcode "^2.0.0" + xcode "^3.0.0" -"@react-native-community/cli-plugin-metro@^6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-6.4.0.tgz#70b7908d6b548481f37ed58167f9460d325ae21c" - integrity sha512-lcrNODvHd3ZVhiEshXAjyBoqP44rjhkytkOSUpnZHAcmMLiguxDmvhWeWqbwu3XqSX/f0gVKmfj81t+opI1bSw== +"@react-native-community/cli-plugin-metro@^7.0.4": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-7.0.4.tgz#cd3010f6b9f955df2630ceea9fc8816a12843dde" + integrity sha512-DEV9WwJ6mB8zWFvNe/Z/eGmtmQmsZcu9VIqjxT7e9xZr2csB9ZlOZiweAMFO5cuVWZZgfL+NYIaQiFi0E0DFXw== dependencies: - "@react-native-community/cli-server-api" "^6.4.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-server-api" "^7.0.4" + "@react-native-community/cli-tools" "^6.2.1" chalk "^4.1.2" - metro "^0.66.1" - metro-config "^0.66.1" - metro-core "^0.66.1" - metro-react-native-babel-transformer "^0.66.1" - metro-resolver "^0.66.1" - metro-runtime "^0.66.1" + metro "^0.67.0" + metro-config "^0.67.0" + metro-core "^0.67.0" + metro-react-native-babel-transformer "^0.67.0" + metro-resolver "^0.67.0" + metro-runtime "^0.67.0" readline "^1.3.0" -"@react-native-community/cli-server-api@^6.4.0": - version "6.4.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-6.4.3.tgz#b52444454f40bfb54a84ab52bf42e9f8002917f5" - integrity sha512-Ywy2x+PhIUZXgE74YiCYXylSVnuEBcq5cNfYLR3AwOvrILjh03smXfCca8s2V2LWUlzmWN6+L85FJGsT92MUJA== +"@react-native-community/cli-server-api@^7.0.4": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-7.0.4.tgz#b71e3413d4188b1bb3110267674ff31ce434b163" + integrity sha512-NzwLKgshx1aFJad5b972rFowEx8ueHRFFXQFnBbvEuE3KsivDOTIwO0zn7cAO1zpxlFRxUFfcI1Pe4Aymi3xZw== dependencies: - "@react-native-community/cli-debugger-ui" "^6.0.0-rc.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-debugger-ui" "^7.0.3" + "@react-native-community/cli-tools" "^6.2.1" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" nocache "^2.1.0" pretty-format "^26.6.2" serve-static "^1.13.1" - ws "^1.1.0" + ws "^7.5.1" -"@react-native-community/cli-tools@^6.2.0", "@react-native-community/cli-tools@^6.2.1": +"@react-native-community/cli-tools@^6.2.1": version "6.2.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-6.2.1.tgz#6f7ada6559846b49fb9fcfed522399b232976ada" integrity sha512-7RbOkZLT/3YG8CAYYM70ajRKIOgVxK/b4t9KNsPq+2uen99MGezfeglC8s1cs3vBNVVxCo0a2JbXg18bUd8eqA== @@ -3023,6 +3121,21 @@ semver "^6.3.0" shell-quote "^1.7.3" +"@react-native-community/cli-tools@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-7.0.1.tgz#73790d6ca2825e42a70a770c1b403a6777e690d6" + integrity sha512-0xra4hKNA5PR2zYVXsDMNiXMGaDNoNRYMY6eTP2aVIxQbqIcVMDWSyCA8wMWX5iOpMWg0cZGaQ6a77f3Rlb34g== + dependencies: + appdirsjs "^1.2.4" + chalk "^4.1.2" + lodash "^4.17.15" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + ora "^5.4.1" + semver "^6.3.0" + shell-quote "^1.7.3" + "@react-native-community/cli-types@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-6.0.0.tgz#90269fbdc7229d5e3b8f2f3e029a94083551040d" @@ -3030,16 +3143,16 @@ dependencies: ora "^3.4.0" -"@react-native-community/cli@^6.0.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-6.4.0.tgz#0b61a4b5f11293b0b79a0e78f80777387a9529a9" - integrity sha512-UNvYnWaALa4mJEaWdLY3fVK+csZzx/Ja/FGvXISPJ9W9lrKvGtyXkidViUCPbPtMsJUi7teA4uIShHn0mbGmnQ== - dependencies: - "@react-native-community/cli-debugger-ui" "^6.0.0-rc.0" - "@react-native-community/cli-hermes" "^6.3.0" - "@react-native-community/cli-plugin-metro" "^6.4.0" - "@react-native-community/cli-server-api" "^6.4.0" - "@react-native-community/cli-tools" "^6.2.0" +"@react-native-community/cli@^7.0.3": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-7.0.4.tgz#cb4898bf9e3340ea812fa2bf194abd2429832752" + integrity sha512-W9nACtHWaLJZIP48cQmhQOnl5/7maoWE1Aji67MrLeIoB+ScNTJxaHfV4fMcklD6B6XEhaKokPACRZWm36zAog== + dependencies: + "@react-native-community/cli-debugger-ui" "^7.0.3" + "@react-native-community/cli-hermes" "^6.3.1" + "@react-native-community/cli-plugin-metro" "^7.0.4" + "@react-native-community/cli-server-api" "^7.0.4" + "@react-native-community/cli-tools" "^6.2.1" "@react-native-community/cli-types" "^6.0.0" appdirsjs "^1.2.4" chalk "^4.1.2" @@ -3119,6 +3232,11 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== +"@react-native/normalize-color@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.1.0.tgz#939b87a9849e81687d3640c5efa2a486ac266f91" + integrity sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA== + "@react-native/normalize-color@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" @@ -4735,6 +4853,11 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" +"@xmldom/xmldom@^0.8.8": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.8.tgz#d0d11511cbc1de77e53342ad1546a4d487d6ea72" + integrity sha512-0LNz4EY8B/8xXY86wMrQ4tz6zEHZv9ehFMJPm8u2gq5lQ71cfRKdaKyxfJAx5aUoyzx0qzgURblTisPGgz3d+Q== + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -4899,6 +5022,16 @@ ajv@^6.10.0, ajv@^6.10.2: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + anser@^1.4.9: version "1.4.10" resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b" @@ -5484,6 +5617,11 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -6017,12 +6155,12 @@ base32-encode@^1.1.0: dependencies: to-data-view "^1.1.0" -base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.2.3: +base64-js@^1.0.2, base64-js@^1.1.2: version "1.3.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== -base64-js@^1.3.0, base64-js@^1.5.1: +base64-js@^1.3.0, base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -6062,16 +6200,11 @@ bech32@^1.1.4: resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== -big-integer@^1.6.51: +big-integer@1.6.x, big-integer@^1.6.51: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== -big-integer@^1.6.7: - version "1.6.44" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.44.tgz#4ee9ae5f5839fc11ade338fea216b4513454a539" - integrity sha512-7MzElZPTyJ2fNvBkPxtFQ2fWIkVmuzw41+BZHSzpEq3ymB2MfeKp1+yXl/tS75xCx+WnyV+yb0kp+K1C3UNwmQ== - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -6102,6 +6235,15 @@ bip39@^3.0.2: pbkdf2 "^3.0.9" randombytes "^2.0.1" +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + bluebird@^3.3.5, bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -6169,19 +6311,19 @@ boxen@^4.1.0: type-fest "^0.8.1" widest-line "^3.1.0" -bplist-creator@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" - integrity sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU= +bplist-creator@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" + integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg== dependencies: - stream-buffers "~2.2.0" + stream-buffers "2.2.x" -bplist-parser@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6" - integrity sha1-1g1dzCDLptx+HymbNdPh+V2vuuY= +bplist-parser@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.1.tgz#e1c90b2ca2a9f9474cc72f6862bbf3fee8341fd1" + integrity sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA== dependencies: - big-integer "^1.6.7" + big-integer "1.6.x" brace-expansion@^1.1.7: version "1.1.11" @@ -6207,7 +6349,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1, braces@~3.0.2: +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -6334,6 +6476,16 @@ browserslist@^4.21.3, browserslist@^4.21.5: node-releases "^2.0.12" update-browserslist-db "^1.0.11" +browserslist@^4.21.9: + version "4.21.9" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635" + integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== + dependencies: + caniuse-lite "^1.0.30001503" + electron-to-chromium "^1.4.431" + node-releases "^2.0.12" + update-browserslist-db "^1.0.11" + bser@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" @@ -6373,6 +6525,14 @@ buffer@^5.4.3: base64-js "^1.0.2" ieee754 "^1.1.4" +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -6541,6 +6701,11 @@ caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001156.tgz#75c20937b6012fe2b02ab58b30d475bf0718de97" integrity sha512-z7qztybA2eFZTB6Z3yvaQBIoJpQtsewRD74adw2UbRWwsRq3jIPvgrQGawBMbfafekQaD21FWuXNcywtTDGGCw== +caniuse-lite@^1.0.30001503: + version "1.0.30001514" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001514.tgz#e2a7e184a23affc9367b7c8d734e7ec4628c1309" + integrity sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -6704,7 +6869,7 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.7.0: +ci-info@^3.2.0, ci-info@^3.7.0: version "3.8.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== @@ -6768,6 +6933,11 @@ cli-spinners@^2.0.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ== +cli-spinners@^2.5.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" + integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== + cli-table2@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/cli-table2/-/cli-table2-0.2.0.tgz#2d1ef7f218a0e786e214540562d4bd177fe32d97" @@ -6866,7 +7036,7 @@ clone-deep@^2.0.1: kind-of "^6.0.0" shallow-clone "^1.0.0" -clone-deep@^4.0.0: +clone-deep@^4.0.0, clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== @@ -7176,11 +7346,6 @@ core-js@^1.0.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= -core-js@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" - integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== - core-js@^3.0.1: version "3.30.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.2.tgz#6528abfda65e5ad728143ea23f7a14f0dcf503fc" @@ -7621,6 +7786,15 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +deprecated-react-native-prop-types@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz#c10c6ee75ff2b6de94bb127f142b814e6e08d9ab" + integrity sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA== + dependencies: + "@react-native/normalize-color" "*" + invariant "*" + prop-types "*" + des.js@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" @@ -7941,6 +8115,11 @@ electron-to-chromium@^1.3.585: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.588.tgz#c6515571737bfb42678115a5eaa818384593a9a5" integrity sha512-0zr+ZfytnLeJZxGgmEpPTcItu5Mm4A5zHPZXLfHcGp0mdsk95rmD7ePNewYtK1yIdLbk8Z1U2oTRRfOtR4gbYg== +electron-to-chromium@^1.4.431: + version "1.4.454" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.454.tgz#774dc7cb5e58576d0125939ec34a4182f3ccc87d" + integrity sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ== + element-resize-detector@^1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.2.4.tgz#3e6c5982dd77508b5fa7e6d5c02170e26325c9b1" @@ -8300,6 +8479,11 @@ escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@^1.9.1: version "1.14.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" @@ -8475,29 +8659,32 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@7.14.0: - version "7.14.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.14.0.tgz#2d2cac1d28174c510a97b377f122a5507958e344" - integrity sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA== +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: - "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.2.1" + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" + escape-string-regexp "^4.0.0" eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" - espree "^7.3.0" - esquery "^1.2.0" + espree "^7.3.1" + esquery "^1.4.0" esutils "^2.0.2" - file-entry-cache "^5.0.1" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" + glob-parent "^5.1.2" + globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" @@ -8505,7 +8692,7 @@ eslint@7.14.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.19" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -8514,11 +8701,11 @@ eslint@7.14.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^5.2.3" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0: +espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== @@ -8532,7 +8719,7 @@ esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.2.0: +esquery@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== @@ -8762,7 +8949,7 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -8883,12 +9070,12 @@ figures@^3.0.0: dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - flat-cache "^2.0.1" + flat-cache "^3.0.4" file-loader@^4.2.0: version "4.3.0" @@ -9021,19 +9208,18 @@ find-yarn-workspace-root@^2.0.0: dependencies: micromatch "^4.0.2" -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" + flatted "^3.1.0" + rimraf "^3.0.2" -flatted@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" - integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== flow-parser@0.*: version "0.207.0" @@ -9264,7 +9450,7 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fsevents@^2.1.2: +fsevents@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -9435,10 +9621,10 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" - integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -9519,12 +9705,12 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== +globals@^13.6.0, globals@^13.9.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: - type-fest "^0.8.1" + type-fest "^0.20.2" globalthis@^1.0.0: version "1.0.1" @@ -9631,7 +9817,7 @@ graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -graceful-fs@^4.2.2, graceful-fs@^4.2.4: +graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -9802,15 +9988,22 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hermes-engine@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.9.0.tgz#84d9cfe84e8f6b1b2020d6e71b350cec84ed982f" - integrity sha512-r7U+Y4P2Qg/igFVZN+DpT7JFfXUn1MM4dFne8aW+cCrF6RRymof+VqrUHs1kl07j8h8V2CNesU19RKgWbr3qPw== +hermes-engine@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.11.0.tgz#bb224730d230a02a5af02c4e090d1f52d57dd3db" + integrity sha512-7aMUlZja2IyLYAcZ69NBnwJAR5ZOYlSllj0oMpx08a8HzxHOys0eKCzfphrf6D0vX1JGO1QQvVsQKe6TkYherw== -hermes-parser@0.4.7: - version "0.4.7" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.4.7.tgz#410f5129d57183784d205a0538e6fbdcf614c9ea" - integrity sha512-jc+zCtXbtwTiXoMAoXOHepxAaGVFIp89wwE9qcdwnMd/uGVEtPoY8FaFSsx0ThPvyKirdR2EsIIDVrpbSXz1Ag== +hermes-estree@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.5.0.tgz#36432a2b12f01b217244da098924efdfdfc12327" + integrity sha512-1h8rvG23HhIR5K6Kt0e5C7BC72J1Ath/8MmSta49vxXp/j6wl7IMHvIRFYBQr35tWnQY97dSGR2uoAJ5pHUQkg== + +hermes-parser@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.5.0.tgz#8b678dd8b29a08b57cbaf60adba4896494c59a53" + integrity sha512-ARnJBScKAkkq8j3BHrNGBUv/4cSpZNbKDsVizEtzmsFeqC67Dopa5s4XRe+e3wN52Dh5Mj2kDB5wJvhcxwDkPg== + dependencies: + hermes-estree "0.5.0" hermes-profile-transformer@^0.0.6: version "0.0.6" @@ -9987,6 +10180,11 @@ icss-utils@^4.0.0, icss-utils@^4.1.1: dependencies: postcss "^7.0.14" +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ieee754@^1.1.4: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" @@ -10220,7 +10418,7 @@ interpret@^2.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -invariant@2.2.4, invariant@^2.2.3, invariant@^2.2.4: +invariant@*, invariant@2.2.4, invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -10488,6 +10686,11 @@ is-hexadecimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + is-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" @@ -10640,6 +10843,11 @@ is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -10918,26 +11126,25 @@ jest-haste-map@^24.9.0: optionalDependencies: fsevents "^1.2.7" -jest-haste-map@^26.5.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== +jest-haste-map@^27.3.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.5.1" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" walker "^1.0.7" optionalDependencies: - fsevents "^2.1.2" + fsevents "^2.3.2" jest-jasmine2@^24.9.0: version "24.9.0" @@ -11010,10 +11217,10 @@ jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== jest-resolve-dependencies@^24.9.0: version "24.9.0" @@ -11094,13 +11301,13 @@ jest-serializer@^24.9.0: resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== dependencies: "@types/node" "*" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" jest-snapshot@^24.1.0, jest-snapshot@^24.9.0: version "24.9.0" @@ -11146,17 +11353,17 @@ jest-util@^24.9.0: slash "^2.0.0" source-map "^0.6.0" -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" jest-validate@^24.9.0: version "24.9.0" @@ -11211,7 +11418,7 @@ jest-worker@^25.4.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.0.0, jest-worker@^26.6.2: +jest-worker@^26.0.0: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -11220,6 +11427,15 @@ jest-worker@^26.0.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" @@ -11289,29 +11505,29 @@ jsc-android@^250230.2.1: resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250230.2.1.tgz#3790313a970586a03ab0ad47defbc84df54f1b83" integrity sha512-KmxeBlRjwoqCnBBKGsihFtvsBHyUFlBxJPK4FzeYcIuBfdjv6jFys44JITAgSTbQD+vIdwMEfyZklsuQX0yI1Q== -jscodeshift@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.11.0.tgz#4f95039408f3f06b0e39bb4d53bc3139f5330e2f" - integrity sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g== - dependencies: - "@babel/core" "^7.1.6" - "@babel/parser" "^7.1.6" - "@babel/plugin-proposal-class-properties" "^7.1.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.1.0" - "@babel/plugin-proposal-optional-chaining" "^7.1.0" - "@babel/plugin-transform-modules-commonjs" "^7.1.0" - "@babel/preset-flow" "^7.0.0" - "@babel/preset-typescript" "^7.1.0" - "@babel/register" "^7.0.0" +jscodeshift@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" + integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== + dependencies: + "@babel/core" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/preset-flow" "^7.13.13" + "@babel/preset-typescript" "^7.13.0" + "@babel/register" "^7.13.16" babel-core "^7.0.0-bridge.0" - colors "^1.1.2" + chalk "^4.1.2" flow-parser "0.*" graceful-fs "^4.2.4" micromatch "^3.1.10" neo-async "^2.5.0" node-dir "^0.1.17" - recast "^0.20.3" - temp "^0.8.1" + recast "^0.20.4" + temp "^0.8.4" write-file-atomic "^2.3.0" jsdom@^11.5.1: @@ -11366,6 +11582,11 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -11744,6 +11965,11 @@ lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.pad@^4.5.1: version "4.5.1" resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" @@ -11799,6 +12025,11 @@ lodash.trimstart@^4.5.1: resolved "https://registry.yarnpkg.com/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz#8ff4dec532d82486af59573c39445914e944a7f1" integrity sha1-j/TexTLYJIavWVc8OURZFOlEp/E= +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + lodash.uppercase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz#c404abfd1469f93931f9bb24cf6cc7d57059bc73" @@ -11844,6 +12075,14 @@ log-symbols@^2.2.0: dependencies: chalk "^2.0.1" +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + log-utils@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/log-utils/-/log-utils-0.2.1.tgz#a4c217a0dd9a50515d9b920206091ab3d4e031cf" @@ -12028,91 +12267,77 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -metro-babel-register@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.66.2.tgz#c6bbe36c7a77590687ccd74b425dc020d17d05af" - integrity sha512-3F+vsVubUPJYKfVMeol8/7pd8CC287Rw92QYzJD8LEmI980xcgwMUEVBZ0UIAUwlLgiJG/f4Mwhuji2EeBXrPg== +metro-babel-transformer@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.67.0.tgz#42fe82af9953e5c62d9a8d7d544eb7be9020dd18" + integrity sha512-SBqc4nq/dgsPNFm+mpWcQQzJaXnh0nrfz2pSnZC4i6zMtIakrTWb8SQ78jOU1FZVEZ3nu9xCYVHS9Tbr/LoEuw== dependencies: "@babel/core" "^7.14.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-proposal-optional-chaining" "^7.0.0" - "@babel/plugin-syntax-class-properties" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/register" "^7.0.0" - escape-string-regexp "^1.0.5" - -metro-babel-transformer@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.66.2.tgz#fce0a3e314d28a5e7141c135665e1cc9b8e7ce86" - integrity sha512-aJ/7fc/Xkofw8Fqa51OTDhBzBz26mmpIWrXAZcPdQ8MSTt883EWncxeCEjasc79NJ89BRi7sOkkaWZo2sXlKvw== - dependencies: - "@babel/core" "^7.14.0" - hermes-parser "0.4.7" - metro-source-map "0.66.2" + hermes-parser "0.5.0" + metro-source-map "0.67.0" nullthrows "^1.1.1" -metro-cache-key@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.66.2.tgz#d6463d2a53e887a38419d523962cc24ea0e780b4" - integrity sha512-WtkNmRt41qOpHh1MkNA4nLiQ/m7iGL90ysSKD+fcLqlUnOBKJptPQm0ZUv8Kfqk18ddWX2KmsSbq+Sf3I6XohQ== +metro-cache-key@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.67.0.tgz#4df6a73cced199e1bddd0f3454bb931a27141eeb" + integrity sha512-FNJe5Rcb2uzY6G6tsqCf0RV4t2rCeX6vSHBxmP7k+4aI4NqX4evtPI0K82r221nBzm5DqNWCURZ0RYUT6jZMGA== -metro-cache@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.66.2.tgz#e0af4e0a319898f7d42a980f7ee5da153fcfd019" - integrity sha512-5QCYJtJOHoBSbL3H4/Fpl36oA697C3oYHqsce+Hk/dh2qtODUGpS3gOBhvP1B8iB+H8jJMyR75lZq129LJEsIQ== +metro-cache@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.67.0.tgz#928db5742542719677468c4d22ea29b71c7ec8fc" + integrity sha512-IY5dXiR76L75b2ue/mv+9vW8g5hdQJU6YEe81lj6gTSoUrhcONT0rzY+Gh5QOS2Kk6z9utZQMvd9PRKL9/635A== dependencies: - metro-core "0.66.2" + metro-core "0.67.0" mkdirp "^0.5.1" rimraf "^2.5.4" -metro-config@0.66.2, metro-config@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.66.2.tgz#e365acdb66ad0cda0182b9c9910760a97ee4293b" - integrity sha512-0C+PrKKIBNNzLZUKN/8ZDJS2U5FLMOTXDWbvBHIdqb6YXz8WplXR2+xlSlaSCCi5b+GR7cWFWUNeKA4GQS1/AQ== +metro-config@0.67.0, metro-config@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.67.0.tgz#5507d3b295bd10c87bd13dbe5a3033a357418786" + integrity sha512-ThAwUmzZwTbKyyrIn2bKIcJDPDBS0LKAbqJZQioflvBGfcgA21h3fdL3IxRmvCEl6OnkEWI0Tn1Z9w2GLAjf2g== dependencies: cosmiconfig "^5.0.5" jest-validate "^26.5.2" - metro "0.66.2" - metro-cache "0.66.2" - metro-core "0.66.2" - metro-runtime "0.66.2" + metro "0.67.0" + metro-cache "0.67.0" + metro-core "0.67.0" + metro-runtime "0.67.0" -metro-core@0.66.2, metro-core@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.66.2.tgz#ead776a17b3e5a307e6dc22259db30bf5c7e8490" - integrity sha512-JieLZkef/516yxXYvQxWnf3OWw5rcgWRy76K8JV/wr/i8LGVGulPAXlIi445/QZzXVydzRVASKAEVqyxM5F4mA== +metro-core@0.67.0, metro-core@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.67.0.tgz#75066e11b4df220992abf9cd6200279dd87876c8" + integrity sha512-TOa/ShE1bUq83fGNfV6rFwyfZ288M8ydmWN3g9C2OW8emOHLhJslYD/SIU4DhDkP/99yaJluIALdZ2g0+pCrvQ== dependencies: - jest-haste-map "^26.5.2" + jest-haste-map "^27.3.1" lodash.throttle "^4.1.1" - metro-resolver "0.66.2" + metro-resolver "0.67.0" -metro-hermes-compiler@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.66.2.tgz#30290748f83805faa601aa487632444915795823" - integrity sha512-nCVL1g9uR6vrw5+X1wjwZruRyMkndnzGRMqjqoljf+nGEqBTD607CR7elXw4fMWn/EM+1y0Vdq5altUu9LdgCA== +metro-hermes-compiler@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.67.0.tgz#9c1340f1882fbf535145868d0d28211ca15b0477" + integrity sha512-X5Pr1jC8/kO6d1EBDJ6yhtuc5euHX89UDNv8qdPJHAET03xfFnlojRPwOw6il2udAH20WLBv+F5M9VY+58zspQ== -metro-inspector-proxy@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.66.2.tgz#a83c76bd2f2fd7b9240be92acf9a8b1d1404547a" - integrity sha512-gnLc9121eznwP0iiA9tCBW8qZjwIsCgwHWMF1g1Qaki9le9tzeJv3dK4/lFNGxyfSaLO7vahQEhsEYsiRnTROg== +metro-inspector-proxy@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.67.0.tgz#22b360a837b07e9e2bc87a71af6154dd8fcc02a5" + integrity sha512-5Ubjk94qpNaU3OT2IZa4/dec09bauic1hzWms4czorBzDenkp4kYXG9/aWTmgQLtCk92H3Q8jKl1PQRxUSkrOQ== dependencies: connect "^3.6.5" debug "^2.2.0" - ws "^1.1.5" + ws "^7.5.1" yargs "^15.3.1" -metro-minify-uglify@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.66.2.tgz#6061dbee4f61e6d5bb3c100e4379ff6f2e16e42b" - integrity sha512-7TUK+L5CmB5x1PVnFbgmjzHW4CUadq9H5jgp0HfFoWT1skXAyEsx0DHkKDXwnot0khnNhBOEfl62ctQOnE110Q== +metro-minify-uglify@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.67.0.tgz#28a77dbd78d9e558dba8c2f31c2b9c6f939df966" + integrity sha512-4CmM5b3MTAmQ/yFEfsHOhD2SuBObB2YF6PKzXZc4agUsQVVtkrrNElaiWa8w26vrTzA9emwcyurxMf4Nl3lYPQ== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.66.2, metro-react-native-babel-preset@^0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.66.2.tgz#fddebcf413ad4ea617d4f47f7c1da401052de734" - integrity sha512-H/nLBAz0MgfDloSe1FjyH4EnbokHFdncyERvLPXDACY3ROVRCeUyFNo70ywRGXW2NMbrV4H7KUyU4zkfWhC2HQ== +metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.67.0.tgz#53aec093f53a09b56236a9bb534d76658efcbec7" + integrity sha512-tgTG4j0SKwLHbLRELMmgkgkjV1biYkWlGGKOmM484/fJC6bpDikdaFhfjsyE+W+qt7I5szbCPCickMTNQ+zwig== dependencies: "@babel/core" "^7.14.0" "@babel/plugin-proposal-class-properties" "^7.0.0" @@ -12155,61 +12380,61 @@ metro-react-native-babel-preset@0.66.2, metro-react-native-babel-preset@^0.66.2: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.66.2, metro-react-native-babel-transformer@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.66.2.tgz#768f341e7c3d3d1c38189799c9884b90d1c32eb7" - integrity sha512-z1ab7ihIT0pJrwgi9q2IH+LcW/xUWMQ0hH+Mrk7wbKQB0RnJdXFoxphrfoVHBHMUu+TBPetUcEkKawkK1e7Cng== +metro-react-native-babel-transformer@0.67.0, metro-react-native-babel-transformer@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.67.0.tgz#756d32eb3c05cab3d72fcb1700f8fd09322bb07f" + integrity sha512-P0JT09n7T01epUtgL9mH6BPat3xn4JjBakl4lWHdL61cvEGcrxuIom1eoFFKkgU/K5AVLU4aCAttHS7nSFCcEQ== dependencies: "@babel/core" "^7.14.0" babel-preset-fbjs "^3.4.0" - hermes-parser "0.4.7" - metro-babel-transformer "0.66.2" - metro-react-native-babel-preset "0.66.2" - metro-source-map "0.66.2" + hermes-parser "0.5.0" + metro-babel-transformer "0.67.0" + metro-react-native-babel-preset "0.67.0" + metro-source-map "0.67.0" nullthrows "^1.1.1" -metro-resolver@0.66.2, metro-resolver@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.66.2.tgz#f743ddbe7a12dd137d1f7a555732cafcaea421f8" - integrity sha512-pXQAJR/xauRf4kWFj2/hN5a77B4jLl0Fom5I3PHp6Arw/KxSBp0cnguXpGLwNQ6zQC0nxKCoYGL9gQpzMnN7Hw== +metro-resolver@0.67.0, metro-resolver@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.67.0.tgz#8143c716f77e468d1d42eca805243706eb349959" + integrity sha512-d2KS/zAyOA/z/q4/ff41rAp+1txF4H6qItwpsls/RHStV2j6PqgRHUzq/3ga+VIeoUJntYJ8nGW3+3qSrhFlig== dependencies: absolute-path "^0.0.0" -metro-runtime@0.66.2, metro-runtime@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.66.2.tgz#3409ee957b949b6c7b72ef6ed2b9af9a4f4a910e" - integrity sha512-vFhKBk2ot9FS4b+2v0OTa/guCF/QDAOJubY0CNg7PzCS5+w4y3IvZIcPX4SSS1t8pYEZBLvtdtTDarlDl81xmg== +metro-runtime@0.67.0, metro-runtime@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.67.0.tgz#a8888dfd06bcebbac3c99dcac7cd622510dd8ee0" + integrity sha512-IFtSL0JUt1xK3t9IoLflTDft82bjieSzdIJWLzrRzBMlesz8ox5bVmnpQbVQEwfYUpEOxbM3VOZauVbdCmXA7g== -metro-source-map@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.66.2.tgz#b5304a282a5d55fa67b599265e9cf3217175cdd7" - integrity sha512-038tFmB7vSh73VQcDWIbr5O1m+WXWyYafDaOy+1A/2K308YP0oj33gbEgDnZsLZDwcJ+xt1x6KUEBIzlX4YGeQ== +metro-source-map@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.67.0.tgz#e28db7253b9ca688e60d5710ebdccba60b45b2df" + integrity sha512-yxypInsRo3SfS00IgTuL6a2W2tfwLY//vA2E+GeqGBF5zTbJZAhwNGIEl8S87XXZhwzJcxf5/8LjJC1YDzabww== dependencies: "@babel/traverse" "^7.14.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "0.66.2" + metro-symbolicate "0.67.0" nullthrows "^1.1.1" - ob1 "0.66.2" + ob1 "0.67.0" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.66.2.tgz#addd095ce5f77e73ca21ddb5dfb396ff5d4fa041" - integrity sha512-u+DeQHyAFXVD7mVP+GST/894WHJ3i/U8oEJFnT7U3P52ZuLgX8n4tMNxhqZU12RcLR6etF8143aP0Ktx1gFLEQ== +metro-symbolicate@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.67.0.tgz#16729d05663d28176895244b3d932a898fca2b45" + integrity sha512-ZqVVcfa0xSz40eFzA5P8pCF3V6Tna9RU1prFzAJTa3j9dCGqwh0HTXC8AIkMtgX7hNdZrCJI1YipzUBlwkT0/A== dependencies: invariant "^2.2.4" - metro-source-map "0.66.2" + metro-source-map "0.67.0" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-transform-plugins@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.66.2.tgz#39dd044a23b1343e4f2d2ec34d08128cdf255ed4" - integrity sha512-KTvqplh0ut7oDKovvDG6yzXM02R6X+9b2oVG+qYq8Zd3aCGTi51ASx4ThCNkAHyEvCuJdYg9fxXTL+j+wvhB5w== +metro-transform-plugins@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.67.0.tgz#6122aa4e5e5f9a767cebcc5af6fd1695666683ce" + integrity sha512-DQFoSDIJdTMPDTUlKaCNJjEXiHGwFNneAF9wDSJ3luO5gigM7t7MuSaPzF4hpjmfmcfPnRhP6AEn9jcza2Sh8Q== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" @@ -12217,29 +12442,29 @@ metro-transform-plugins@0.66.2: "@babel/traverse" "^7.14.0" nullthrows "^1.1.1" -metro-transform-worker@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.66.2.tgz#0a8455992132c479721accd52c9bd47deb77769e" - integrity sha512-dO4PtYOMGB7Vzte8aIzX39xytODhmbJrBYPu+zYzlDjyefJZT7BkZ0LkPIThtyJi96xWcGqi9JBSo0CeRupAHw== +metro-transform-worker@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.67.0.tgz#5689553c25b0657aadefdf4ea2cd8dd06e18882a" + integrity sha512-29n+JdTb80ROiv/wDiBVlY/xRAF/nrjhp/Udv/XJl1DZb+x7JEiPxpbpthPhwwl+AYxVrostGB0W06WJ61hfiw== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" "@babel/parser" "^7.14.0" "@babel/types" "^7.0.0" babel-preset-fbjs "^3.4.0" - metro "0.66.2" - metro-babel-transformer "0.66.2" - metro-cache "0.66.2" - metro-cache-key "0.66.2" - metro-hermes-compiler "0.66.2" - metro-source-map "0.66.2" - metro-transform-plugins "0.66.2" + metro "0.67.0" + metro-babel-transformer "0.67.0" + metro-cache "0.67.0" + metro-cache-key "0.67.0" + metro-hermes-compiler "0.67.0" + metro-source-map "0.67.0" + metro-transform-plugins "0.67.0" nullthrows "^1.1.1" -metro@0.66.2, metro@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.66.2.tgz#f21759bf00995470e7577b5b88a5277963f24492" - integrity sha512-uNsISfcQ3iKKSHoN5Q+LAh0l3jeeg7ZcNZ/4BAHGsk02erA0OP+l2m+b5qYVoPptHz9Oc3KyG5oGJoTu41pWjg== +metro@0.67.0, metro@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.67.0.tgz#8007a041d22de1cdb05184431c67eb7989eef6e0" + integrity sha512-DwuBGAFcAivoac/swz8Lp7Y5Bcge1tzT7T6K0nf1ubqJP8YzBUtyR4pkjEYVUzVu/NZf7O54kHSPVu1ibYzOBQ== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.14.0" @@ -12259,28 +12484,27 @@ metro@0.66.2, metro@^0.66.1: error-stack-parser "^2.0.6" fs-extra "^1.0.0" graceful-fs "^4.1.3" - hermes-parser "0.4.7" + hermes-parser "0.5.0" image-size "^0.6.0" invariant "^2.2.4" - jest-haste-map "^26.5.2" + jest-haste-map "^27.3.1" jest-worker "^26.0.0" lodash.throttle "^4.1.1" - metro-babel-register "0.66.2" - metro-babel-transformer "0.66.2" - metro-cache "0.66.2" - metro-cache-key "0.66.2" - metro-config "0.66.2" - metro-core "0.66.2" - metro-hermes-compiler "0.66.2" - metro-inspector-proxy "0.66.2" - metro-minify-uglify "0.66.2" - metro-react-native-babel-preset "0.66.2" - metro-resolver "0.66.2" - metro-runtime "0.66.2" - metro-source-map "0.66.2" - metro-symbolicate "0.66.2" - metro-transform-plugins "0.66.2" - metro-transform-worker "0.66.2" + metro-babel-transformer "0.67.0" + metro-cache "0.67.0" + metro-cache-key "0.67.0" + metro-config "0.67.0" + metro-core "0.67.0" + metro-hermes-compiler "0.67.0" + metro-inspector-proxy "0.67.0" + metro-minify-uglify "0.67.0" + metro-react-native-babel-preset "0.67.0" + metro-resolver "0.67.0" + metro-runtime "0.67.0" + metro-source-map "0.67.0" + metro-symbolicate "0.67.0" + metro-transform-plugins "0.67.0" + metro-transform-worker "0.67.0" mime-types "^2.1.27" mkdirp "^0.5.1" node-fetch "^2.2.0" @@ -12291,7 +12515,7 @@ metro@0.66.2, metro@^0.66.1: strip-ansi "^6.0.0" temp "0.8.3" throat "^5.0.0" - ws "^1.1.5" + ws "^7.5.1" yargs "^15.3.1" microevent.ts@~0.1.1: @@ -12326,6 +12550,14 @@ micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -12926,10 +13158,10 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -ob1@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.66.2.tgz#8caf548202cf2688944bae47db405a08bca17a61" - integrity sha512-RFewnL/RjE0qQBOuM+2bbY96zmJPIge/aDtsiDbLSb+MOiK8CReAhBHDgL+zrA3F1hQk00lMWpUwYcep750plA== +ob1@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.67.0.tgz#91f104c90641b1af8c364fc82a4b2c7d0801072d" + integrity sha512-YvZtX8HKYackQ5PwdFIuuNFVsMChRPHvnARRRT0Vk59xsBvL5t9U1Ock3M1sYrKj+Gp73+0q9xcHLAxI+xLi5g== object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -13165,11 +13397,6 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - integrity sha1-7CLTEoBrtT5zF3Pnza788cZDEo8= - ora@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ora/-/ora-2.1.0.tgz#6caf2830eb924941861ec53a173799e008b51e5b" @@ -13194,6 +13421,21 @@ ora@^3.4.0: strip-ansi "^5.2.0" wcwidth "^1.0.1" +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -13553,6 +13795,11 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pidtree@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.0.tgz#f6fada10fccc9f99bf50e90d0b23d72c9ebc2e6b" @@ -13603,13 +13850,18 @@ pino@7.11.0: sonic-boom "^2.2.1" thread-stream "^0.15.1" -pirates@^4.0.0, pirates@^4.0.1: +pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== dependencies: node-modules-regexp "^1.0.0" +pirates@^4.0.5: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" @@ -13638,15 +13890,6 @@ pkg-up@2.0.0: dependencies: find-up "^2.1.0" -plist@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c" - integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ== - dependencies: - base64-js "^1.2.3" - xmlbuilder "^9.0.7" - xmldom "0.1.x" - plist@^3.0.2: version "3.0.6" resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" @@ -13655,6 +13898,15 @@ plist@^3.0.2: base64-js "^1.5.1" xmlbuilder "^15.1.1" +plist@^3.0.5: + version "3.1.0" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9" + integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== + dependencies: + "@xmldom/xmldom" "^0.8.8" + base64-js "^1.5.1" + xmlbuilder "^15.1.1" + pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" @@ -13928,7 +14180,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -promise@^8.0.3: +promise@^8.2.0: version "8.3.0" resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== @@ -14181,6 +14433,15 @@ prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" +prop-types@*, prop-types@^15.6.0, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" @@ -14190,15 +14451,6 @@ prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" -prop-types@^15.6.0, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - property-information@^5.0.0: version "5.6.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" @@ -14563,10 +14815,10 @@ react-devtools-core@3.6.3: shell-quote "^1.6.1" ws "^3.3.1" -react-devtools-core@4.19.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.19.1.tgz#bc37c2ef2f48f28c6af4c7292be9dca1b63deace" - integrity sha512-2wJiGffPWK0KggBjVwnTaAk+Z3MSxKInHmdzPTrBh1mAarexsa93Kw+WMX88+XjN+TtYgAiLe9xeTqcO5FfJTw== +react-devtools-core@^4.23.0: + version "4.27.8" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.27.8.tgz#b7b387b079c14ae9a214d4846a402da2b6efd164" + integrity sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw== dependencies: shell-quote "^1.6.1" ws "^7" @@ -14634,6 +14886,11 @@ react-hotkeys@2.0.0: dependencies: prop-types "^15.6.1" +"react-is@^16.12.0 || ^17.0.0", react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + "react-is@^16.12.0 || ^17.0.0 || ^18.0.0": version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" @@ -14654,11 +14911,6 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== -react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" @@ -14688,13 +14940,14 @@ react-native-camera@^3.8.0: dependencies: prop-types "^15.6.2" -react-native-codegen@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.8.tgz#b7796a54074139d956fff2862cf1285db43c891b" - integrity sha512-k/944+0XD+8l7zDaiKfYabyEKmAmyZgS1mj+4LcSRPyHnrjgCHKrh/Y6jM6kucQ6xU1+1uyMmF/dSkikxK8i+Q== +react-native-codegen@^0.0.18: + version "0.0.18" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.18.tgz#99d6623d65292e8ce3fdb1d133a358caaa2145e7" + integrity sha512-XPI9aVsFy3dvgDZvyGWrFnknNiyb22kg5nHgxa0vjWTH9ENLBgVRZt9A64xHZ8BYihH+gl0p/1JNOCIEUzRPBg== dependencies: + "@babel/parser" "^7.14.0" flow-parser "^0.121.0" - jscodeshift "^0.11.0" + jscodeshift "^0.13.1" nullthrows "^1.1.1" react-native-crypto@^2.2.0: @@ -14756,6 +15009,11 @@ react-native-gesture-handler@^1.10.3: invariant "^2.2.4" prop-types "^15.7.2" +react-native-gradle-plugin@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.6.tgz#b61a9234ad2f61430937911003cddd7e15c72b45" + integrity sha512-eIlgtsmDp1jLC24dRn43hB3kEcZVqx6DUQbR0N1ABXGnMEafm9I3V3dUUeD1vh+Dy5WqijSoEwLNUPLgu5zDMg== + react-native-iap@^7.5.6: version "7.5.6" resolved "https://registry.yarnpkg.com/react-native-iap/-/react-native-iap-7.5.6.tgz#75a370f0a689da4fbe5ecf2cd9b7bdd0f7d20f2f" @@ -14913,39 +15171,41 @@ react-native-webview@^11.13.0: escape-string-regexp "2.0.0" invariant "2.2.4" -react-native@^0.67.5: - version "0.67.5" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.67.5.tgz#9f2aeabf0766fb4bd5385685f4f4f2406bcdf819" - integrity sha512-/xEksthqImZGDfcqzEmbOw0KRkp9/x+cC8T8uTHhSKLLa8pOFLGdF190UOjnLammGmAmFy0+ZcJf0Ujm53IGeA== +react-native@0.68.7: + version "0.68.7" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.68.7.tgz#9b179f909ac8640e369957696f98070ddf7c32e7" + integrity sha512-t7XvcwKyXhN9vR8GfgLUyEYYccwI390pG7debFSGns/5Vb0+/ZiGuSmVZGLNt1NVc3UH2zI2GGkDdSJR8Locig== dependencies: "@jest/create-cache-key-function" "^27.0.1" - "@react-native-community/cli" "^6.0.0" - "@react-native-community/cli-platform-android" "^6.0.0" - "@react-native-community/cli-platform-ios" "^6.0.0" + "@react-native-community/cli" "^7.0.3" + "@react-native-community/cli-platform-android" "^7.0.1" + "@react-native-community/cli-platform-ios" "^7.0.1" "@react-native/assets" "1.0.0" "@react-native/normalize-color" "2.0.0" "@react-native/polyfills" "2.0.0" abort-controller "^3.0.0" anser "^1.4.9" base64-js "^1.1.2" + deprecated-react-native-prop-types "^2.3.0" event-target-shim "^5.0.1" - hermes-engine "~0.9.0" + hermes-engine "~0.11.0" invariant "^2.2.4" jsc-android "^250230.2.1" - metro-react-native-babel-transformer "0.66.2" - metro-runtime "0.66.2" - metro-source-map "0.66.2" + metro-react-native-babel-transformer "0.67.0" + metro-runtime "0.67.0" + metro-source-map "0.67.0" nullthrows "^1.1.1" pretty-format "^26.5.2" - promise "^8.0.3" - prop-types "^15.7.2" - react-devtools-core "4.19.1" - react-native-codegen "^0.0.8" + promise "^8.2.0" + react-devtools-core "^4.23.0" + react-native-codegen "^0.0.18" + react-native-gradle-plugin "^0.0.6" react-refresh "^0.4.0" + react-shallow-renderer "16.14.1" regenerator-runtime "^0.13.2" scheduler "^0.20.2" stacktrace-parser "^0.1.3" - use-subscription "^1.0.0" + use-subscription ">=1.0.0 <1.6.0" whatwg-fetch "^3.0.0" ws "^6.1.4" @@ -15008,6 +15268,14 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.0.tgz#d421f9bd65e0e4b9822a399f14ac56bda9c92292" integrity sha512-bacjSio8GOtzNZKZZM6EWqbhlbb6pr28JWJWFTLwEBKvPIBRo6/Ob68D2EWZA2VyTdQxAh+TRnCYOPNKsQiXTA== +react-shallow-renderer@16.14.1: + version "16.14.1" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz#bf0d02df8a519a558fd9b8215442efa5c840e124" + integrity sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg== + dependencies: + object-assign "^4.1.1" + react-is "^16.12.0 || ^17.0.0" + react-shallow-renderer@^16.13.1: version "16.15.0" resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" @@ -15290,7 +15558,7 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" -recast@^0.20.3: +recast@^0.20.4: version "0.20.5" resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== @@ -15573,6 +15841,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -15671,6 +15944,13 @@ rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1: dependencies: glob "^7.1.3" +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + rimraf@~2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" @@ -16140,14 +16420,14 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= -simple-plist@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.0.0.tgz#bed3085633b22f371e111f45d159a1ccf94b81eb" - integrity sha512-043L2rO80LVF7zfZ+fqhsEkoJFvW8o59rt/l4ctx1TJWoTx7/jkiS1R5TatD15Z1oYnuLJytzE7gcnnBuIPL2g== +simple-plist@^1.1.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" + integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw== dependencies: - bplist-creator "0.0.7" - bplist-parser "0.1.1" - plist "^3.0.1" + bplist-creator "0.1.0" + bplist-parser "0.3.1" + plist "^3.0.5" simple-swizzle@^0.2.2: version "0.2.2" @@ -16206,7 +16486,7 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^2.0.0, slice-ansi@^2.1.0: +slice-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== @@ -16215,6 +16495,15 @@ slice-ansi@^2.0.0, slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -16292,7 +16581,15 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.6, source-map-support@^0.5.9: +source-map-support@^0.5.16: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.5.6: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== @@ -16515,10 +16812,10 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" -stream-buffers@~2.2.0: +stream-buffers@2.2.x: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" - integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ= + integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== stream-each@^1.1.0: version "1.2.3" @@ -16597,7 +16894,7 @@ string-width@^4.0.0, string-width@^4.1.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string-width@^4.2.0: +string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -16820,6 +17117,13 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -16867,15 +17171,16 @@ symbol.prototype.description@^1.0.0: es-abstract "^1.17.0-next.1" has-symbols "^1.0.1" -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== +table@^6.0.9: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" @@ -16917,7 +17222,7 @@ temp@0.8.3: os-tmpdir "^1.0.0" rimraf "~2.2.6" -temp@^0.8.1: +temp@^0.8.4: version "0.8.4" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== @@ -17262,6 +17567,11 @@ type-fest@^0.11.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" @@ -17346,11 +17656,6 @@ uint8arrays@^3.0.0, uint8arrays@^3.1.0: dependencies: multiformats "^9.4.2" -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - integrity sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po= - ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" @@ -17549,17 +17854,12 @@ use-sidecar@^1.1.2: detect-node-es "^1.1.0" tslib "^2.0.0" -use-subscription@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.8.0.tgz#f118938c29d263c2bce12fc5585d3fe694d4dbce" - integrity sha512-LISuG0/TmmoDoCRmV5XAqYkd3UCBNM0ML3gGBndze65WITcsExCD3DTvXXTLyNcOC0heFQZzluW88bN/oC1DQQ== +"use-subscription@>=1.0.0 <1.6.0": + version "1.5.1" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" + integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== dependencies: - use-sync-external-store "^1.2.0" - -use-sync-external-store@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + object-assign "^4.1.1" use@^3.1.0: version "3.1.1" @@ -17639,6 +17939,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== +uuid@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" + integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== + v8-compile-cache@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" @@ -18024,26 +18329,11 @@ write-file-atomic@^2.3.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - ws@7.5.3, ws@^7: version "7.5.3" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== -ws@^1.1.0, ws@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" - integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w== - dependencies: - options ">=0.0.5" - ultron "1.0.x" - ws@^3.3.1: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -18072,13 +18362,13 @@ ws@^7.5.1: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -xcode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-2.0.0.tgz#134f1f94c26fbfe8a9aaa9724bfb2772419da1a2" - integrity sha512-5xF6RCjAdDEiEsbbZaS/gBRt3jZ/177otZcpoLCjGN/u1LrfgH7/Sgeeavpr/jELpyDqN2im3AKosl2G2W8hfw== +xcode@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" + integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== dependencies: - simple-plist "^1.0.0" - uuid "^3.3.2" + simple-plist "^1.1.0" + uuid "^7.0.3" xml-name-validator@^3.0.0: version "3.0.0" @@ -18090,11 +18380,6 @@ xmlbuilder@^15.1.1: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== -xmlbuilder@^9.0.7: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= - xmldoc@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-1.1.2.tgz#6666e029fe25470d599cd30e23ff0d1ed50466d7" @@ -18102,11 +18387,6 @@ xmldoc@^1.1.2: dependencies: sax "^1.2.1" -xmldom@0.1.x: - version "0.1.27" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" - integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= - xstream@^11.14.0: version "11.14.0" resolved "https://registry.yarnpkg.com/xstream/-/xstream-11.14.0.tgz#2c071d26b18310523b6877e86b4e54df068a9ae5" From 11c288ad58c3113f999ea0393e8ed538aab695cc Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 10 Jul 2023 16:55:49 +0800 Subject: [PATCH 02/29] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Bump=20babel=20to=20?= =?UTF-8?q?7.22.x?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 10 +- yarn.lock | 266 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 234 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 2e18f10d..6e949aa3 100644 --- a/package.json +++ b/package.json @@ -108,11 +108,11 @@ "vm-browserify": "^1.1.2" }, "devDependencies": { - "@babel/core": "^7.12.9", - "@babel/plugin-proposal-decorators": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/preset-env": "^7.1.6", - "@babel/runtime": "^7.12.5", + "@babel/core": "^7.22.7", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/preset-env": "^7.22.7", + "@babel/runtime": "^7.22.6", "@emotion/core": "^10.0.15", "@storybook/addon-storyshots": "^5.3.21", "@storybook/react-native": "^5.3.23", diff --git a/yarn.lock b/yarn.lock index a4e75672..95bb52ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,28 +80,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.12.9", "@babel/core@^7.14.0": - version "7.22.1" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.1.tgz#5de51c5206f4c6f5533562838337a603c1033cfd" - integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.22.0" - "@babel/helper-compilation-targets" "^7.22.1" - "@babel/helper-module-transforms" "^7.22.1" - "@babel/helpers" "^7.22.0" - "@babel/parser" "^7.22.0" - "@babel/template" "^7.21.9" - "@babel/traverse" "^7.22.1" - "@babel/types" "^7.22.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/core@^7.13.16": +"@babel/core@^7.13.16", "@babel/core@^7.22.7": version "7.22.8" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.8.tgz#386470abe884302db9c82e8e5e87be9e46c86785" integrity sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw== @@ -122,6 +101,27 @@ gensync "^1.0.0-beta.2" json5 "^2.2.2" +"@babel/core@^7.14.0": + version "7.22.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.1.tgz#5de51c5206f4c6f5533562838337a603c1033cfd" + integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.22.0" + "@babel/helper-compilation-targets" "^7.22.1" + "@babel/helper-module-transforms" "^7.22.1" + "@babel/helpers" "^7.22.0" + "@babel/parser" "^7.22.0" + "@babel/template" "^7.21.9" + "@babel/traverse" "^7.22.1" + "@babel/types" "^7.22.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + "@babel/core@^7.4.5": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.2.tgz#069a776e8d5e9eefff76236bc8845566bd31dd91" @@ -325,6 +325,21 @@ "@babel/helper-split-export-declaration" "^7.22.5" semver "^6.3.0" +"@babel/helper-create-class-features-plugin@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.6.tgz#58564873c889a6fea05a538e23f9f6d201f10950" + integrity sha512-iwdzgtSiBxF6ni6mzVnZCF3xt5qE6cEA0J7nFt8QOAWZ0zjCFceEgpn3vtb2V7WFR6QzP2jmIFOHMTRo7eNJjQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + "@babel/helper-create-class-features-plugin@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" @@ -376,6 +391,17 @@ resolve "^1.14.2" semver "^6.1.2" +"@babel/helper-define-polyfill-provider@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.1.tgz#af1429c4a83ac316a6a8c2cc8ff45cb5d2998d3a" + integrity sha512-kX4oXixDxG197yhX+J3Wp+NpL2wuCFjWQAr6yX2jtCnflK9ulMI51ULFGIrWiX1jGfvAxdHp+XQCcP2bZGPs9A== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + "@babel/helper-environment-visitor@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz#ac3a56dbada59ed969d712cf527bd8271fe3eba8" @@ -920,16 +946,16 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-decorators@^7.0.0": - version "7.22.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.3.tgz#3502c0f8cfe0cdb79b62102c9c9b111309d942b7" - integrity sha512-XjTKH3sHr6pPqG+hR1NCdVupwiosfdKM2oSMyKQVQ5Bym9l/p7BuLAqT5U32zZzRCfPq/TPRPzMiiTE9bOXU4w== +"@babel/plugin-proposal-decorators@^7.22.7": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.7.tgz#9b5b73c2e404f0869ef8a8a53765f8203c5467a7" + integrity sha512-omXqPF7Onq4Bb7wHxXjM3jSMSJvUUbvDvmmds7KI5n9Cq6Ln5I05I1W2nRlRof1rGdiUxJrxwe285WF96XlBXQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.1" - "@babel/helper-plugin-utils" "^7.21.5" - "@babel/helper-replace-supers" "^7.22.1" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/plugin-syntax-decorators" "^7.22.3" + "@babel/helper-create-class-features-plugin" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/plugin-syntax-decorators" "^7.22.5" "@babel/plugin-proposal-export-default-from@^7.0.0": version "7.5.2" @@ -982,6 +1008,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" +"@babel/plugin-proposal-optional-catch-binding@^7.22.7": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz#ae454f4c21c6c2ce8cb2397dc332ae8b420c5441" @@ -1040,12 +1074,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.22.3": - version "7.22.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.3.tgz#760f2d812d56c1d05970d01cdcd3c05e3d87d6ca" - integrity sha512-R16Zuge73+8/nLcDjkIpyhi5wIbN7i7fiuLJR8yQX7vPAa/ltUKtd3iLbb4AgP5nrLi91HnNUNosELIGUGH1bg== +"@babel/plugin-syntax-decorators@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz#329fe2907c73de184033775637dbbc507f09116a" + integrity sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA== dependencies: - "@babel/helper-plugin-utils" "^7.21.5" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-dynamic-import@^7.0.0": version "7.2.0" @@ -1261,6 +1295,16 @@ "@babel/helper-remap-async-to-generator" "^7.22.5" "@babel/plugin-syntax-async-generators" "^7.8.4" +"@babel/plugin-transform-async-generator-functions@^7.22.7": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz#053e76c0a903b72b573cb1ab7d6882174d460a1b" + integrity sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-transform-async-to-generator@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" @@ -1354,6 +1398,21 @@ "@babel/helper-split-export-declaration" "^7.22.5" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz#e04d7d804ed5b8501311293d1a0e6d43e94c3363" + integrity sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + "@babel/plugin-transform-computed-properties@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" @@ -1663,6 +1722,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" +"@babel/plugin-transform-optional-chaining@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz#4bacfe37001fe1901117672875e931d439811564" + integrity sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-transform-parameters@^7.0.0": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" @@ -1907,7 +1975,93 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.4.5": +"@babel/preset-env@^7.22.7": + version "7.22.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.7.tgz#a1ef34b64a80653c22ce4d9c25603cfa76fc168a" + integrity sha512-1whfDtW+CzhETuzYXfcgZAh8/GFMeEbz0V5dVgya8YeJyCU6Y/P2Gnx4Qb3MylK68Zu9UiwUvbPMPTpFAOJ+sQ== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.5" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.22.5" + "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.22.5" + "@babel/plugin-transform-async-generator-functions" "^7.22.7" + "@babel/plugin-transform-async-to-generator" "^7.22.5" + "@babel/plugin-transform-block-scoped-functions" "^7.22.5" + "@babel/plugin-transform-block-scoping" "^7.22.5" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-class-static-block" "^7.22.5" + "@babel/plugin-transform-classes" "^7.22.6" + "@babel/plugin-transform-computed-properties" "^7.22.5" + "@babel/plugin-transform-destructuring" "^7.22.5" + "@babel/plugin-transform-dotall-regex" "^7.22.5" + "@babel/plugin-transform-duplicate-keys" "^7.22.5" + "@babel/plugin-transform-dynamic-import" "^7.22.5" + "@babel/plugin-transform-exponentiation-operator" "^7.22.5" + "@babel/plugin-transform-export-namespace-from" "^7.22.5" + "@babel/plugin-transform-for-of" "^7.22.5" + "@babel/plugin-transform-function-name" "^7.22.5" + "@babel/plugin-transform-json-strings" "^7.22.5" + "@babel/plugin-transform-literals" "^7.22.5" + "@babel/plugin-transform-logical-assignment-operators" "^7.22.5" + "@babel/plugin-transform-member-expression-literals" "^7.22.5" + "@babel/plugin-transform-modules-amd" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.22.5" + "@babel/plugin-transform-modules-systemjs" "^7.22.5" + "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.22.5" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.5" + "@babel/plugin-transform-numeric-separator" "^7.22.5" + "@babel/plugin-transform-object-rest-spread" "^7.22.5" + "@babel/plugin-transform-object-super" "^7.22.5" + "@babel/plugin-transform-optional-catch-binding" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.6" + "@babel/plugin-transform-parameters" "^7.22.5" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.5" + "@babel/plugin-transform-property-literals" "^7.22.5" + "@babel/plugin-transform-regenerator" "^7.22.5" + "@babel/plugin-transform-reserved-words" "^7.22.5" + "@babel/plugin-transform-shorthand-properties" "^7.22.5" + "@babel/plugin-transform-spread" "^7.22.5" + "@babel/plugin-transform-sticky-regex" "^7.22.5" + "@babel/plugin-transform-template-literals" "^7.22.5" + "@babel/plugin-transform-typeof-symbol" "^7.22.5" + "@babel/plugin-transform-unicode-escapes" "^7.22.5" + "@babel/plugin-transform-unicode-property-regex" "^7.22.5" + "@babel/plugin-transform-unicode-regex" "^7.22.5" + "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.22.5" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + babel-plugin-polyfill-corejs2 "^0.4.4" + babel-plugin-polyfill-corejs3 "^0.8.2" + babel-plugin-polyfill-regenerator "^0.5.1" + core-js-compat "^3.31.0" + +"@babel/preset-env@^7.4.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.5.tgz#3da66078b181f3d62512c51cf7014392c511504e" integrity sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A== @@ -2077,6 +2231,13 @@ dependencies: regenerator-runtime "^0.13.11" +"@babel/runtime@^7.22.7": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" + integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== + dependencies: + regenerator-runtime "^0.13.11" + "@babel/runtime@^7.5.0", "@babel/runtime@^7.8.4": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" @@ -5974,6 +6135,15 @@ babel-plugin-polyfill-corejs2@^0.4.3: "@babel/helper-define-polyfill-provider" "^0.4.0" semver "^6.1.1" +babel-plugin-polyfill-corejs2@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.4.tgz#9f9a0e1cd9d645cc246a5e094db5c3aa913ccd2b" + integrity sha512-9WeK9snM1BfxB38goUEv2FLnA6ja07UMfazFHzCXUb3NyDZAwfXvQiURQ6guTTMeHcOsdknULm1PDhs4uWtKyA== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.1" + "@nicolo-ribaudo/semver-v6" "^6.3.3" + babel-plugin-polyfill-corejs3@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz#39248263c38191f0d226f928d666e6db1b4b3a8a" @@ -5982,6 +6152,14 @@ babel-plugin-polyfill-corejs3@^0.8.1: "@babel/helper-define-polyfill-provider" "^0.4.0" core-js-compat "^3.30.1" +babel-plugin-polyfill-corejs3@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.2.tgz#d406c5738d298cd9c66f64a94cf8d5904ce4cc5e" + integrity sha512-Cid+Jv1BrY9ReW9lIfNlNpsI53N+FN7gE+f73zLAUbr9C52W4gKLWSByx47pfDJsEysojKArqOtOKZSVIIUTuQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.1" + core-js-compat "^3.31.0" + babel-plugin-polyfill-regenerator@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz#e7344d88d9ef18a3c47ded99362ae4a757609380" @@ -5989,6 +6167,13 @@ babel-plugin-polyfill-regenerator@^0.5.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.4.0" +babel-plugin-polyfill-regenerator@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.1.tgz#ace7a5eced6dff7d5060c335c52064778216afd3" + integrity sha512-L8OyySuI6OSQ5hFy9O+7zFjyr4WhAfRjLIOkhQGYl+emwJkd/S4XXT1JpfrgR1jrQ1NcGiOh+yAdGlF8pnC3Jw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.1" + babel-plugin-require-context-hook@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-require-context-hook/-/babel-plugin-require-context-hook-1.0.0.tgz#3f0e7cce87c338f53639b948632fd4e73834632d" @@ -7326,6 +7511,13 @@ core-js-compat@^3.30.1, core-js-compat@^3.30.2: dependencies: browserslist "^4.21.5" +core-js-compat@^3.31.0: + version "3.31.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.31.1.tgz#5084ad1a46858df50ff89ace152441a63ba7aae0" + integrity sha512-wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA== + dependencies: + browserslist "^4.21.9" + core-js-pure@^3.0.1: version "3.30.2" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.2.tgz#005a82551f4af3250dcfb46ed360fad32ced114e" From bb78bb67ba2b124e8846bda7b5cc347690b03cf5 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 10 Jul 2023 16:58:08 +0800 Subject: [PATCH 03/29] =?UTF-8?q?=F0=9F=93=8C=20Sync=20dependencies=20usin?= =?UTF-8?q?g=20align-deps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 12 +++++----- package.json | 14 +++++------ yarn.lock | 61 +++++++++++++++--------------------------------- 3 files changed, 32 insertions(+), 55 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 2b75271c..d4004874 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -514,7 +514,7 @@ PODS: - React-perflogger (= 0.68.7) - ReactNativeShareExtension (2.0.0): - React - - RNCAsyncStorage (1.18.2): + - RNCAsyncStorage (1.19.0): - React-Core - RNCMaskedView (0.1.11): - React @@ -550,7 +550,7 @@ PODS: - Firebase/RemoteConfig (= 7.11.0) - React-Core - RNFBApp - - RNGestureHandler (1.10.3): + - RNGestureHandler (2.12.0): - React-Core - RNIap (7.5.6): - React-Core @@ -587,7 +587,7 @@ PODS: - React-RCTText - ReactCommon/turbomodule/core - Yoga - - RNScreens (3.20.0): + - RNScreens (3.22.1): - React-Core - React-RCTImage - RNSentry (5.6.0): @@ -948,7 +948,7 @@ SPEC CHECKSUMS: React-runtimeexecutor: 18932e685b4893be88d1efc18f5f8ca1c9cd39d8 ReactCommon: 29bb6fad3242e30e9d049bc9d592736fa3da9e50 ReactNativeShareExtension: 589ed96a7823b475e630d7987a0958bff9804ee6 - RNCAsyncStorage: ddc4ee162bfd41b0d2c68bf2d95acd81dd7f1f93 + RNCAsyncStorage: 4b98ac3c64efa4e35c1197cb0c5ca5e9f5d4c666 RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 RNDeviceInfo: b6e650fbd234732c759544218657d549b4339038 RNExitApp: c4e052df2568b43bec8a37c7cd61194d4cfee2c3 @@ -959,13 +959,13 @@ SPEC CHECKSUMS: RNFBDynamicLinks: 53f5621a2ab44b6f967f2240f1b7d56f8b6c74de RNFBPerf: 27e85a7451cb366b75bd6ade8a2b912749d0a165 RNFBRemoteConfig: d2c532f1fee5862a7518190211ea2a28123167c5 - RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 + RNGestureHandler: dec4645026e7401a0899f2846d864403478ff6a5 RNIap: d248609d1b8937e63bd904e865c318e9b1457eff RNKeychain: c658833a9cb2cbcba6423bdd6e16cce59e27da0e RNLocalize: 62a949d2ec5bee0eb8f39a80a48f01e2f4f67080 RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a RNReanimated: 1f117be601c59177816351a965bc57320b766c15 - RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f + RNScreens: 50ffe2fa2342eabb2d0afbe19f7c1af286bc7fb3 RNSentry: 9f0447b3ce13806f544903748de423259ead8552 RNSVG: d7d7bc8229af3842c9cfc3a723c815a52cdd1105 SDWebImage: a990c053fff71e388a10f3357edb0be17929c9c5 diff --git a/package.json b/package.json index 6e949aa3..40c9a708 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@json-rpc-tools/utils": "1.7.6", "@likecoin/authcore-js": "^0.3.0-like.0", "@likecoin/secretd-js": "^0.4.3", - "@react-native-async-storage/async-storage": "^1.15.16", + "@react-native-async-storage/async-storage": "^1.17.3", "@react-native-community/masked-view": "^0.1.11", "@react-native-cookies/cookies": "^6.2.1", "@react-native-firebase/analytics": "11.5.0", @@ -62,7 +62,7 @@ "ramda": "0.29.0", "react": "17.0.2", "react-content-loader": "^4.3.4", - "react-native": "0.68.7", + "react-native": "^0.68.0", "react-native-actions-sheet": "^0.4.8", "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#f2d2397e8f7f4bbcd606e638693ab9194333c3be", "react-native-branch": "^5.8.0", @@ -72,7 +72,7 @@ "react-native-encrypted-storage": "^4.0.3", "react-native-exit-app": "^1.1.0", "react-native-fast-image": "^8.3.2", - "react-native-gesture-handler": "^1.10.3", + "react-native-gesture-handler": "^2.3.2", "react-native-iap": "^7.5.6", "react-native-image-picker": "https://github.com/likecoin/react-native-image-picker#5e2f78f5e3f893b13a67482471655e1ebb75ad3b", "react-native-image-sequence": "^0.7.0", @@ -82,17 +82,17 @@ "react-native-qrcode-svg": "^5.2.0", "react-native-randombytes": "^3.5.3", "react-native-rate": "^1.2.12", - "react-native-reanimated": "^2.2.4", + "react-native-reanimated": "^2.5.0", "react-native-safe-area-context": "^3.2.0", - "react-native-screens": "^3.9.0", + "react-native-screens": "^3.13.1", "react-native-share-extension": "git+https://github.com/likecoin/react-native-share-extension#d82e2cd02b782272422da15cd484c8cbe931a6ab", "react-native-snap-carousel": "^3.9.0", "react-native-splash-screen": "^3.3.0", - "react-native-svg": "^12.1.1", + "react-native-svg": "^12.3.0", "react-native-swipe-list-view": "^3.2.4", "react-native-tracking-transparency": "^0.1.2", "react-native-url-polyfill": "^1.3.0", - "react-native-webview": "^11.13.0", + "react-native-webview": "^11.22.6", "react-navigation": "4.4.4", "react-navigation-stack": "2.10.4", "react-navigation-tabs": "2.11.1", diff --git a/yarn.lock b/yarn.lock index 95bb52ce..e591a19b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1008,7 +1008,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-optional-catch-binding@^7.22.7": +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== @@ -2231,7 +2231,7 @@ dependencies: regenerator-runtime "^0.13.11" -"@babel/runtime@^7.22.7": +"@babel/runtime@^7.22.6": version "7.22.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== @@ -3165,10 +3165,10 @@ prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" -"@react-native-async-storage/async-storage@^1.15.16": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.18.2.tgz#ec8fd487a0b6c9500b43ece4b8779d1561f12e91" - integrity sha512-dM8AfdoeIxlh+zqgr0o5+vCTPQ0Ru1mrPzONZMsr7ufp5h+6WgNxQNza7t0r5qQ6b04AJqTlBNixTWZxqP649Q== +"@react-native-async-storage/async-storage@^1.17.3": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.19.0.tgz#594aca9c20924b7955d62cf43797b4187e1e6cf8" + integrity sha512-xOFkz/FaQctD6yNJDur+WnHdSTigOs3pTz6HmfC8X8PYwcnnN3R9UxuWiwsfK8vvT2WioAxUkQt3lB7GySNA2w== dependencies: merge-options "^3.0.4" @@ -9204,11 +9204,6 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs-css-vars@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" - integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== - fbjs@^0.8.4: version "0.8.17" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" @@ -9222,19 +9217,6 @@ fbjs@^0.8.4: setimmediate "^1.0.5" ua-parser-js "^0.7.18" -fbjs@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" - integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== - dependencies: - cross-fetch "^3.1.5" - fbjs-css-vars "^1.0.0" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^1.0.35" - figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -15190,15 +15172,15 @@ react-native-flipper@^0.34.0: resolved "https://registry.yarnpkg.com/react-native-flipper/-/react-native-flipper-0.34.0.tgz#7df1f38ba5d97a9321125fe0fccbe47d99e6fa1d" integrity sha512-48wgm29HJTOlZ0DibBsvXueEOY0EPIVL0wWKbwRfgrk86+luSEuLW3aZC50oJa95zSFb9qYShTV/6dWqh4Jamg== -react-native-gesture-handler@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.10.3.tgz#942bbf2963bbf49fa79593600ee9d7b5dab3cfc0" - integrity sha512-cBGMi1IEsIVMgoox4RvMx7V2r6bNKw0uR1Mu1o7NbuHS6BRSVLq0dP34l2ecnPlC+jpWd3le6Yg1nrdCjby2Mw== +react-native-gesture-handler@^2.3.2: + version "2.12.0" + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.12.0.tgz#59ca9d97e4c71f70b9c258f14a1a081f4c689976" + integrity sha512-rr+XwVzXAVpY8co25ukvyI38fKCxTQjz7WajeZktl8qUPdh1twnSExgpT47DqDi4n+m+OiJPAnHfZOkqqAQMOg== dependencies: "@egjs/hammerjs" "^2.0.17" - fbjs "^3.0.0" hoist-non-react-statics "^3.3.0" invariant "^2.2.4" + lodash "^4.17.21" prop-types "^15.7.2" react-native-gradle-plugin@^0.0.6: @@ -15263,7 +15245,7 @@ react-native-rate@^1.2.12: resolved "https://registry.yarnpkg.com/react-native-rate/-/react-native-rate-1.2.12.tgz#d4307b2994f9c849b987eb65599ec467db4aee04" integrity sha512-A/z3s7Zth08aXcJnru6S4p71NG8acx2w5LhIfItwTJUbQruNJugk8WrN51dLBCSDv8W33kbS5YoUT4M9jOP5gA== -react-native-reanimated@^2.2.4: +react-native-reanimated@^2.5.0: version "2.17.0" resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-2.17.0.tgz#eae2308235961cdd79810e01dfdd7e88b1ae5b5c" integrity sha512-bVy+FUEaHXq4i+aPPqzGeor1rG4scgVNBbBz21ohvC7iMpB9IIgvGsmy1FAoodZhZ5sa3EPF67Rcec76F1PXlQ== @@ -15287,10 +15269,10 @@ react-native-safe-area-view@^0.14.9: dependencies: hoist-non-react-statics "^2.3.1" -react-native-screens@^3.9.0: - version "3.20.0" - resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.20.0.tgz#4d154177395e5541387d9a05bc2e12e54d2fb5b1" - integrity sha512-joWUKWAVHxymP3mL9gYApFHAsbd9L6ZcmpoZa6Sl3W/82bvvNVMqcfP7MeNqVCg73qZ8yL4fW+J/syusHleUgg== +react-native-screens@^3.13.1: + version "3.22.1" + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.22.1.tgz#b0eb0696dbf1f9a852061cc71c0f8cdb95ed8e53" + integrity sha512-ffzwUdVKf+iLqhWSzN5DXBm0s2w5sN0P+TaHHPAx42LT7+DT0g8PkHT1QDvxpR5vCEPSS1i3EswyVK4HCuhTYg== dependencies: react-freeze "^1.0.0" warn-once "^0.1.0" @@ -15320,7 +15302,7 @@ react-native-svg-transformer@^0.13.0: "@svgr/core" "^4.1.0" semver "^5.6.0" -react-native-svg@^12.1.1: +react-native-svg@^12.3.0: version "12.5.1" resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-12.5.1.tgz#7dfd9daf2f8ed7843c0f3e7a16af193bd5f9b287" integrity sha512-c374ENsq2MWCfr+7jC7TGwSeOAuC1Dp0osh2pw8PjpYFxmmB/toFIwcnCLz+SgBd6iLJClRhbATealqM05HOGg== @@ -15355,7 +15337,7 @@ react-native-url-polyfill@^1.3.0: dependencies: whatwg-url-without-unicode "8.0.0-3" -react-native-webview@^11.13.0: +react-native-webview@^11.22.6: version "11.26.1" resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.1.tgz#658c09ed5162dc170b361e48c2dd26c9712879da" integrity sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw== @@ -15363,7 +15345,7 @@ react-native-webview@^11.13.0: escape-string-regexp "2.0.0" invariant "2.2.4" -react-native@0.68.7: +react-native@^0.68.0: version "0.68.7" resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.68.7.tgz#9b179f909ac8640e369957696f98070ddf7c32e7" integrity sha512-t7XvcwKyXhN9vR8GfgLUyEYYccwI390pG7debFSGns/5Vb0+/ZiGuSmVZGLNt1NVc3UH2zI2GGkDdSJR8Locig== @@ -17828,11 +17810,6 @@ ua-parser-js@^0.7.18: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098" integrity sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw== -ua-parser-js@^1.0.35: - version "1.0.35" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.35.tgz#c4ef44343bc3db0a3cbefdf21822f1b1fc1ab011" - integrity sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA== - uglify-es@^3.1.9: version "3.3.9" resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" From 7772480dd199d9ccb00f98c650c30d0f9b6bec67 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 10 Jul 2023 17:17:24 +0800 Subject: [PATCH 04/29] =?UTF-8?q?=F0=9F=91=BD=EF=B8=8F=20Patch=20gesture?= =?UTF-8?q?=20handler=20API=2033=20requirement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- patches/react-native-gesture-handler+2.12.0.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 patches/react-native-gesture-handler+2.12.0.patch diff --git a/patches/react-native-gesture-handler+2.12.0.patch b/patches/react-native-gesture-handler+2.12.0.patch new file mode 100644 index 00000000..addfb357 --- /dev/null +++ b/patches/react-native-gesture-handler+2.12.0.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt b/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +index 1bec076..e341f04 100644 +--- a/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt ++++ b/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +@@ -244,7 +244,7 @@ class RNGestureHandlerButtonViewManager : ViewGroupManager(), R + + // Since Android 13, alpha channel in RippleDrawable is clamped between [128, 255] + // see https://github.com/aosp-mirror/platform_frameworks_base/blob/c1bd0480261460584753508327ca8a0c6fc80758/graphics/java/android/graphics/drawable/RippleDrawable.java#L1012 +- if (rippleColor == Color.TRANSPARENT && Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { ++ if (rippleColor == Color.TRANSPARENT && Build.VERSION.SDK_INT >= 33) { + return null + } + From fc1870150c124fe25ff870fd28ffe678be6d3a53 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 02:36:53 +0800 Subject: [PATCH 05/29] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Bump=20react-native?= =?UTF-8?q?=20to=200.69.12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 23 +- Gemfile | 6 + android/app/build.gradle | 21 +- .../src/main/java/com/oice/MainActivity.java | 10 +- .../MainApplicationReactNativeHost.java | 4 +- android/app/src/main/jni/Android.mk | 5 +- android/build.gradle | 2 +- android/settings.gradle | 2 + ios/.xcode.env | 11 + ios/LikeCoinApp.xcodeproj/project.pbxproj | 21 +- ios/LikeCoinApp/AppDelegate.mm | 27 +- ios/Podfile | 12 +- ios/Podfile.lock | 453 +++++----- package.json | 8 +- yarn.lock | 820 ++++++++---------- 15 files changed, 703 insertions(+), 722 deletions(-) create mode 100644 Gemfile create mode 100644 ios/.xcode.env diff --git a/.gitignore b/.gitignore index 2204481c..344481b2 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,7 @@ DerivedData *.hmap *.ipa *.xcuserstate -project.xcworkspace +ios/.xcode.env.local # Android/IntelliJ # @@ -29,6 +29,7 @@ build/ .gradle local.properties *.iml +*.hprof # node.js # @@ -40,13 +41,23 @@ yarn-error.log buck-out/ \.buckd/ *.keystore +!debug.keystore -# VS Code -.vscode - -# Cocoapods -/ios/Pods +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/ +**/fastlane/report.xml +**/fastlane/Preview.html +**/fastlane/screenshots +**/fastlane/test_output # Bundle artifact *.jsbundle + +# Ruby / CocoaPods +/ios/Pods/ +/vendor/bundle/ diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..7922c9a5 --- /dev/null +++ b/Gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' + +# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version +ruby '>= 2.6.10' + +gem 'cocoapods', '>= 1.11.2' diff --git a/android/app/build.gradle b/android/app/build.gradle index c00afb16..5f009d8d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -4,7 +4,6 @@ apply plugin: "com.google.firebase.firebase-perf" apply plugin: "io.sentry.android.gradle" import com.android.build.OutputFile -import org.apache.tools.ant.taskdefs.condition.Os /** * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets @@ -158,16 +157,13 @@ android { "GENERATED_SRC_DIR=$buildDir/generated/source", "PROJECT_BUILD_DIR=$buildDir", "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", - "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build" + "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", + "NODE_MODULES_DIR=$rootDir/../node_modules" cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" cppFlags "-std=c++17" // Make sure this target name is the same you specify inside the // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. targets "oice_appmodules" - // Fix for windows limit on number of character in file paths and in command lines - if (Os.isFamily(Os.FAMILY_WINDOWS)) { - arguments "NDK_APP_SHORT_COMMANDS=true" - } } } if (!enableSeparateBuildPerCPUArchitecture) { @@ -310,9 +306,10 @@ dependencies { } if (enableHermes) { - def hermesPath = "../../node_modules/hermes-engine/android/"; - debugImplementation files(hermesPath + "hermes-debug.aar") - releaseImplementation files(hermesPath + "hermes-release.aar") + //noinspection GradleDynamicVersion + implementation("com.facebook.react:hermes-engine:+") { // From node_modules + exclude group:'com.facebook.fbjni' + } } else { implementation jscFlavor } @@ -325,7 +322,11 @@ if (isNewArchitectureEnabled()) { configurations.all { resolutionStrategy.dependencySubstitution { substitute(module("com.facebook.react:react-native")) - .using(project(":ReactAndroid")).because("On New Architecture we're building React Native from source") + .using(project(":ReactAndroid")) + .because("On New Architecture we're building React Native from source") + substitute(module("com.facebook.react:hermes-engine")) + .using(project(":ReactAndroid:hermes-engine")) + .because("On New Architecture we're building Hermes from source") } } } diff --git a/android/app/src/main/java/com/oice/MainActivity.java b/android/app/src/main/java/com/oice/MainActivity.java index 8e23d0ff..1659e4af 100644 --- a/android/app/src/main/java/com/oice/MainActivity.java +++ b/android/app/src/main/java/com/oice/MainActivity.java @@ -13,7 +13,8 @@ public class MainActivity extends ReactActivity { /** * Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and - * you can specify the rendered you wish to use (Fabric or the older renderer). + * you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer + * (Paper). */ @Override protected ReactActivityDelegate createReactActivityDelegate() { @@ -32,6 +33,13 @@ protected ReactRootView createRootView() { reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED); return reactRootView; } + + @Override + protected boolean isConcurrentRootEnabled() { + // If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18). + // More on this on https://reactjs.org/blog/2022/03/29/react-v18.html + return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; + } } // Override onStart, onNewIntent: diff --git a/android/app/src/main/java/com/oice/newarchitecture/MainApplicationReactNativeHost.java b/android/app/src/main/java/com/oice/newarchitecture/MainApplicationReactNativeHost.java index 69868919..3f56e08c 100644 --- a/android/app/src/main/java/com/oice/newarchitecture/MainApplicationReactNativeHost.java +++ b/android/app/src/main/java/com/oice/newarchitecture/MainApplicationReactNativeHost.java @@ -16,8 +16,8 @@ import com.facebook.react.bridge.UIManager; import com.facebook.react.fabric.ComponentFactory; import com.facebook.react.fabric.CoreComponentsRegistry; -import com.facebook.react.fabric.EmptyReactNativeConfig; import com.facebook.react.fabric.FabricJSIModuleProvider; +import com.facebook.react.fabric.ReactNativeConfig; import com.facebook.react.uimanager.ViewManagerRegistry; import com.oice.BuildConfig; import com.oice.newarchitecture.components.MainComponentsRegistry; @@ -105,7 +105,7 @@ public JSIModuleProvider getJSIModuleProvider() { return new FabricJSIModuleProvider( reactApplicationContext, componentFactory, - new EmptyReactNativeConfig(), + ReactNativeConfig.DEFAULT_CONFIG, viewManagerRegistry); } }); diff --git a/android/app/src/main/jni/Android.mk b/android/app/src/main/jni/Android.mk index 42339464..86dbb9f8 100644 --- a/android/app/src/main/jni/Android.mk +++ b/android/app/src/main/jni/Android.mk @@ -17,7 +17,7 @@ LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) # If you wish to add a custom TurboModule or Fabric component in your app you -# will have to uncomment those lines to include the generated source +# will have to uncomment those lines to include the generated source # files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni) # # LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni @@ -28,8 +28,7 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) LOCAL_SHARED_LIBRARIES := \ libfabricjni \ libfbjni \ - libfolly_futures \ - libfolly_json \ + libfolly_runtime \ libglog \ libjsi \ libreact_codegen_rncore \ diff --git a/android/build.gradle b/android/build.gradle index 54841395..e0af15f4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -26,7 +26,7 @@ buildscript { dependencies { classpath("com.android.tools.build:gradle:7.4.2") classpath("com.facebook.react:react-native-gradle-plugin") - classpath("de.undercouch:gradle-download-task:4.1.2") + classpath("de.undercouch:gradle-download-task:5.0.1") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath("com.google.gms:google-services:4.3.15") diff --git a/android/settings.gradle b/android/settings.gradle index a10f64e8..2b4012fa 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -6,6 +6,8 @@ includeBuild('../node_modules/react-native-gradle-plugin') if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") { include(":ReactAndroid") project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid') + include(":ReactAndroid:hermes-engine") + project(":ReactAndroid:hermes-engine").projectDir = file('../node_modules/react-native/ReactAndroid/hermes-engine') } project(':react-native-share-extension').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share-extension/android') \ No newline at end of file diff --git a/ios/.xcode.env b/ios/.xcode.env new file mode 100644 index 00000000..3d5782c7 --- /dev/null +++ b/ios/.xcode.env @@ -0,0 +1,11 @@ +# This `.xcode.env` file is versioned and is used to source the environment +# used when running script phases inside Xcode. +# To customize your local environment, you can create an `.xcode.env.local` +# file that is not versioned. + +# NODE_BINARY variable contains the PATH to the node executable. +# +# Customize the NODE_BINARY variable here. +# For example, to use nvm with brew, add the following line +# . "$(brew --prefix nvm)/nvm.sh" --no-use +export NODE_BINARY=$(command -v node) diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index 63b07ae8..2a7c0540 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -307,13 +307,15 @@ files = ( ); inputPaths = ( + "$(SRCROOT)/.xcode.env.local", + "$(SRCROOT)/.xcode.env", ); name = "Bundle React Native code and images"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/@sentry/cli/bin/sentry-cli react-native xcode ../node_modules/react-native/scripts/react-native-xcode.sh\n"; + shellScript = "export SENTRY_PROPERTIES=sentry.properties\nexport EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\"\nset -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\nSENTRY_CLI=\"../node_modules/@sentry/cli/bin/sentry-cli\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT \\\"$SENTRY_CLI react-native xcode $REACT_NATIVE_XCODE\\\"\"\n"; }; 09C796459E8C77EEA8ED34FC /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; @@ -322,11 +324,13 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-LikeCoinApp/Pods-LikeCoinApp-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", ); @@ -581,7 +585,6 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; CURRENT_PROJECT_VERSION = 338; - DEAD_CODE_STRIPPING = NO; DEVELOPMENT_TEAM = 6VG4638588; ENABLE_BITCODE = NO; HEADER_SEARCH_PATHS = ( @@ -648,7 +651,7 @@ "${PODS_ROOT}/Firebase/CoreOnly/Sources", ); INFOPLIST_FILE = LikeCoinApp/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MARKETING_VERSION = 0.32.1; OTHER_LDFLAGS = ( @@ -739,7 +742,7 @@ "${PODS_ROOT}/Firebase/CoreOnly/Sources", ); INFOPLIST_FILE = LikeCoinApp/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MARKETING_VERSION = 0.32.1; OTHER_LDFLAGS = ( @@ -805,7 +808,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; LIBRARY_SEARCH_PATHS = ( "\"$(SDKROOT)/usr/lib/swift\"", @@ -820,6 +823,7 @@ "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; }; name = Debug; @@ -866,7 +870,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; LIBRARY_SEARCH_PATHS = ( "\"$(SDKROOT)/usr/lib/swift\"", @@ -880,6 +884,7 @@ "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; @@ -902,7 +907,7 @@ GCC_C_LANGUAGE_STANDARD = gnu11; HEADER_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = LikerLandShare/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; @@ -932,7 +937,7 @@ GCC_C_LANGUAGE_STANDARD = gnu11; HEADER_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = LikerLandShare/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.oice.share-extension"; diff --git a/ios/LikeCoinApp/AppDelegate.mm b/ios/LikeCoinApp/AppDelegate.mm index 68fde868..9690bbee 100644 --- a/ios/LikeCoinApp/AppDelegate.mm +++ b/ios/LikeCoinApp/AppDelegate.mm @@ -30,6 +30,8 @@ #import +static NSString *const kRNConcurrentRoot = @"concurrentRoot"; + @interface AppDelegate () { RCTTurboModuleManager *_turboModuleManager; RCTSurfacePresenterBridgeAdapter *_bridgeAdapter; @@ -56,7 +58,8 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( bridge.surfacePresenter = _bridgeAdapter.surfacePresenter; #endif - UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"LikeCoinApp", nil); + NSDictionary *initProps = [self prepareInitialProps]; + UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"LikeCoinApp", initProps); rootView.backgroundColor = [UIColor colorWithRed:40.0f/255.0f green:100.0f/255.0f blue:110.0f/255.0f alpha:1.0]; @@ -88,6 +91,28 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( return YES; } +/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. +/// +/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html +/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). +/// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`. +- (BOOL)concurrentRootEnabled +{ + // Switch this bool to turn on and off the concurrent root + return true; +} + +- (NSDictionary *)prepareInitialProps +{ + NSMutableDictionary *initProps = [NSMutableDictionary new]; + +#ifdef RCT_NEW_ARCH_ENABLED + initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]); +#endif + + return initProps; +} + - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; diff --git a/ios/Podfile b/ios/Podfile index d5a7c6dd..02ea062a 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,9 +1,11 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' -platform :ios, '11.0' +platform :ios, '12.4' install! 'cocoapods', :deterministic_uuids => false +production = ENV["PRODUCTION"] == "1" + target 'LikeCoinApp' do config = use_native_modules! @@ -13,8 +15,10 @@ target 'LikeCoinApp' do use_react_native!( :path => config[:reactNativePath], # to enable hermes on iOS, change `false` to `true` and then install pods + :production => production, :hermes_enabled => flags[:hermes_enabled], :fabric_enabled => flags[:fabric_enabled], + :flipper_configuration => FlipperConfiguration.enabled, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) @@ -24,12 +28,6 @@ target 'LikeCoinApp' do inherit! :complete end - # Enables Flipper. - # - # Note that if you have use_frameworks! enabled, Flipper will not work and - # you should disable the next line. - use_flipper!({ 'Flipper' => '0.125.0' , "Flipper-DoubleConversion" => "1.1.7"}, configurations: ['Debug']) - post_install do |installer| react_native_post_install(installer) __apply_Xcode_12_5_M1_post_install_workaround(installer) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d4004874..0be9f3bb 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -5,14 +5,14 @@ PODS: - React - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.68.7) - - FBReactNativeSpec (0.68.7): + - FBLazyVector (0.69.12) + - FBReactNativeSpec (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.7) - - RCTTypeSafety (= 0.68.7) - - React-Core (= 0.68.7) - - React-jsi (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) + - RCTRequired (= 0.69.12) + - RCTTypeSafety (= 0.69.12) + - React-Core (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) - Firebase/Analytics (7.11.0): - Firebase/Core - Firebase/Core (7.11.0): @@ -102,7 +102,7 @@ PODS: - Flipper-Folly (~> 2.6) - Flipper-RSocket (~> 1.4) - Flipper-Boost-iOSX (1.76.0.1.11) - - Flipper-DoubleConversion (1.1.7) + - Flipper-DoubleConversion (3.2.0.1) - Flipper-Fmt (7.1.7) - Flipper-Folly (2.6.10): - Flipper-Boost-iOSX @@ -111,7 +111,7 @@ PODS: - Flipper-Glog - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.1100) - - Flipper-Glog (0.5.0.4) + - Flipper-Glog (0.5.0.5) - Flipper-PeerTalk (0.0.4) - Flipper-RSocket (1.4.3): - Flipper-Folly (~> 2.6) @@ -220,201 +220,203 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCTRequired (0.68.7) - - RCTTypeSafety (0.68.7): - - FBLazyVector (= 0.68.7) + - RCTRequired (0.69.12) + - RCTTypeSafety (0.69.12): + - FBLazyVector (= 0.69.12) + - RCTRequired (= 0.69.12) + - React-Core (= 0.69.12) + - React (0.69.12): + - React-Core (= 0.69.12) + - React-Core/DevSupport (= 0.69.12) + - React-Core/RCTWebSocket (= 0.69.12) + - React-RCTActionSheet (= 0.69.12) + - React-RCTAnimation (= 0.69.12) + - React-RCTBlob (= 0.69.12) + - React-RCTImage (= 0.69.12) + - React-RCTLinking (= 0.69.12) + - React-RCTNetwork (= 0.69.12) + - React-RCTSettings (= 0.69.12) + - React-RCTText (= 0.69.12) + - React-RCTVibration (= 0.69.12) + - React-bridging (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.7) - - React-Core (= 0.68.7) - - React (0.68.7): - - React-Core (= 0.68.7) - - React-Core/DevSupport (= 0.68.7) - - React-Core/RCTWebSocket (= 0.68.7) - - React-RCTActionSheet (= 0.68.7) - - React-RCTAnimation (= 0.68.7) - - React-RCTBlob (= 0.68.7) - - React-RCTImage (= 0.68.7) - - React-RCTLinking (= 0.68.7) - - React-RCTNetwork (= 0.68.7) - - React-RCTSettings (= 0.68.7) - - React-RCTText (= 0.68.7) - - React-RCTVibration (= 0.68.7) - - React-callinvoker (0.68.7) - - React-Codegen (0.68.7): - - FBReactNativeSpec (= 0.68.7) + - React-jsi (= 0.69.12) + - React-callinvoker (0.69.12) + - React-Codegen (0.69.12): + - FBReactNativeSpec (= 0.69.12) - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.7) - - RCTTypeSafety (= 0.68.7) - - React-Core (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-Core (0.68.7): + - RCTRequired (= 0.69.12) + - RCTTypeSafety (= 0.69.12) + - React-Core (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-Core (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.68.7) - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-Core/Default (= 0.69.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/CoreModulesHeaders (0.68.7): + - React-Core/CoreModulesHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/Default (0.68.7): + - React-Core/Default (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/DevSupport (0.68.7): + - React-Core/DevSupport (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.68.7) - - React-Core/RCTWebSocket (= 0.68.7) - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-jsinspector (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-Core/Default (= 0.69.12) + - React-Core/RCTWebSocket (= 0.69.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-jsinspector (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTActionSheetHeaders (0.68.7): + - React-Core/RCTActionSheetHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTAnimationHeaders (0.68.7): + - React-Core/RCTAnimationHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTBlobHeaders (0.68.7): + - React-Core/RCTBlobHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTImageHeaders (0.68.7): + - React-Core/RCTImageHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTLinkingHeaders (0.68.7): + - React-Core/RCTLinkingHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTNetworkHeaders (0.68.7): + - React-Core/RCTNetworkHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTSettingsHeaders (0.68.7): + - React-Core/RCTSettingsHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTTextHeaders (0.68.7): + - React-Core/RCTTextHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTVibrationHeaders (0.68.7): + - React-Core/RCTVibrationHeaders (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTWebSocket (0.68.7): + - React-Core/RCTWebSocket (0.69.12): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.68.7) - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsiexecutor (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-Core/Default (= 0.69.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-CoreModules (0.68.7): + - React-CoreModules (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.7) - - React-Codegen (= 0.68.7) - - React-Core/CoreModulesHeaders (= 0.68.7) - - React-jsi (= 0.68.7) - - React-RCTImage (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-cxxreact (0.68.7): + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/CoreModulesHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - React-RCTImage (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-cxxreact (0.69.12): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.68.7) - - React-jsi (= 0.68.7) - - React-jsinspector (= 0.68.7) - - React-logger (= 0.68.7) - - React-perflogger (= 0.68.7) - - React-runtimeexecutor (= 0.68.7) - - React-jsi (0.68.7): + - React-callinvoker (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsinspector (= 0.69.12) + - React-logger (= 0.69.12) + - React-perflogger (= 0.69.12) + - React-runtimeexecutor (= 0.69.12) + - React-jsi (0.69.12): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 0.68.7) - - React-jsi/Default (0.68.7): + - React-jsi/Default (= 0.69.12) + - React-jsi/Default (0.69.12): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (0.68.7): + - React-jsiexecutor (0.69.12): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-perflogger (= 0.68.7) - - React-jsinspector (0.68.7) - - React-logger (0.68.7): + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-perflogger (= 0.69.12) + - React-jsinspector (0.69.12) + - React-logger (0.69.12): - glog - react-native-authcore (1.0.0): - React @@ -447,71 +449,72 @@ PODS: - React - react-native-webview (11.26.1): - React-Core - - React-perflogger (0.68.7) - - React-RCTActionSheet (0.68.7): - - React-Core/RCTActionSheetHeaders (= 0.68.7) - - React-RCTAnimation (0.68.7): + - React-perflogger (0.69.12) + - React-RCTActionSheet (0.69.12): + - React-Core/RCTActionSheetHeaders (= 0.69.12) + - React-RCTAnimation (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.7) - - React-Codegen (= 0.68.7) - - React-Core/RCTAnimationHeaders (= 0.68.7) - - React-jsi (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-RCTBlob (0.68.7): + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/RCTAnimationHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTBlob (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - React-Codegen (= 0.68.7) - - React-Core/RCTBlobHeaders (= 0.68.7) - - React-Core/RCTWebSocket (= 0.68.7) - - React-jsi (= 0.68.7) - - React-RCTNetwork (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-RCTImage (0.68.7): + - React-Codegen (= 0.69.12) + - React-Core/RCTBlobHeaders (= 0.69.12) + - React-Core/RCTWebSocket (= 0.69.12) + - React-jsi (= 0.69.12) + - React-RCTNetwork (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTImage (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.7) - - React-Codegen (= 0.68.7) - - React-Core/RCTImageHeaders (= 0.68.7) - - React-jsi (= 0.68.7) - - React-RCTNetwork (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-RCTLinking (0.68.7): - - React-Codegen (= 0.68.7) - - React-Core/RCTLinkingHeaders (= 0.68.7) - - React-jsi (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-RCTNetwork (0.68.7): + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/RCTImageHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - React-RCTNetwork (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTLinking (0.69.12): + - React-Codegen (= 0.69.12) + - React-Core/RCTLinkingHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTNetwork (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.7) - - React-Codegen (= 0.68.7) - - React-Core/RCTNetworkHeaders (= 0.68.7) - - React-jsi (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-RCTSettings (0.68.7): + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/RCTNetworkHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTSettings (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.7) - - React-Codegen (= 0.68.7) - - React-Core/RCTSettingsHeaders (= 0.68.7) - - React-jsi (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-RCTText (0.68.7): - - React-Core/RCTTextHeaders (= 0.68.7) - - React-RCTVibration (0.68.7): + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/RCTSettingsHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTText (0.69.12): + - React-Core/RCTTextHeaders (= 0.69.12) + - React-RCTVibration (0.69.12): - RCT-Folly (= 2021.06.28.00-v2) - - React-Codegen (= 0.68.7) - - React-Core/RCTVibrationHeaders (= 0.68.7) - - React-jsi (= 0.68.7) - - ReactCommon/turbomodule/core (= 0.68.7) - - React-runtimeexecutor (0.68.7): - - React-jsi (= 0.68.7) - - ReactCommon/turbomodule/core (0.68.7): + - React-Codegen (= 0.69.12) + - React-Core/RCTVibrationHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-runtimeexecutor (0.69.12): + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (0.69.12): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.68.7) - - React-Core (= 0.68.7) - - React-cxxreact (= 0.68.7) - - React-jsi (= 0.68.7) - - React-logger (= 0.68.7) - - React-perflogger (= 0.68.7) + - React-bridging (= 0.69.12) + - React-callinvoker (= 0.69.12) + - React-Core (= 0.69.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-logger (= 0.69.12) + - React-perflogger (= 0.69.12) - ReactNativeShareExtension (2.0.0): - React - RNCAsyncStorage (1.19.0): @@ -617,10 +620,10 @@ DEPENDENCIES: - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - Flipper (= 0.125.0) - Flipper-Boost-iOSX (= 1.76.0.1.11) - - Flipper-DoubleConversion (= 1.1.7) + - Flipper-DoubleConversion (= 3.2.0.1) - Flipper-Fmt (= 7.1.7) - Flipper-Folly (= 2.6.10) - - Flipper-Glog (= 0.5.0.4) + - Flipper-Glog (= 0.5.0.5) - Flipper-PeerTalk (= 0.0.4) - Flipper-RSocket (= 1.4.3) - FlipperKit (= 0.125.0) @@ -642,6 +645,7 @@ DEPENDENCIES: - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) + - React-bridging (from `../node_modules/react-native/ReactCommon`) - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - React-Core (from `../node_modules/react-native/`) @@ -761,6 +765,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/TypeSafety" React: :path: "../node_modules/react-native/" + React-bridging: + :path: "../node_modules/react-native/ReactCommon" React-callinvoker: :path: "../node_modules/react-native/ReactCommon/callinvoker" React-Codegen: @@ -878,8 +884,8 @@ SPEC CHECKSUMS: BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 - FBLazyVector: 63b89dc85804d5817261f56dc4cfb43a9b6d57f5 - FBReactNativeSpec: 1fa200a9862d9369a53b6fddbbfcdc22bab24062 + FBLazyVector: 6fab494fa11340bd4206edaebed07279a6bafad4 + FBReactNativeSpec: 76d7b03876b0ad0b86bc5c84d23af8e64db8e096 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseABTesting: e66f1f80747792630d9b292966de206d5df9853b FirebaseAnalytics: cd3bd84d722a24a8923918af8af8e5236f615d77 @@ -892,10 +898,10 @@ SPEC CHECKSUMS: FirebaseRemoteConfig: 0ea30de5fb0231df8c1bdcdf3b6c23bdc5066131 Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 + Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 - Flipper-Glog: 87bc98ff48de90cb5b0b5114ed3da79d85ee2dd4 + Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 @@ -911,18 +917,19 @@ SPEC CHECKSUMS: PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 Protobuf: 0cde852566359049847168e51bd1c690e0f70056 RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 - RCTRequired: 530916cd48c5f7cf1fc16966ad5ea01638ca4799 - RCTTypeSafety: 5fb4cb3080efd582e5563c3e9a0e459fc51396c5 - React: 097b19fbc7aecb3bd23de54b462d2051d7ca8a38 - React-callinvoker: 4f118545cf884f0d8fce5bcd6e1847147ea9cc05 - React-Codegen: 24e59be16f8ed24b3e49e5ff0738dad91988c760 - React-Core: 0b464d0bec18dde90fa819c4be14dbcbdbf3077f - React-CoreModules: 9bb7d5d5530d474cf8514e2dc8274af82a0bcf2f - React-cxxreact: 027e192b8008ba5c200163ab6ded55d134c839d5 - React-jsi: 9019a0a0b42e9eac6c1e8c251a8dffe65055a2f1 - React-jsiexecutor: 7c0bd030a84f2ec446fb104b7735af2f5ed11eea - React-jsinspector: cab4d37ebde480f84c79ac89568abbf76b916c3e - React-logger: b75b80500ea80457b2cf169427d66de986cdcb29 + RCTRequired: b9e53f0512019150020156fa0dacd6583ab838be + RCTTypeSafety: 04b72202bef8302802610dee70bb9407a245b64c + React: 59288a7ca8104eb8002f01378606fe42eeabf4b5 + React-bridging: b042b8c217f04e568409786de5f221793be49c31 + React-callinvoker: c7b83d582112e2d5a049dc46abf4c64d871b5c45 + React-Codegen: 5747238d0446e3ab1deb967e749a2bfde6a5c866 + React-Core: d8e1250039d47112513757038d9d9f9b638565c6 + React-CoreModules: 63cceb0040ec2b43a258113193be91f934b37f1b + React-cxxreact: 429404aac55d8bffca77328002452fc7fa8b29e8 + React-jsi: a8f60feb519ac00085eb9a39d20eaa65c96b51ea + React-jsiexecutor: ce0b9aa647bdf94126eb2ee1f235d329eb8c0aec + React-jsinspector: f275698149311abc8c32ebb97797d6b97c44adde + React-logger: da69d7f1c9501c78cd60776d52a60d7fa5e4d9c2 react-native-authcore: cca08325158d4979caff295a8cd064733b78264f react-native-branch: f50f269fa6d2e1b8025c7fc8ebfe4872678abe53 react-native-camera: 21cf4ed26cf432ceb1fae959aa6924943fd6f714 @@ -935,18 +942,18 @@ SPEC CHECKSUMS: react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457 react-native-tracking-transparency: 25ff1ff866e338c137c818bdec20526bb05ffcc1 react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1 - React-perflogger: 44436b315d757100a53dfb1ab6b77c58cb646d7d - React-RCTActionSheet: 1888a229684762c40cc96c7ff4716f809655dc09 - React-RCTAnimation: f05da175751867521d14b02ab4d3994a7b96f131 - React-RCTBlob: 792b966e48d599383d7a0753f75e8f2ff71be1ce - React-RCTImage: 065cf66546f625295efd36bce3a1806a9b93399c - React-RCTLinking: 8246290c072bd2d1f336792038d7ec4b91f9847a - React-RCTNetwork: 6b2331c74684fae61b1ef38f4510fe5da3de3f3a - React-RCTSettings: 2898e15b249b085f8b8c7401cfab71983a2d40da - React-RCTText: bd1da1cd805e0765e3ba9089a9fd807d4860a901 - React-RCTVibration: 2a4bf853281d4981ab471509102300d3c9e6c693 - React-runtimeexecutor: 18932e685b4893be88d1efc18f5f8ca1c9cd39d8 - ReactCommon: 29bb6fad3242e30e9d049bc9d592736fa3da9e50 + React-perflogger: 5ade0a1627352f1647d283e78331819bb46cceae + React-RCTActionSheet: 8e94f1e46e09c7035b81fe56c0ed8d78f3ccd340 + React-RCTAnimation: bf2af72f03cf16528db9a830be69fa04b341a1b7 + React-RCTBlob: 4d076b8bb55e631ad1280280ecba674fb1e46d16 + React-RCTImage: 073dcc1689466851fe120c7f8a3cfe3db0196c9f + React-RCTLinking: 8872818dc894a17bf17cb4b120f76917bf2e9f0a + React-RCTNetwork: 1e9c873f4a210784a4fb752194cb595502112464 + React-RCTSettings: 1475a717c54f4a9ed627dffffad2470c4b15a419 + React-RCTText: ed34088172126f84130eea859d62fedca0dd7975 + React-RCTVibration: c9cd9f21bbcb3b9c6deedbb66f13e373f57dd795 + React-runtimeexecutor: ea78653fbc68bd6f2d3f5e7e311bc5a9dc8bfeca + ReactCommon: f4bb9e5209ea5c3c6ab25e100895119e58d6e50a ReactNativeShareExtension: 589ed96a7823b475e630d7987a0958bff9804ee6 RNCAsyncStorage: 4b98ac3c64efa4e35c1197cb0c5ca5e9f5d4c666 RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 @@ -964,7 +971,7 @@ SPEC CHECKSUMS: RNKeychain: c658833a9cb2cbcba6423bdd6e16cce59e27da0e RNLocalize: 62a949d2ec5bee0eb8f39a80a48f01e2f4f67080 RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a - RNReanimated: 1f117be601c59177816351a965bc57320b766c15 + RNReanimated: c6f8f70e96dd6ca21b65aef9b3e4efe4965db905 RNScreens: 50ffe2fa2342eabb2d0afbe19f7c1af286bc7fb3 RNSentry: 9f0447b3ce13806f544903748de423259ead8552 RNSVG: d7d7bc8229af3842c9cfc3a723c815a52cdd1105 @@ -973,9 +980,9 @@ SPEC CHECKSUMS: Sentry: c7a86f43510a7d5678d4de28d78c28ab351d295b SentryPrivate: 2eaabf598a46d4b9b8822aef766df2a84caf2e6f SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: 0bc4b37c3b8a345336ff601e2cf7d9704bab7e93 + Yoga: 8a90b50af67eaa9fe94fd03e550bfeab06096873 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 55d21ce3261a8b399fe482738bf0e3cb4ba6babd +PODFILE CHECKSUM: d9b2a461088f22814944d0aada45a2219af51f50 COCOAPODS: 1.12.1 diff --git a/package.json b/package.json index 40c9a708..8bead7cb 100644 --- a/package.json +++ b/package.json @@ -60,9 +60,9 @@ "postinstall-postinstall": "^2.1.0", "process": "^0.11.10", "ramda": "0.29.0", - "react": "17.0.2", + "react": "18.0.0", "react-content-loader": "^4.3.4", - "react-native": "^0.68.0", + "react-native": "0.69.12", "react-native-actions-sheet": "^0.4.8", "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#f2d2397e8f7f4bbcd606e638693ab9194333c3be", "react-native-branch": "^5.8.0", @@ -143,7 +143,7 @@ "ignite-bowser": "^4.6.2", "jest": "^24.9.0", "jetifier": "^1.6.1", - "metro-react-native-babel-preset": "^0.67.0", + "metro-react-native-babel-preset": "^0.70.3", "npm-run-all": "4.1.5", "patch-package": "^7.0.0", "postinstall-prepare": "1.0.1", @@ -152,7 +152,7 @@ "react-native-dotenv": "^0.2.0", "react-native-svg-transformer": "^0.13.0", "react-powerplug": "1.0.0", - "react-test-renderer": "17.0.2", + "react-test-renderer": "18.0.0", "rimraf": "2.6.3", "solidarity": "2.3.1", "typescript": "3.9.10" diff --git a/yarn.lock b/yarn.lock index e591a19b..1fba5fb1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -402,16 +402,16 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" +"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" + integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== + "@babel/helper-environment-visitor@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz#ac3a56dbada59ed969d712cf527bd8271fe3eba8" integrity sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA== -"@babel/helper-environment-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" - integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== - "@babel/helper-explode-assignable-expression@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" @@ -637,7 +637,7 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-remap-async-to-generator@^7.22.5": +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz#14a38141a7bf2165ad38da61d61cf27b43015da2" integrity sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g== @@ -930,6 +930,16 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-optional-chaining" "^7.22.5" +"@babel/plugin-proposal-async-generator-functions@^7.0.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-proposal-class-properties@^7.0.0": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4" @@ -1633,7 +1643,7 @@ "@babel/helper-module-transforms" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": +"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== @@ -1664,13 +1674,6 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-assign@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz#6fdeea42be17040f119e38e23ea0f49f31968bde" - integrity sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-object-assign@^7.16.7": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.22.5.tgz#290c1b9555dcea48bb2c29ad94237777600d04f9" @@ -1817,13 +1820,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-regenerator@^7.0.0": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" - integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== - dependencies: - regenerator-transform "^0.14.0" - "@babel/plugin-transform-regenerator@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz#cd8a68b228a5f75fa01420e8cc2fc400f0fc32aa" @@ -3172,46 +3168,73 @@ dependencies: merge-options "^3.0.4" -"@react-native-community/cli-debugger-ui@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-7.0.3.tgz#3eeeacc5a43513cbcae56e5e965d77726361bcb4" - integrity sha512-G4SA6jFI0j22o+j+kYP8/7sxzbCDqSp2QiHA/X5E0lsGEd2o9qN2zbIjiFr8b8k+VVAYSUONhoC0+uKuINvmkA== +"@react-native-community/cli-clean@^8.0.4": + version "8.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-8.0.4.tgz#97e16a20e207b95de12e29b03816e8f2b2c80cc7" + integrity sha512-IwS1M1NHg6+qL8PThZYMSIMYbZ6Zbx+lIck9PLBskbosFo24M3lCOflOl++Bggjakp6mR+sRXxLMexid/GeOsQ== + dependencies: + "@react-native-community/cli-tools" "^8.0.4" + chalk "^4.1.2" + execa "^1.0.0" + prompts "^2.4.0" + +"@react-native-community/cli-config@^8.0.6": + version "8.0.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-8.0.6.tgz#041eee7dd8fdef595bf7a3f24228c173bf294a44" + integrity sha512-mjVpVvdh8AviiO8xtqeX+BkjqE//NMDnISwsLWSJUfNCwTAPmdR8PGbhgP5O4hWHyJ3WkepTopl0ya7Tfi3ifw== + dependencies: + "@react-native-community/cli-tools" "^8.0.4" + cosmiconfig "^5.1.0" + deepmerge "^3.2.0" + glob "^7.1.3" + joi "^17.2.1" + +"@react-native-community/cli-debugger-ui@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-8.0.0.tgz#98263dc525e65015e2d6392c940114028f87e8e9" + integrity sha512-u2jq06GZwZ9sRERzd9FIgpW6yv4YOW4zz7Ym/B8eSzviLmy3yI/8mxJtvlGW+J8lBsfMcQoqJpqI6Rl1nZy9yQ== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-hermes@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-6.3.1.tgz#a4c3b4b07a1775f7012baf6d5a0b059da2ffac00" - integrity sha512-+tMJsEsVX0WyylnoFE7uPoMu1aTAChaA62Y32dwWgAa1Fx6YrpPkC9d6wvYSBe9md/4mTtRher+ooBcuov6JHw== +"@react-native-community/cli-doctor@^8.0.6": + version "8.0.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-8.0.6.tgz#954250155ab2f3a66a54821e071bc4a631d2dfff" + integrity sha512-ZQqyT9mJMVeFEVIwj8rbDYGCA2xXjJfsQjWk2iTRZ1CFHfhPSUuUiG8r6mJmTinAP9t+wYcbbIYzNgdSUKnDMw== dependencies: - "@react-native-community/cli-platform-android" "^6.3.1" - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-config" "^8.0.6" + "@react-native-community/cli-platform-ios" "^8.0.6" + "@react-native-community/cli-tools" "^8.0.4" chalk "^4.1.2" + command-exists "^1.2.8" + envinfo "^7.7.2" + execa "^1.0.0" hermes-profile-transformer "^0.0.6" ip "^1.1.5" + node-stream-zip "^1.9.1" + ora "^5.4.1" + prompts "^2.4.0" + semver "^6.3.0" + strip-ansi "^5.2.0" + sudo-prompt "^9.0.0" + wcwidth "^1.0.1" -"@react-native-community/cli-platform-android@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-6.3.1.tgz#8d35c809ddaf3b6c5d4ef9ff9c814a25a55259aa" - integrity sha512-n5A64RI1ty4ScZCel/3JYY9Anl857dPsUZ86Dwc1GxrbflSB5/+hcCMg5DCNcnJRa4Hdv95SAR5pMmtAjOXApA== +"@react-native-community/cli-hermes@^8.0.5": + version "8.0.5" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-8.0.5.tgz#639edc6b0ce73f705e4b737e3de1cc47d42516ff" + integrity sha512-Zm0wM6SfgYAEX1kfJ1QBvTayabvh79GzmjHyuSnEROVNPbl4PeCG4WFbwy489tGwOP9Qx9fMT5tRIFCD8bp6/g== dependencies: - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-platform-android" "^8.0.5" + "@react-native-community/cli-tools" "^8.0.4" chalk "^4.1.2" - execa "^1.0.0" - fs-extra "^8.1.0" - glob "^7.1.3" - jetifier "^1.6.2" - lodash "^4.17.15" - logkitty "^0.7.1" - slash "^3.0.0" - xmldoc "^1.1.2" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" -"@react-native-community/cli-platform-android@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-7.0.1.tgz#d165897edf401f9bceff1f361ef446528133cb52" - integrity sha512-nOr0aMkxAymCnbtsQwXBlyoRN2Y+IzC7Qz5T+/zyWwEbTY8SKQI8uV+8+qttUvzSvuXa2PeXsTWluuliOS8KCw== +"@react-native-community/cli-platform-android@^8.0.5": + version "8.0.5" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-8.0.5.tgz#da11d2678adeca98e83494d68de80e50571b4af4" + integrity sha512-z1YNE4T1lG5o9acoQR1GBvf7mq6Tzayqo/za5sHVSOJAC9SZOuVN/gg/nkBa9a8n5U7qOMFXfwhTMNqA474gXA== dependencies: - "@react-native-community/cli-tools" "^7.0.1" + "@react-native-community/cli-tools" "^8.0.4" chalk "^4.1.2" execa "^1.0.0" fs-extra "^8.1.0" @@ -3220,14 +3243,13 @@ lodash "^4.17.15" logkitty "^0.7.1" slash "^3.0.0" - xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-7.0.1.tgz#1c27af85229246b7a528e97f093e38859896cc93" - integrity sha512-PLRIbzrCzSedmpjuFtQqcqUD45G8q7sEciI1lf5zUbVMXqjIBwJWS7iz8235PyWwj8J4MNHohLC+oyRueFtbGg== +"@react-native-community/cli-platform-ios@^8.0.6": + version "8.0.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-8.0.6.tgz#ab80cd4eb3014b8fcfc9bd1b53ec0a9f8e5d1430" + integrity sha512-CMR6mu/LVx6JVfQRDL9uULsMirJT633bODn+IrYmrwSz250pnhON16We8eLPzxOZHyDjm7JPuSgHG3a/BPiRuQ== dependencies: - "@react-native-community/cli-tools" "^7.0.1" + "@react-native-community/cli-tools" "^8.0.4" chalk "^4.1.2" execa "^1.0.0" glob "^7.1.3" @@ -3235,111 +3257,86 @@ lodash "^4.17.15" ora "^5.4.1" plist "^3.0.2" - xcode "^3.0.0" -"@react-native-community/cli-plugin-metro@^7.0.4": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-7.0.4.tgz#cd3010f6b9f955df2630ceea9fc8816a12843dde" - integrity sha512-DEV9WwJ6mB8zWFvNe/Z/eGmtmQmsZcu9VIqjxT7e9xZr2csB9ZlOZiweAMFO5cuVWZZgfL+NYIaQiFi0E0DFXw== +"@react-native-community/cli-plugin-metro@^8.0.7": + version "8.0.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-8.0.7.tgz#ece95b62cd529bcdf916e8633909a6d7778c1a3a" + integrity sha512-RK08Fqh//+9nDntCeKBq2LskWp4rD64q56/PxboZZBu5Z8KANJ4OBUzBLxm0rD0h+l9j6AASlO907HooBTWxrA== dependencies: - "@react-native-community/cli-server-api" "^7.0.4" - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-server-api" "^8.0.4" + "@react-native-community/cli-tools" "^8.0.4" chalk "^4.1.2" - metro "^0.67.0" - metro-config "^0.67.0" - metro-core "^0.67.0" - metro-react-native-babel-transformer "^0.67.0" - metro-resolver "^0.67.0" - metro-runtime "^0.67.0" + metro "^0.70.4" + metro-config "^0.70.4" + metro-core "^0.70.4" + metro-react-native-babel-transformer "^0.70.4" + metro-resolver "^0.70.4" + metro-runtime "^0.70.4" readline "^1.3.0" -"@react-native-community/cli-server-api@^7.0.4": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-7.0.4.tgz#b71e3413d4188b1bb3110267674ff31ce434b163" - integrity sha512-NzwLKgshx1aFJad5b972rFowEx8ueHRFFXQFnBbvEuE3KsivDOTIwO0zn7cAO1zpxlFRxUFfcI1Pe4Aymi3xZw== +"@react-native-community/cli-server-api@^8.0.4": + version "8.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-8.0.4.tgz#d45d895a0a6e8b960c9d677188d414a996faa4d3" + integrity sha512-Orr14njx1E70CVrUA8bFdl+mrnbuXUjf1Rhhm0RxUadFpvkHuOi5dh8Bryj2MKtf8eZrpEwZ7tuQPhJEULW16A== dependencies: - "@react-native-community/cli-debugger-ui" "^7.0.3" - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-debugger-ui" "^8.0.0" + "@react-native-community/cli-tools" "^8.0.4" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" - nocache "^2.1.0" + nocache "^3.0.1" pretty-format "^26.6.2" serve-static "^1.13.1" ws "^7.5.1" -"@react-native-community/cli-tools@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-6.2.1.tgz#6f7ada6559846b49fb9fcfed522399b232976ada" - integrity sha512-7RbOkZLT/3YG8CAYYM70ajRKIOgVxK/b4t9KNsPq+2uen99MGezfeglC8s1cs3vBNVVxCo0a2JbXg18bUd8eqA== +"@react-native-community/cli-tools@^8.0.4": + version "8.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-8.0.4.tgz#994b9d56c84472491c876b71acd4356773fcbe65" + integrity sha512-ePN9lGxh6LRFiotyddEkSmuqpQhnq2iw9oiXYr4EFWpIEy0yCigTuSTiDF68+c8M9B+7bTwkRpz/rMPC4ViO5Q== dependencies: appdirsjs "^1.2.4" chalk "^4.1.2" + find-up "^5.0.0" lodash "^4.17.15" mime "^2.4.1" node-fetch "^2.6.0" open "^6.2.0" + ora "^5.4.1" semver "^6.3.0" shell-quote "^1.7.3" -"@react-native-community/cli-tools@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-7.0.1.tgz#73790d6ca2825e42a70a770c1b403a6777e690d6" - integrity sha512-0xra4hKNA5PR2zYVXsDMNiXMGaDNoNRYMY6eTP2aVIxQbqIcVMDWSyCA8wMWX5iOpMWg0cZGaQ6a77f3Rlb34g== +"@react-native-community/cli-types@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-8.0.0.tgz#72d24178e5ed1c2d271da43e0a4a4f59178f261a" + integrity sha512-1lZS1PEvMlFaN3Se1ksyoFWzMjk+YfKi490GgsqKJln9gvFm8tqVPdnXttI5Uf2DQf3BMse8Bk8dNH4oV6Ewow== dependencies: - appdirsjs "^1.2.4" - chalk "^4.1.2" - lodash "^4.17.15" - mime "^2.4.1" - node-fetch "^2.6.0" - open "^6.2.0" - ora "^5.4.1" - semver "^6.3.0" - shell-quote "^1.7.3" + joi "^17.2.1" -"@react-native-community/cli-types@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-6.0.0.tgz#90269fbdc7229d5e3b8f2f3e029a94083551040d" - integrity sha512-K493Fk2DMJC0ZM8s8gnfseKxGasIhuDaCUDeLZcoCSFlrjKEuEs1BKKEJiev0CARhKEXKOyyp/uqYM9nWhisNw== - dependencies: - ora "^3.4.0" - -"@react-native-community/cli@^7.0.3": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-7.0.4.tgz#cb4898bf9e3340ea812fa2bf194abd2429832752" - integrity sha512-W9nACtHWaLJZIP48cQmhQOnl5/7maoWE1Aji67MrLeIoB+ScNTJxaHfV4fMcklD6B6XEhaKokPACRZWm36zAog== - dependencies: - "@react-native-community/cli-debugger-ui" "^7.0.3" - "@react-native-community/cli-hermes" "^6.3.1" - "@react-native-community/cli-plugin-metro" "^7.0.4" - "@react-native-community/cli-server-api" "^7.0.4" - "@react-native-community/cli-tools" "^6.2.1" - "@react-native-community/cli-types" "^6.0.0" - appdirsjs "^1.2.4" +"@react-native-community/cli@^8.0.7": + version "8.0.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-8.0.7.tgz#0d28519d3b4e3557d0c30007716978e2c7f3d3b3" + integrity sha512-DCSf77c0RvTCvNLKxFwuGBMFFIRwDiZWLo6znM2oNCFRkN2gmSQsYm1twdAh5asuNmetEiPoHdGT289SMWSjSQ== + dependencies: + "@react-native-community/cli-clean" "^8.0.4" + "@react-native-community/cli-config" "^8.0.6" + "@react-native-community/cli-debugger-ui" "^8.0.0" + "@react-native-community/cli-doctor" "^8.0.6" + "@react-native-community/cli-hermes" "^8.0.5" + "@react-native-community/cli-plugin-metro" "^8.0.7" + "@react-native-community/cli-server-api" "^8.0.4" + "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-types" "^8.0.0" chalk "^4.1.2" - command-exists "^1.2.8" commander "^2.19.0" - cosmiconfig "^5.1.0" - deepmerge "^3.2.0" - envinfo "^7.7.2" execa "^1.0.0" find-up "^4.1.0" fs-extra "^8.1.0" - glob "^7.1.3" graceful-fs "^4.1.3" - joi "^17.2.1" leven "^3.1.0" lodash "^4.17.15" minimist "^1.2.0" - node-stream-zip "^1.9.1" - ora "^3.4.0" - pretty-format "^26.6.2" prompts "^2.4.0" semver "^6.3.0" - serve-static "^1.13.1" - strip-ansi "^5.2.0" - sudo-prompt "^9.0.0" - wcwidth "^1.0.1" "@react-native-community/masked-view@^0.1.11": version "0.1.11" @@ -3393,11 +3390,6 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/normalize-color@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.1.0.tgz#939b87a9849e81687d3640c5efa2a486ac266f91" - integrity sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA== - "@react-native/normalize-color@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" @@ -5014,11 +5006,6 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@xmldom/xmldom@^0.8.8": - version "0.8.8" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.8.tgz#d0d11511cbc1de77e53342ad1546a4d487d6ea72" - integrity sha512-0LNz4EY8B/8xXY86wMrQ4tz6zEHZv9ehFMJPm8u2gq5lQ71cfRKdaKyxfJAx5aUoyzx0qzgURblTisPGgz3d+Q== - "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -5793,12 +5780,10 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@^2.4.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" +async@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== asynckit@^0.4.0: version "0.4.0" @@ -6385,7 +6370,7 @@ bech32@^1.1.4: resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== -big-integer@1.6.x, big-integer@^1.6.51: +big-integer@^1.6.51: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== @@ -6496,20 +6481,6 @@ boxen@^4.1.0: type-fest "^0.8.1" widest-line "^3.1.0" -bplist-creator@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" - integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg== - dependencies: - stream-buffers "2.2.x" - -bplist-parser@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.1.tgz#e1c90b2ca2a9f9474cc72f6862bbf3fee8341fd1" - integrity sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA== - dependencies: - big-integer "1.6.x" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -7113,11 +7084,6 @@ cli-spinners@^1.1.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== -cli-spinners@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" - integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ== - cli-spinners@^2.5.0: version "2.9.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" @@ -7978,15 +7944,6 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= -deprecated-react-native-prop-types@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz#c10c6ee75ff2b6de94bb127f142b814e6e08d9ab" - integrity sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA== - dependencies: - "@react-native/normalize-color" "*" - invariant "*" - prop-types "*" - des.js@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" @@ -9375,6 +9332,14 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + find-yarn-workspace-root@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" @@ -10167,17 +10132,17 @@ hermes-engine@~0.11.0: resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.11.0.tgz#bb224730d230a02a5af02c4e090d1f52d57dd3db" integrity sha512-7aMUlZja2IyLYAcZ69NBnwJAR5ZOYlSllj0oMpx08a8HzxHOys0eKCzfphrf6D0vX1JGO1QQvVsQKe6TkYherw== -hermes-estree@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.5.0.tgz#36432a2b12f01b217244da098924efdfdfc12327" - integrity sha512-1h8rvG23HhIR5K6Kt0e5C7BC72J1Ath/8MmSta49vxXp/j6wl7IMHvIRFYBQr35tWnQY97dSGR2uoAJ5pHUQkg== +hermes-estree@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.6.0.tgz#e866fddae1b80aec65fe2ae450a5f2070ad54033" + integrity sha512-2YTGzJCkhdmT6VuNprWjXnvTvw/3iPNw804oc7yknvQpNKo+vJGZmtvLLCghOZf0OwzKaNAzeIMp71zQbNl09w== -hermes-parser@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.5.0.tgz#8b678dd8b29a08b57cbaf60adba4896494c59a53" - integrity sha512-ARnJBScKAkkq8j3BHrNGBUv/4cSpZNbKDsVizEtzmsFeqC67Dopa5s4XRe+e3wN52Dh5Mj2kDB5wJvhcxwDkPg== +hermes-parser@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.6.0.tgz#00d14e91bca830b3c1457050fa4187400cb96328" + integrity sha512-Vf58jBZca2+QBLR9h7B7mdg8oFz2g5ILz1iVouZ5DOrOrAfBmPfJjdjDT8jrO0f+iJ4/hSRrQHqHIjSnTaLUDQ== dependencies: - hermes-estree "0.5.0" + hermes-estree "0.6.0" hermes-profile-transformer@^0.0.6: version "0.0.6" @@ -10592,7 +10557,7 @@ interpret@^2.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -invariant@*, invariant@2.2.4, invariant@^2.2.3, invariant@^2.2.4: +invariant@2.2.4, invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -11592,16 +11557,7 @@ jest-worker@^25.4.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.0.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.5.1: +jest-worker@^27.2.0, jest-worker@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== @@ -11679,6 +11635,11 @@ jsc-android@^250230.2.1: resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250230.2.1.tgz#3790313a970586a03ab0ad47defbc84df54f1b83" integrity sha512-KmxeBlRjwoqCnBBKGsihFtvsBHyUFlBxJPK4FzeYcIuBfdjv6jFys44JITAgSTbQD+vIdwMEfyZklsuQX0yI1Q== +jsc-safe-url@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz#141c14fbb43791e88d5dc64e85a374575a83477a" + integrity sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== + jscodeshift@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" @@ -12104,6 +12065,13 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -12219,7 +12187,7 @@ lodash@^3.10.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -12386,6 +12354,11 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +memoize-one@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + memoizerific@^1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a" @@ -12441,79 +12414,79 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -metro-babel-transformer@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.67.0.tgz#42fe82af9953e5c62d9a8d7d544eb7be9020dd18" - integrity sha512-SBqc4nq/dgsPNFm+mpWcQQzJaXnh0nrfz2pSnZC4i6zMtIakrTWb8SQ78jOU1FZVEZ3nu9xCYVHS9Tbr/LoEuw== +metro-babel-transformer@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.70.4.tgz#3ff0007c7fc009d5b656a71003a1bbb0560f6b70" + integrity sha512-XUM2929qE2AR5iqNnMof80h5lDf6rEZWP9J47u2XQI41TZT5J3Ttk33OJ7/ysLhv7ZPYt/WLnjB8skf23UA+yw== dependencies: "@babel/core" "^7.14.0" - hermes-parser "0.5.0" - metro-source-map "0.67.0" + hermes-parser "0.6.0" + metro-source-map "0.70.4" nullthrows "^1.1.1" -metro-cache-key@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.67.0.tgz#4df6a73cced199e1bddd0f3454bb931a27141eeb" - integrity sha512-FNJe5Rcb2uzY6G6tsqCf0RV4t2rCeX6vSHBxmP7k+4aI4NqX4evtPI0K82r221nBzm5DqNWCURZ0RYUT6jZMGA== +metro-cache-key@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.70.4.tgz#5d09ee6378cb5288db5a58bfc7273723c6b632c7" + integrity sha512-hZ5LMm54YCNmxxhKAnHdM9wGSji7bzyLWLSkJqY1u+yQjockQIEWR7uEFiBZ5up8K+eoiqmF5K8+VbrnZP8+Iw== -metro-cache@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.67.0.tgz#928db5742542719677468c4d22ea29b71c7ec8fc" - integrity sha512-IY5dXiR76L75b2ue/mv+9vW8g5hdQJU6YEe81lj6gTSoUrhcONT0rzY+Gh5QOS2Kk6z9utZQMvd9PRKL9/635A== +metro-cache@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.70.4.tgz#d74d1a21c95f4abfb2bec9a0b44b345558df18a4" + integrity sha512-E78Psscwu3EHCwC+bGb9jXxFg8UL0zyWu5cjaBWrKa9NhIqiyCpUBrT0e9TfYxNdb7/OfMQUXW6oNm1HOZHPlg== dependencies: - metro-core "0.67.0" - mkdirp "^0.5.1" + metro-core "0.70.4" rimraf "^2.5.4" -metro-config@0.67.0, metro-config@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.67.0.tgz#5507d3b295bd10c87bd13dbe5a3033a357418786" - integrity sha512-ThAwUmzZwTbKyyrIn2bKIcJDPDBS0LKAbqJZQioflvBGfcgA21h3fdL3IxRmvCEl6OnkEWI0Tn1Z9w2GLAjf2g== +metro-config@0.70.4, metro-config@^0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.70.4.tgz#64a747efca743f772ff662732fb90ff17447a4ce" + integrity sha512-9ellClttQyXF5O487OiFNGxM87PSzsx0m61B7vdXzdyXhCwHk1a8J/8zn5WmOa9/Ix2dJ04N32NzeKgMWVhwQw== dependencies: cosmiconfig "^5.0.5" jest-validate "^26.5.2" - metro "0.67.0" - metro-cache "0.67.0" - metro-core "0.67.0" - metro-runtime "0.67.0" + metro "0.70.4" + metro-cache "0.70.4" + metro-core "0.70.4" + metro-runtime "0.70.4" -metro-core@0.67.0, metro-core@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.67.0.tgz#75066e11b4df220992abf9cd6200279dd87876c8" - integrity sha512-TOa/ShE1bUq83fGNfV6rFwyfZ288M8ydmWN3g9C2OW8emOHLhJslYD/SIU4DhDkP/99yaJluIALdZ2g0+pCrvQ== +metro-core@0.70.4, metro-core@^0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.70.4.tgz#053ecfcd56ba64c9a691b004b55be1c00da09a77" + integrity sha512-g4o3TD/EHiNOEXkE3MsyqvspKoBuZ3KoJDQnS7NlSwWK4nG6xcw8UiW1W/YJOfDnn/EkXIq3XAUkUX4UWVXuuQ== dependencies: jest-haste-map "^27.3.1" lodash.throttle "^4.1.1" - metro-resolver "0.67.0" + metro-resolver "0.70.4" -metro-hermes-compiler@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.67.0.tgz#9c1340f1882fbf535145868d0d28211ca15b0477" - integrity sha512-X5Pr1jC8/kO6d1EBDJ6yhtuc5euHX89UDNv8qdPJHAET03xfFnlojRPwOw6il2udAH20WLBv+F5M9VY+58zspQ== +metro-hermes-compiler@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.70.4.tgz#9507c089e7ea31977c233651b48a5f5cac6d32ea" + integrity sha512-Eor/8SIntD23kQxrhlrPegel+sg3e3xDEaNFOxL3Rljbozr1zFq9Pyd3RjK48BkbpGCZmgXSW1XUY1aqzbkePA== -metro-inspector-proxy@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.67.0.tgz#22b360a837b07e9e2bc87a71af6154dd8fcc02a5" - integrity sha512-5Ubjk94qpNaU3OT2IZa4/dec09bauic1hzWms4czorBzDenkp4kYXG9/aWTmgQLtCk92H3Q8jKl1PQRxUSkrOQ== +metro-inspector-proxy@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.70.4.tgz#420bd0d531d406565efdef65dc99ca25c8e26e8c" + integrity sha512-ZkJmVb8CSRVDk0jJX2b9r10KBBG0Qc4mtK3A/FicsnaZ02ZxTy+bnSMEkyW4fhjbHS6Y3h9aBTFOkrK/Jmy1lA== dependencies: connect "^3.6.5" debug "^2.2.0" ws "^7.5.1" yargs "^15.3.1" -metro-minify-uglify@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.67.0.tgz#28a77dbd78d9e558dba8c2f31c2b9c6f939df966" - integrity sha512-4CmM5b3MTAmQ/yFEfsHOhD2SuBObB2YF6PKzXZc4agUsQVVtkrrNElaiWa8w26vrTzA9emwcyurxMf4Nl3lYPQ== +metro-minify-uglify@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.70.4.tgz#6af9f2de3ab7de72996c8f5569cd46192e6eafb4" + integrity sha512-S/gtO75s/z6g8m1DOnZW1mm4ei2sTledowJ85rtBsZC8M7r/CAsSynVqkKkWjJ6Ro5TrlE7cfiTnQGojLXMWgg== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.67.0.tgz#53aec093f53a09b56236a9bb534d76658efcbec7" - integrity sha512-tgTG4j0SKwLHbLRELMmgkgkjV1biYkWlGGKOmM484/fJC6bpDikdaFhfjsyE+W+qt7I5szbCPCickMTNQ+zwig== +metro-react-native-babel-preset@0.70.4, metro-react-native-babel-preset@^0.70.3: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.70.4.tgz#fac01e1887ad5d15d0caa14c97e8eb52d880b623" + integrity sha512-qcJuLqvjlKhrOOuQShhVzCjjp7kHZIXCL+ybnYBqOY2ALVCyR3aELH0aUtOztRpJYFnqAMDOJmGqNVi6cUd24g== dependencies: "@babel/core" "^7.14.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-proposal-export-default-from" "^7.0.0" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" @@ -12533,17 +12506,15 @@ metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: "@babel/plugin-transform-destructuring" "^7.0.0" "@babel/plugin-transform-exponentiation-operator" "^7.0.0" "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-for-of" "^7.0.0" "@babel/plugin-transform-function-name" "^7.0.0" "@babel/plugin-transform-literals" "^7.0.0" "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-object-assign" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" "@babel/plugin-transform-parameters" "^7.0.0" "@babel/plugin-transform-react-display-name" "^7.0.0" "@babel/plugin-transform-react-jsx" "^7.0.0" "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" - "@babel/plugin-transform-regenerator" "^7.0.0" "@babel/plugin-transform-runtime" "^7.0.0" "@babel/plugin-transform-shorthand-properties" "^7.0.0" "@babel/plugin-transform-spread" "^7.0.0" @@ -12554,61 +12525,63 @@ metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.67.0, metro-react-native-babel-transformer@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.67.0.tgz#756d32eb3c05cab3d72fcb1700f8fd09322bb07f" - integrity sha512-P0JT09n7T01epUtgL9mH6BPat3xn4JjBakl4lWHdL61cvEGcrxuIom1eoFFKkgU/K5AVLU4aCAttHS7nSFCcEQ== +metro-react-native-babel-transformer@0.70.4, metro-react-native-babel-transformer@^0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.70.4.tgz#2d6c742ab6ee74385b4f6f794f9ec984cbb9bf43" + integrity sha512-wDHPqzn0QJKGJIMucbyBb1nXMry1yN+/brsqcXSiyS04PerEU25UKb0KXYMGmjCoygxCs2K71nCF1PsscNOVMA== dependencies: "@babel/core" "^7.14.0" babel-preset-fbjs "^3.4.0" - hermes-parser "0.5.0" - metro-babel-transformer "0.67.0" - metro-react-native-babel-preset "0.67.0" - metro-source-map "0.67.0" + hermes-parser "0.6.0" + metro-babel-transformer "0.70.4" + metro-react-native-babel-preset "0.70.4" + metro-source-map "0.70.4" nullthrows "^1.1.1" -metro-resolver@0.67.0, metro-resolver@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.67.0.tgz#8143c716f77e468d1d42eca805243706eb349959" - integrity sha512-d2KS/zAyOA/z/q4/ff41rAp+1txF4H6qItwpsls/RHStV2j6PqgRHUzq/3ga+VIeoUJntYJ8nGW3+3qSrhFlig== +metro-resolver@0.70.4, metro-resolver@^0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.70.4.tgz#01a148bfb0bfac11c8d7f7b42372cc4fc4004c31" + integrity sha512-Dr+N54Av2raxP6IafBvIgwQKuYXbtfkDN0A4vwhiWM4exyQm+3eS8eRfByZKGYVAQ0iIK3WbXGpRo+pwhgj2yg== dependencies: absolute-path "^0.0.0" -metro-runtime@0.67.0, metro-runtime@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.67.0.tgz#a8888dfd06bcebbac3c99dcac7cd622510dd8ee0" - integrity sha512-IFtSL0JUt1xK3t9IoLflTDft82bjieSzdIJWLzrRzBMlesz8ox5bVmnpQbVQEwfYUpEOxbM3VOZauVbdCmXA7g== +metro-runtime@0.70.4, metro-runtime@^0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.70.4.tgz#b6299e9d10379912df8907ea013746bb23fe30e4" + integrity sha512-f1kGOOos5hxIdlXxBvQVg1WMiHeV4vR4B4fGikbMGlPtZEuzdYbep0myKjCHJc6v88IPtUmcgj5uZmhny8+jGg== + dependencies: + "@babel/runtime" "^7.0.0" -metro-source-map@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.67.0.tgz#e28db7253b9ca688e60d5710ebdccba60b45b2df" - integrity sha512-yxypInsRo3SfS00IgTuL6a2W2tfwLY//vA2E+GeqGBF5zTbJZAhwNGIEl8S87XXZhwzJcxf5/8LjJC1YDzabww== +metro-source-map@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.70.4.tgz#50523dd3a8d7fab7cc1f21ac4ada3ec3cd050cf3" + integrity sha512-4NLcyMll1KdSNKG4zM3ftT5JRqYaSBE4ww7D4cdz+niFMd+9iWmK5q2g+eOt29wKrMYpQMK0jLLaWFi9ol03UQ== dependencies: "@babel/traverse" "^7.14.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "0.67.0" + metro-symbolicate "0.70.4" nullthrows "^1.1.1" - ob1 "0.67.0" + ob1 "0.70.4" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.67.0.tgz#16729d05663d28176895244b3d932a898fca2b45" - integrity sha512-ZqVVcfa0xSz40eFzA5P8pCF3V6Tna9RU1prFzAJTa3j9dCGqwh0HTXC8AIkMtgX7hNdZrCJI1YipzUBlwkT0/A== +metro-symbolicate@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.70.4.tgz#2196b68023f9cf08dc0784fdb24e938e03a5a501" + integrity sha512-XJV040TcUj0uYGB+I2g9o6kX8RKj4Y7bQB/TOGsLevOdKn1gXb3PJ2ESooLl3HmyRDlrqasvdgWyCrkAlJI4Lw== dependencies: invariant "^2.2.4" - metro-source-map "0.67.0" + metro-source-map "0.70.4" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-transform-plugins@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.67.0.tgz#6122aa4e5e5f9a767cebcc5af6fd1695666683ce" - integrity sha512-DQFoSDIJdTMPDTUlKaCNJjEXiHGwFNneAF9wDSJ3luO5gigM7t7MuSaPzF4hpjmfmcfPnRhP6AEn9jcza2Sh8Q== +metro-transform-plugins@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.70.4.tgz#a72db84a81cff7e56b67bb39d017a1f5091ca3aa" + integrity sha512-U16mPSd4WrNyVP1k2uKrT5RAaJeUZPLn8dvzzL7YT2dv1mrQnjAGZ4wDR5q80EQhao05sc2ftw6oPBiPS4sgFg== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" @@ -12616,29 +12589,29 @@ metro-transform-plugins@0.67.0: "@babel/traverse" "^7.14.0" nullthrows "^1.1.1" -metro-transform-worker@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.67.0.tgz#5689553c25b0657aadefdf4ea2cd8dd06e18882a" - integrity sha512-29n+JdTb80ROiv/wDiBVlY/xRAF/nrjhp/Udv/XJl1DZb+x7JEiPxpbpthPhwwl+AYxVrostGB0W06WJ61hfiw== +metro-transform-worker@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.70.4.tgz#73950d81d82cb58afcf288f0d8c8f35365bff928" + integrity sha512-N6rVZF1yUi4rnJsG+/e1wyrdpy6s39PzzsvA+gAS4Vxfe0iBo91votavjL4GF+tuekui/PoxOq5nOWo5aRAHhg== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" "@babel/parser" "^7.14.0" "@babel/types" "^7.0.0" babel-preset-fbjs "^3.4.0" - metro "0.67.0" - metro-babel-transformer "0.67.0" - metro-cache "0.67.0" - metro-cache-key "0.67.0" - metro-hermes-compiler "0.67.0" - metro-source-map "0.67.0" - metro-transform-plugins "0.67.0" + metro "0.70.4" + metro-babel-transformer "0.70.4" + metro-cache "0.70.4" + metro-cache-key "0.70.4" + metro-hermes-compiler "0.70.4" + metro-source-map "0.70.4" + metro-transform-plugins "0.70.4" nullthrows "^1.1.1" -metro@0.67.0, metro@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.67.0.tgz#8007a041d22de1cdb05184431c67eb7989eef6e0" - integrity sha512-DwuBGAFcAivoac/swz8Lp7Y5Bcge1tzT7T6K0nf1ubqJP8YzBUtyR4pkjEYVUzVu/NZf7O54kHSPVu1ibYzOBQ== +metro@0.70.4, metro@^0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.70.4.tgz#6f83974979f60116db9accda92849adf0e5f70be" + integrity sha512-4Ff7jfCF7Jr/PVXvRGVRe5Sb0Qhqceh6i18aYEMfCS0pVsZZcTdXxgTdlB9KGnxSVxT8jjViid+oAAvNJcC2ug== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.14.0" @@ -12649,7 +12622,7 @@ metro@0.67.0, metro@^0.67.0: "@babel/types" "^7.0.0" absolute-path "^0.0.0" accepts "^1.3.7" - async "^2.4.0" + async "^3.2.2" chalk "^4.0.0" ci-info "^2.0.0" connect "^3.6.5" @@ -12657,30 +12630,30 @@ metro@0.67.0, metro@^0.67.0: denodeify "^1.2.1" error-stack-parser "^2.0.6" fs-extra "^1.0.0" - graceful-fs "^4.1.3" - hermes-parser "0.5.0" + graceful-fs "^4.2.4" + hermes-parser "0.6.0" image-size "^0.6.0" invariant "^2.2.4" jest-haste-map "^27.3.1" - jest-worker "^26.0.0" + jest-worker "^27.2.0" + jsc-safe-url "^0.2.2" lodash.throttle "^4.1.1" - metro-babel-transformer "0.67.0" - metro-cache "0.67.0" - metro-cache-key "0.67.0" - metro-config "0.67.0" - metro-core "0.67.0" - metro-hermes-compiler "0.67.0" - metro-inspector-proxy "0.67.0" - metro-minify-uglify "0.67.0" - metro-react-native-babel-preset "0.67.0" - metro-resolver "0.67.0" - metro-runtime "0.67.0" - metro-source-map "0.67.0" - metro-symbolicate "0.67.0" - metro-transform-plugins "0.67.0" - metro-transform-worker "0.67.0" + metro-babel-transformer "0.70.4" + metro-cache "0.70.4" + metro-cache-key "0.70.4" + metro-config "0.70.4" + metro-core "0.70.4" + metro-hermes-compiler "0.70.4" + metro-inspector-proxy "0.70.4" + metro-minify-uglify "0.70.4" + metro-react-native-babel-preset "0.70.4" + metro-resolver "0.70.4" + metro-runtime "0.70.4" + metro-source-map "0.70.4" + metro-symbolicate "0.70.4" + metro-transform-plugins "0.70.4" + metro-transform-worker "0.70.4" mime-types "^2.1.27" - mkdirp "^0.5.1" node-fetch "^2.2.0" nullthrows "^1.1.1" rimraf "^2.5.4" @@ -13073,10 +13046,10 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" -nocache@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f" - integrity sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q== +nocache@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" + integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== node-dir@^0.1.17: version "0.1.17" @@ -13332,10 +13305,10 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -ob1@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.67.0.tgz#91f104c90641b1af8c364fc82a4b2c7d0801072d" - integrity sha512-YvZtX8HKYackQ5PwdFIuuNFVsMChRPHvnARRRT0Vk59xsBvL5t9U1Ock3M1sYrKj+Gp73+0q9xcHLAxI+xLi5g== +ob1@0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.70.4.tgz#683670a256667ac34f93046ee81eb504dcc0689d" + integrity sha512-u7UUis2Scwy+RDdJ0T49Urb0yTQTyEYt37lHzWDqpLQSLYZZGT3ZNtCvB88Z9yKhhouKD4TNOGkBJgkFJ+84sg== object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -13583,18 +13556,6 @@ ora@^2.1.0: strip-ansi "^4.0.0" wcwidth "^1.0.1" -ora@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" - integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== - dependencies: - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-spinners "^2.0.0" - log-symbols "^2.2.0" - strip-ansi "^5.2.0" - wcwidth "^1.0.1" - ora@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" @@ -13666,6 +13627,13 @@ p-limit@^2.3.0: dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -13687,6 +13655,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-map@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" @@ -14072,15 +14047,6 @@ plist@^3.0.2: base64-js "^1.5.1" xmlbuilder "^15.1.1" -plist@^3.0.5: - version "3.1.0" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9" - integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== - dependencies: - "@xmldom/xmldom" "^0.8.8" - base64-js "^1.5.1" - xmlbuilder "^15.1.1" - pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" @@ -14290,11 +14256,6 @@ prismjs@~1.17.0: optionalDependencies: clipboard "^2.0.0" -private@^0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -14607,15 +14568,6 @@ prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@*, prop-types@^15.6.0, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" @@ -14625,6 +14577,15 @@ prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +prop-types@^15.6.0, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + property-information@^5.0.0: version "5.6.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" @@ -14989,10 +14950,10 @@ react-devtools-core@3.6.3: shell-quote "^1.6.1" ws "^3.3.1" -react-devtools-core@^4.23.0: - version "4.27.8" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.27.8.tgz#b7b387b079c14ae9a214d4846a402da2b6efd164" - integrity sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw== +react-devtools-core@4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.0.tgz#7daa196bdc64f3626b3f54f2ff2b96f7c4fdf017" + integrity sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg== dependencies: shell-quote "^1.6.1" ws "^7" @@ -15060,12 +15021,7 @@ react-hotkeys@2.0.0: dependencies: prop-types "^15.6.1" -"react-is@^16.12.0 || ^17.0.0", react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -"react-is@^16.12.0 || ^17.0.0 || ^18.0.0": +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== @@ -15114,10 +15070,10 @@ react-native-camera@^3.8.0: dependencies: prop-types "^15.6.2" -react-native-codegen@^0.0.18: - version "0.0.18" - resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.18.tgz#99d6623d65292e8ce3fdb1d133a358caaa2145e7" - integrity sha512-XPI9aVsFy3dvgDZvyGWrFnknNiyb22kg5nHgxa0vjWTH9ENLBgVRZt9A64xHZ8BYihH+gl0p/1JNOCIEUzRPBg== +react-native-codegen@^0.69.2: + version "0.69.2" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.69.2.tgz#e33ac3b1486de59ddae687b731ddbfcef8af0e4e" + integrity sha512-yPcgMHD4mqLbckqnWjFBaxomDnBREfRjDi2G/WxNyPBQLD+PXUEmZTkDx6QoOXN+Bl2SkpnNOSsLE2+/RUHoPw== dependencies: "@babel/parser" "^7.14.0" flow-parser "^0.121.0" @@ -15183,10 +15139,10 @@ react-native-gesture-handler@^2.3.2: lodash "^4.17.21" prop-types "^15.7.2" -react-native-gradle-plugin@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.6.tgz#b61a9234ad2f61430937911003cddd7e15c72b45" - integrity sha512-eIlgtsmDp1jLC24dRn43hB3kEcZVqx6DUQbR0N1ABXGnMEafm9I3V3dUUeD1vh+Dy5WqijSoEwLNUPLgu5zDMg== +react-native-gradle-plugin@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.7.tgz#96602f909745239deab7b589443f14fce5da2056" + integrity sha512-+4JpbIx42zGTONhBTIXSyfyHICHC29VTvhkkoUOJAh/XHPEixpuBduYgf6Y4y9wsN1ARlQhBBoptTvXvAFQf5g== react-native-iap@^7.5.6: version "7.5.6" @@ -15345,41 +15301,42 @@ react-native-webview@^11.22.6: escape-string-regexp "2.0.0" invariant "2.2.4" -react-native@^0.68.0: - version "0.68.7" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.68.7.tgz#9b179f909ac8640e369957696f98070ddf7c32e7" - integrity sha512-t7XvcwKyXhN9vR8GfgLUyEYYccwI390pG7debFSGns/5Vb0+/ZiGuSmVZGLNt1NVc3UH2zI2GGkDdSJR8Locig== +react-native@0.69.12: + version "0.69.12" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.69.12.tgz#527eced0bf0be2e2ce0c313df9b8ded23a2d1e41" + integrity sha512-kHOj4V0wD/hvjyiiXPP96fMBSRNnx0MXGTTrL43KppsWvKnOtvnQ/qSTWR0d3s6Hi4n7mx3Un+NqCuBKsf+5yg== dependencies: "@jest/create-cache-key-function" "^27.0.1" - "@react-native-community/cli" "^7.0.3" - "@react-native-community/cli-platform-android" "^7.0.1" - "@react-native-community/cli-platform-ios" "^7.0.1" + "@react-native-community/cli" "^8.0.7" + "@react-native-community/cli-platform-android" "^8.0.5" + "@react-native-community/cli-platform-ios" "^8.0.6" "@react-native/assets" "1.0.0" "@react-native/normalize-color" "2.0.0" "@react-native/polyfills" "2.0.0" abort-controller "^3.0.0" anser "^1.4.9" base64-js "^1.1.2" - deprecated-react-native-prop-types "^2.3.0" event-target-shim "^5.0.1" hermes-engine "~0.11.0" invariant "^2.2.4" jsc-android "^250230.2.1" - metro-react-native-babel-transformer "0.67.0" - metro-runtime "0.67.0" - metro-source-map "0.67.0" + memoize-one "^5.0.0" + metro-react-native-babel-transformer "0.70.4" + metro-runtime "0.70.4" + metro-source-map "0.70.4" + mkdirp "^0.5.1" nullthrows "^1.1.1" pretty-format "^26.5.2" promise "^8.2.0" - react-devtools-core "^4.23.0" - react-native-codegen "^0.0.18" - react-native-gradle-plugin "^0.0.6" + react-devtools-core "4.24.0" + react-native-codegen "^0.69.2" + react-native-gradle-plugin "^0.0.7" react-refresh "^0.4.0" - react-shallow-renderer "16.14.1" + react-shallow-renderer "16.15.0" regenerator-runtime "^0.13.2" - scheduler "^0.20.2" + scheduler "^0.21.0" stacktrace-parser "^0.1.3" - use-subscription ">=1.0.0 <1.6.0" + use-sync-external-store "^1.0.0" whatwg-fetch "^3.0.0" ws "^6.1.4" @@ -15442,15 +15399,7 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.0.tgz#d421f9bd65e0e4b9822a399f14ac56bda9c92292" integrity sha512-bacjSio8GOtzNZKZZM6EWqbhlbb6pr28JWJWFTLwEBKvPIBRo6/Ob68D2EWZA2VyTdQxAh+TRnCYOPNKsQiXTA== -react-shallow-renderer@16.14.1: - version "16.14.1" - resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz#bf0d02df8a519a558fd9b8215442efa5c840e124" - integrity sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg== - dependencies: - object-assign "^4.1.1" - react-is "^16.12.0 || ^17.0.0" - -react-shallow-renderer@^16.13.1: +react-shallow-renderer@16.15.0, react-shallow-renderer@^16.13.1: version "16.15.0" resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== @@ -15479,15 +15428,14 @@ react-syntax-highlighter@^11.0.2: prismjs "^1.8.4" refractor "^2.4.1" -react-test-renderer@17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-17.0.2.tgz#4cd4ae5ef1ad5670fc0ef776e8cc7e1231d9866c" - integrity sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ== +react-test-renderer@18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.0.0.tgz#fa403d625ea9478a70ace43db88833f6c3a5bb4c" + integrity sha512-SyZTP/FSkwfiKOZuTZiISzsrC8A80KNlQ8PyyoGoOq+VzMAab6Em1POK/CiX3+XyXG6oiJa1C53zYDbdrJu9fw== dependencies: - object-assign "^4.1.1" - react-is "^17.0.2" + react-is "^18.0.0" react-shallow-renderer "^16.13.1" - scheduler "^0.20.2" + scheduler "^0.21.0" react-textarea-autosize@^7.1.0: version "7.1.2" @@ -15497,13 +15445,12 @@ react-textarea-autosize@^7.1.0: "@babel/runtime" "^7.1.2" prop-types "^15.6.0" -react@17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== +react@18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.0.0.tgz#b468736d1f4a5891f38585ba8e8fb29f91c3cb96" + integrity sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" react@^16.8.3: version "16.14.0" @@ -15816,13 +15763,6 @@ regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== -regenerator-transform@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" - integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== - dependencies: - private "^0.1.6" - regenerator-transform@^0.15.1: version "0.15.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" @@ -16257,7 +16197,7 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sax@^1.2.1, sax@^1.2.4: +sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -16270,13 +16210,12 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== +scheduler@^0.21.0: + version "0.21.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" + integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" schema-utils@^1.0.0: version "1.0.0" @@ -16594,15 +16533,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= -simple-plist@^1.1.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" - integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw== - dependencies: - bplist-creator "0.1.0" - bplist-parser "0.3.1" - plist "^3.0.5" - simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -16986,11 +16916,6 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" -stream-buffers@2.2.x: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" - integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== - stream-each@^1.1.0: version "1.2.3" resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" @@ -18023,12 +17948,10 @@ use-sidecar@^1.1.2: detect-node-es "^1.1.0" tslib "^2.0.0" -"use-subscription@>=1.0.0 <1.6.0": - version "1.5.1" - resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" - integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== - dependencies: - object-assign "^4.1.1" +use-sync-external-store@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== use@^3.1.0: version "3.1.1" @@ -18108,11 +18031,6 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== -uuid@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" - integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== - v8-compile-cache@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" @@ -18531,14 +18449,6 @@ ws@^7.5.1: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -xcode@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" - integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== - dependencies: - simple-plist "^1.1.0" - uuid "^7.0.3" - xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" @@ -18549,13 +18459,6 @@ xmlbuilder@^15.1.1: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== -xmldoc@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-1.1.2.tgz#6666e029fe25470d599cd30e23ff0d1ed50466d7" - integrity sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ== - dependencies: - sax "^1.2.1" - xstream@^11.14.0: version "11.14.0" resolved "https://registry.yarnpkg.com/xstream/-/xstream-11.14.0.tgz#2c071d26b18310523b6877e86b4e54df068a9ae5" @@ -18678,3 +18581,8 @@ yargs@^15.1.0, yargs@^15.3.1: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^18.1.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From f409a432de60b2a4b867ea9815299e381715a339 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 02:41:45 +0800 Subject: [PATCH 06/29] =?UTF-8?q?=F0=9F=93=8C=20Sync=20dependencies=20usin?= =?UTF-8?q?g=20align-deps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 8 ++++++-- package.json | 14 +++++++------- yarn.lock | 20 ++++++++++---------- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 0be9f3bb..5f91e72c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -441,8 +441,12 @@ PODS: - React - react-native-randombytes (3.5.3): - React - - react-native-safe-area-context (3.2.0): + - react-native-safe-area-context (4.6.4): + - RCT-Folly + - RCTRequired + - RCTTypeSafety - React-Core + - ReactCommon/turbomodule/core - react-native-splash-screen (3.3.0): - React-Core - react-native-tracking-transparency (0.1.2): @@ -938,7 +942,7 @@ SPEC CHECKSUMS: react-native-image-picker: 5640333245b448b0e64172576ea27760f4134099 react-native-image-sequence: b4cc7ce0ee9eeec7574b005e06059b3f7f818d96 react-native-randombytes: 3638d24759d67c68f6ccba60c52a7a8a8faa6a23 - react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79 + react-native-safe-area-context: 68b07eabfb0d14547d36f6929c0e98d818064f02 react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457 react-native-tracking-transparency: 25ff1ff866e338c137c818bdec20526bb05ffcc1 react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1 diff --git a/package.json b/package.json index 8bead7cb..d0d5a791 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@json-rpc-tools/utils": "1.7.6", "@likecoin/authcore-js": "^0.3.0-like.0", "@likecoin/secretd-js": "^0.4.3", - "@react-native-async-storage/async-storage": "^1.17.3", + "@react-native-async-storage/async-storage": "^1.17.7", "@react-native-community/masked-view": "^0.1.11", "@react-native-cookies/cookies": "^6.2.1", "@react-native-firebase/analytics": "11.5.0", @@ -62,7 +62,7 @@ "ramda": "0.29.0", "react": "18.0.0", "react-content-loader": "^4.3.4", - "react-native": "0.69.12", + "react-native": "^0.69.0", "react-native-actions-sheet": "^0.4.8", "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#f2d2397e8f7f4bbcd606e638693ab9194333c3be", "react-native-branch": "^5.8.0", @@ -72,7 +72,7 @@ "react-native-encrypted-storage": "^4.0.3", "react-native-exit-app": "^1.1.0", "react-native-fast-image": "^8.3.2", - "react-native-gesture-handler": "^2.3.2", + "react-native-gesture-handler": "^2.5.0", "react-native-iap": "^7.5.6", "react-native-image-picker": "https://github.com/likecoin/react-native-image-picker#5e2f78f5e3f893b13a67482471655e1ebb75ad3b", "react-native-image-sequence": "^0.7.0", @@ -82,9 +82,9 @@ "react-native-qrcode-svg": "^5.2.0", "react-native-randombytes": "^3.5.3", "react-native-rate": "^1.2.12", - "react-native-reanimated": "^2.5.0", - "react-native-safe-area-context": "^3.2.0", - "react-native-screens": "^3.13.1", + "react-native-reanimated": "^2.9.0", + "react-native-safe-area-context": "^4.3.1", + "react-native-screens": "^3.14.1", "react-native-share-extension": "git+https://github.com/likecoin/react-native-share-extension#d82e2cd02b782272422da15cd484c8cbe931a6ab", "react-native-snap-carousel": "^3.9.0", "react-native-splash-screen": "^3.3.0", @@ -92,7 +92,7 @@ "react-native-swipe-list-view": "^3.2.4", "react-native-tracking-transparency": "^0.1.2", "react-native-url-polyfill": "^1.3.0", - "react-native-webview": "^11.22.6", + "react-native-webview": "^11.23.0", "react-navigation": "4.4.4", "react-navigation-stack": "2.10.4", "react-navigation-tabs": "2.11.1", diff --git a/yarn.lock b/yarn.lock index 1fba5fb1..acb7c237 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3161,7 +3161,7 @@ prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" -"@react-native-async-storage/async-storage@^1.17.3": +"@react-native-async-storage/async-storage@^1.17.7": version "1.19.0" resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.19.0.tgz#594aca9c20924b7955d62cf43797b4187e1e6cf8" integrity sha512-xOFkz/FaQctD6yNJDur+WnHdSTigOs3pTz6HmfC8X8PYwcnnN3R9UxuWiwsfK8vvT2WioAxUkQt3lB7GySNA2w== @@ -15128,7 +15128,7 @@ react-native-flipper@^0.34.0: resolved "https://registry.yarnpkg.com/react-native-flipper/-/react-native-flipper-0.34.0.tgz#7df1f38ba5d97a9321125fe0fccbe47d99e6fa1d" integrity sha512-48wgm29HJTOlZ0DibBsvXueEOY0EPIVL0wWKbwRfgrk86+luSEuLW3aZC50oJa95zSFb9qYShTV/6dWqh4Jamg== -react-native-gesture-handler@^2.3.2: +react-native-gesture-handler@^2.5.0: version "2.12.0" resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.12.0.tgz#59ca9d97e4c71f70b9c258f14a1a081f4c689976" integrity sha512-rr+XwVzXAVpY8co25ukvyI38fKCxTQjz7WajeZktl8qUPdh1twnSExgpT47DqDi4n+m+OiJPAnHfZOkqqAQMOg== @@ -15201,7 +15201,7 @@ react-native-rate@^1.2.12: resolved "https://registry.yarnpkg.com/react-native-rate/-/react-native-rate-1.2.12.tgz#d4307b2994f9c849b987eb65599ec467db4aee04" integrity sha512-A/z3s7Zth08aXcJnru6S4p71NG8acx2w5LhIfItwTJUbQruNJugk8WrN51dLBCSDv8W33kbS5YoUT4M9jOP5gA== -react-native-reanimated@^2.5.0: +react-native-reanimated@^2.9.0: version "2.17.0" resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-2.17.0.tgz#eae2308235961cdd79810e01dfdd7e88b1ae5b5c" integrity sha512-bVy+FUEaHXq4i+aPPqzGeor1rG4scgVNBbBz21ohvC7iMpB9IIgvGsmy1FAoodZhZ5sa3EPF67Rcec76F1PXlQ== @@ -15213,10 +15213,10 @@ react-native-reanimated@^2.5.0: setimmediate "^1.0.5" string-hash-64 "^1.0.3" -react-native-safe-area-context@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.2.0.tgz#06113c6b208f982d68ab5c3cebd199ca93db6941" - integrity sha512-k2Nty4PwSnrg9HwrYeeE+EYqViYJoOFwEy9LxL5RIRfoqxAq/uQXNGwpUg2/u4gnKpBbEPa9eRh15KKMe/VHkA== +react-native-safe-area-context@^4.3.1: + version "4.6.4" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.6.4.tgz#84a324f28209a91a9a5b802f9339428f2366ebe3" + integrity sha512-UWYsokTLZmj8g0cluzoUeGUjQrCTW4slKr2xKmuwQCurAuvSJq/QvfhCrqyea++XrXo46+1Q3wSoP50YXG24jA== react-native-safe-area-view@^0.14.9: version "0.14.9" @@ -15225,7 +15225,7 @@ react-native-safe-area-view@^0.14.9: dependencies: hoist-non-react-statics "^2.3.1" -react-native-screens@^3.13.1: +react-native-screens@^3.14.1: version "3.22.1" resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.22.1.tgz#b0eb0696dbf1f9a852061cc71c0f8cdb95ed8e53" integrity sha512-ffzwUdVKf+iLqhWSzN5DXBm0s2w5sN0P+TaHHPAx42LT7+DT0g8PkHT1QDvxpR5vCEPSS1i3EswyVK4HCuhTYg== @@ -15293,7 +15293,7 @@ react-native-url-polyfill@^1.3.0: dependencies: whatwg-url-without-unicode "8.0.0-3" -react-native-webview@^11.22.6: +react-native-webview@^11.23.0: version "11.26.1" resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.1.tgz#658c09ed5162dc170b361e48c2dd26c9712879da" integrity sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw== @@ -15301,7 +15301,7 @@ react-native-webview@^11.22.6: escape-string-regexp "2.0.0" invariant "2.2.4" -react-native@0.69.12: +react-native@^0.69.0: version "0.69.12" resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.69.12.tgz#527eced0bf0be2e2ce0c313df9b8ded23a2d1e41" integrity sha512-kHOj4V0wD/hvjyiiXPP96fMBSRNnx0MXGTTrL43KppsWvKnOtvnQ/qSTWR0d3s6Hi4n7mx3Un+NqCuBKsf+5yg== From 0c8166c734e295e362a4ff70c678b71a305e6042 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 02:59:02 +0800 Subject: [PATCH 07/29] =?UTF-8?q?=F0=9F=91=BD=EF=B8=8F=20Patch=20deprecate?= =?UTF-8?q?d=20ViewPropType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + patches/react-native+0.69.12.patch | 17 +++++++++++++++ yarn.lock | 34 +++++++++++++++++++++--------- 3 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 patches/react-native+0.69.12.patch diff --git a/package.json b/package.json index d0d5a791..e2b3cb34 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "buffer": "^5.4.3", "cosmjs-types": "^0.1.0", "crypto-js": "^4.1.1", + "deprecated-react-native-prop-types": "^4.1.0", "fast-json-stable-stringify": "^2.1.0", "i18n-js": "^3.0.11", "jsonwebtoken": "^9.0.0", diff --git a/patches/react-native+0.69.12.patch b/patches/react-native+0.69.12.patch new file mode 100644 index 00000000..c2f84e9a --- /dev/null +++ b/patches/react-native+0.69.12.patch @@ -0,0 +1,17 @@ +diff --git a/node_modules/react-native/index.js b/node_modules/react-native/index.js +index d59ba34..ef3183a 100644 +--- a/node_modules/react-native/index.js ++++ b/node_modules/react-native/index.js +@@ -456,11 +456,7 @@ module.exports = { + ); + }, + get ViewPropTypes(): $FlowFixMe { +- invariant( +- false, +- 'ViewPropTypes has been removed from React Native. Migrate to ' + +- "ViewPropTypes exported from 'deprecated-react-native-prop-types'.", +- ); ++ return require('deprecated-react-native-prop-types').ViewPropTypes + }, + }; + diff --git a/yarn.lock b/yarn.lock index acb7c237..25ddd15d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3395,6 +3395,11 @@ resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" integrity sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw== +"@react-native/normalize-colors@*": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.73.0.tgz#23e15cf2a2b73ac7e5e6df8d5b86b173cfb35a3f" + integrity sha512-EmSCmJ0djeMJadeFsms6Pl/R85i9xSJMc+tyJu/GEMkKXBVyYQyqanK4RHFU0v8MO90OWj+SiFXjCkKYiJ6mkg== + "@react-native/polyfills@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa" @@ -7944,6 +7949,15 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +deprecated-react-native-prop-types@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz#8ed03a64c21b7fbdd2d000957b6838d4f38d2c66" + integrity sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw== + dependencies: + "@react-native/normalize-colors" "*" + invariant "*" + prop-types "*" + des.js@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" @@ -10557,7 +10571,7 @@ interpret@^2.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -invariant@2.2.4, invariant@^2.2.3, invariant@^2.2.4: +invariant@*, invariant@2.2.4, invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -14568,6 +14582,15 @@ prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" +prop-types@*, prop-types@^15.6.0, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" @@ -14577,15 +14600,6 @@ prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" -prop-types@^15.6.0, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - property-information@^5.0.0: version "5.6.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" From b22df37a16bca57b16e630d7aec6df152bd2e1a7 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 03:08:07 +0800 Subject: [PATCH 08/29] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Bump=20react-native-?= =?UTF-8?q?qrcode-svg=20to=206.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 4 +-- package.json | 4 +-- yarn.lock | 77 ++++++++++++++++++------------------------------ 3 files changed, 33 insertions(+), 52 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 5f91e72c..34a9d86b 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -600,7 +600,7 @@ PODS: - RNSentry (5.6.0): - React-Core - Sentry/HybridSDK (= 8.7.3) - - RNSVG (12.5.1): + - RNSVG (13.10.0): - React-Core - SDWebImage (5.9.1): - SDWebImage/Core (= 5.9.1) @@ -978,7 +978,7 @@ SPEC CHECKSUMS: RNReanimated: c6f8f70e96dd6ca21b65aef9b3e4efe4965db905 RNScreens: 50ffe2fa2342eabb2d0afbe19f7c1af286bc7fb3 RNSentry: 9f0447b3ce13806f544903748de423259ead8552 - RNSVG: d7d7bc8229af3842c9cfc3a723c815a52cdd1105 + RNSVG: 80584470ff1ffc7994923ea135a3e5ad825546b9 SDWebImage: a990c053fff71e388a10f3357edb0be17929c9c5 SDWebImageWebPCoder: d0dac55073088d24b2ac1b191a71a8f8d0adac21 Sentry: c7a86f43510a7d5678d4de28d78c28ab351d295b diff --git a/package.json b/package.json index e2b3cb34..ae6cf282 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "react-native-keychain": "3.1.3", "react-native-linear-gradient": "^2.5.6", "react-native-localize": "^1.0.0", - "react-native-qrcode-svg": "^5.2.0", + "react-native-qrcode-svg": "^6.2.0", "react-native-randombytes": "^3.5.3", "react-native-rate": "^1.2.12", "react-native-reanimated": "^2.9.0", @@ -89,7 +89,7 @@ "react-native-share-extension": "git+https://github.com/likecoin/react-native-share-extension#d82e2cd02b782272422da15cd484c8cbe931a6ab", "react-native-snap-carousel": "^3.9.0", "react-native-splash-screen": "^3.3.0", - "react-native-svg": "^12.3.0", + "react-native-svg": "^13.2.0", "react-native-swipe-list-view": "^3.2.4", "react-native-tracking-transparency": "^0.1.2", "react-native-url-polyfill": "^1.3.0", diff --git a/yarn.lock b/yarn.lock index 25ddd15d..559dc581 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8354,6 +8354,11 @@ emotion-theming@^10.0.19: "@emotion/weak-memoize" "0.2.5" hoist-non-react-statics "^3.3.0" +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -11035,7 +11040,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isarray@^2.0.1, isarray@^2.0.5: +isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== @@ -14071,10 +14076,10 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== -pngjs@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" - integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== pnp-webpack-plugin@1.5.0: version "1.5.0" @@ -14582,7 +14587,7 @@ prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@*, prop-types@^15.6.0, prop-types@^15.8.1: +prop-types@*, prop-types@^15.6.0, prop-types@^15.8.0, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -14591,7 +14596,7 @@ prop-types@*, prop-types@^15.6.0, prop-types@^15.8.1: object-assign "^4.1.1" react-is "^16.13.1" -prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -14720,15 +14725,15 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qrcode@^1.2.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.2.tgz#e7c82a60140916d666541043bd2b0b72ee4e38a6" - integrity sha512-eR6RgxFYPDFH+zFLTJKtoNP/RlsHANQb52AUmQ2bGDPMuUw7jJb0F+DNEgx7qQGIElrbFxWYMc0/B91zLZPF9Q== +qrcode@^1.5.1: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== dependencies: dijkstrajs "^1.0.1" - isarray "^2.0.1" - pngjs "^3.3.0" - yargs "^13.2.4" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" qs@6.11.0, qs@^6.10.2: version "6.11.0" @@ -15194,13 +15199,13 @@ react-native-localize@^1.0.0: resolved "https://registry.yarnpkg.com/react-native-localize/-/react-native-localize-1.1.4.tgz#d48aa4f75afd39a42dcd0bdf40f7f44a8ccd604c" integrity sha512-NHsA812yvoH9ktPl1IqIxwDDwykipyH7K4zeW/nnipZuQb2g73SQEB3ryqKHmRASWD0DZl0hIxHr9IszzG5W5w== -react-native-qrcode-svg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/react-native-qrcode-svg/-/react-native-qrcode-svg-5.2.0.tgz#013f7bb1d6e8de307fdca6141b4e815d861adf68" - integrity sha512-Mwfs3tttAqu+skXsfwVXf49NqCCkaxqpmTcx3tA3eWjt/rdgfvm/k66dAUonBKvNTje0S1aAxO65ENzCXnuVcg== +react-native-qrcode-svg@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/react-native-qrcode-svg/-/react-native-qrcode-svg-6.2.0.tgz#62b62c5997ff23ba22544e289a6112a08f8ea306" + integrity sha512-rb2PgUwT8QpQyReVYNvzRY84AHsMh81354Tnkfp6MfqRbcdJURhnBWLBOO11pLMS6eXiwlq4SkcQxy88hRq+Dw== dependencies: - prop-types "^15.5.10" - qrcode "^1.2.0" + prop-types "^15.8.0" + qrcode "^1.5.1" react-native-randombytes@^3.5.3: version "3.5.3" @@ -15272,10 +15277,10 @@ react-native-svg-transformer@^0.13.0: "@svgr/core" "^4.1.0" semver "^5.6.0" -react-native-svg@^12.3.0: - version "12.5.1" - resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-12.5.1.tgz#7dfd9daf2f8ed7843c0f3e7a16af193bd5f9b287" - integrity sha512-c374ENsq2MWCfr+7jC7TGwSeOAuC1Dp0osh2pw8PjpYFxmmB/toFIwcnCLz+SgBd6iLJClRhbATealqM05HOGg== +react-native-svg@^13.2.0: + version "13.10.0" + resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-13.10.0.tgz#d3c6222ea9cc1e21e2af0fd59dfbeafe7a3d0dc1" + integrity sha512-D/oYTmUi5nsA/2Nw4WYlF1UUi3vZqhpESpiEhpYCIFB/EMd6vz4A/uq3tIzZFcfa5z2oAdGSxRU1TaYr8IcPlQ== dependencies: css-select "^5.1.0" css-tree "^1.1.3" @@ -18516,14 +18521,6 @@ yaml@^2.2.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.0.tgz#47ebe58ee718f772ce65862beb1db816210589a0" integrity sha512-8/1wgzdKc7bc9E6my5wZjmdavHLvO/QOmLG1FBugblEvY4IXrLjlViIOmL24HthU042lWTDRO90Fz1Yp66UnMw== -yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -18547,22 +18544,6 @@ yargs-parser@^9.0.2: dependencies: camelcase "^4.1.0" -yargs@^13.2.4: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.1" - yargs@^13.3.0: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" From 724482d04a96c082a2f6b95bd64a1cc238b887df Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 04:14:19 +0800 Subject: [PATCH 09/29] =?UTF-8?q?=F0=9F=91=BD=EF=B8=8F=20Remove=20hack=20f?= =?UTF-8?q?or=20patched=20metro=20issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- metro.config.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/metro.config.js b/metro.config.js index a83174d1..fd2e310c 100644 --- a/metro.config.js +++ b/metro.config.js @@ -12,16 +12,6 @@ module.exports = (async () => { resolver: { sourceExts, assetExts } } = await getDefaultConfig() return { - server: { - rewriteRequestUrl: (url) => { - if (!url.endsWith('.bundle')) { - return url; - } - // https://github.com/facebook/react-native/issues/36794 - // JavaScriptCore strips query strings, so try to re-add them with a best guess. - return url + '?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true'; - }, - }, transformer: { getTransformOptions: async () => ({ transform: { From 8e0fc54e83021f5040e9b7901cd5162f1ab816fe Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 09:48:37 +0800 Subject: [PATCH 10/29] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Bump=20react-native-?= =?UTF-8?q?authcore=20to=20fix=20webview=20issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index ae6cf282..4a6994ba 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "react-content-loader": "^4.3.4", "react-native": "^0.69.0", "react-native-actions-sheet": "^0.4.8", - "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#f2d2397e8f7f4bbcd606e638693ab9194333c3be", + "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#ffa57a75cbdc4db463ef4d7ad45641b6c234b7e9", "react-native-branch": "^5.8.0", "react-native-camera": "^3.8.0", "react-native-crypto": "^2.2.0", diff --git a/yarn.lock b/yarn.lock index 559dc581..75c50e70 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15070,9 +15070,9 @@ react-native-actions-sheet@^0.4.8: resolved "https://registry.yarnpkg.com/react-native-actions-sheet/-/react-native-actions-sheet-0.4.8.tgz#61859e02fd19b274517b70066cafe4300b3d3e89" integrity sha512-fo/WNMAwt2aFoWslJmPAQ0EPE6BEZ2UqXkX0ySGjXXKZSg2fohflEHngooPfvnQaO5n2cdY2dkn76zmKgiDI4g== -"react-native-authcore@git+https://github.com/likecoin/react-native-authcore#f2d2397e8f7f4bbcd606e638693ab9194333c3be": +"react-native-authcore@git+https://github.com/likecoin/react-native-authcore#ffa57a75cbdc4db463ef4d7ad45641b6c234b7e9": version "1.0.0" - resolved "git+https://github.com/likecoin/react-native-authcore#f2d2397e8f7f4bbcd606e638693ab9194333c3be" + resolved "git+https://github.com/likecoin/react-native-authcore#ffa57a75cbdc4db463ef4d7ad45641b6c234b7e9" dependencies: color "^3.1.2" url "^0.11.0" From bd1ffebd8873517435336aa0a385329be4fc5811 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 09:52:36 +0800 Subject: [PATCH 11/29] =?UTF-8?q?=E2=9C=85=20Update=20test=20snapshot=20fo?= =?UTF-8?q?r=20RNSVG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/__snapshots__/storyshots.test.ts.snap | 2613 ++++++++++++++++---- 1 file changed, 2097 insertions(+), 516 deletions(-) diff --git a/test/__snapshots__/storyshots.test.ts.snap b/test/__snapshots__/storyshots.test.ts.snap index ee6990d1..3ce15cf6 100644 --- a/test/__snapshots__/storyshots.test.ts.snap +++ b/test/__snapshots__/storyshots.test.ts.snap @@ -393,7 +393,12 @@ exports[`Storyshots Avatar Behavior 1`] = ` vbWidth={42} > @@ -606,7 +617,12 @@ exports[`Storyshots Avatar Behavior 1`] = ` vbWidth={64} > @@ -819,7 +841,12 @@ exports[`Storyshots Avatar Behavior 1`] = ` vbWidth={64} > @@ -4001,8 +4034,8 @@ exports[`Storyshots CivicLikerV3SummaryView Behavior 1`] = ` civic_liker_v3_summary_status_activating.test @@ -4790,8 +4878,8 @@ exports[`Storyshots CommunityLinks Behavior 1`] = ` > @@ -4859,8 +4958,8 @@ exports[`Storyshots CommunityLinks Behavior 1`] = ` > @@ -4928,8 +5038,8 @@ exports[`Storyshots CommunityLinks Behavior 1`] = ` > @@ -6456,8 +6577,8 @@ exports[`Storyshots Header Behavior 1`] = ` } > - + @@ -6679,8 +6807,8 @@ exports[`Storyshots Header Behavior 1`] = ` } > - + @@ -6862,8 +6997,8 @@ exports[`Storyshots HeaderTab Icon 1`] = ` } > - + - + - + @@ -7975,8 +8131,8 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` > - + @@ -8162,8 +8364,8 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` > - + @@ -8214,27 +8435,44 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` vbHeight={36} vbWidth={36} > - + @@ -8258,6 +8496,12 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` content="1" dx={Array []} dy={Array []} + fill={ + Object { + "payload": 4278190080, + "type": 0, + } + } font={Object {}} rotate={Array []} x={Array []} @@ -8268,21 +8512,37 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` @@ -8425,8 +8702,8 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` > - + @@ -8477,20 +8773,37 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` vbHeight={36} vbWidth={36} > - + @@ -8679,8 +9049,8 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` > - + @@ -8731,20 +9120,37 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` vbHeight={36} vbWidth={36} > - + - + @@ -8963,8 +9437,8 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` > - + @@ -9015,20 +9508,37 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` vbHeight={36} vbWidth={36} > - + @@ -9217,8 +9784,8 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` > - + @@ -9269,20 +9855,37 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` vbHeight={36} vbWidth={36} > - + @@ -9501,8 +10172,8 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` > - + @@ -9553,20 +10243,37 @@ exports[`Storyshots LikeCoinButton Style Presets 1`] = ` vbHeight={36} vbWidth={36} > - + @@ -9931,7 +10695,7 @@ exports[`Storyshots NotificationListItem Behavior 1`] = ` > - + @@ -10250,7 +11032,7 @@ exports[`Storyshots NotificationListItem Behavior 1`] = ` > - + @@ -10470,8 +11270,8 @@ exports[`Storyshots NotificationListItem Behavior 1`] = ` } > - + @@ -10692,8 +11499,8 @@ exports[`Storyshots NotificationListItem Behavior 1`] = ` } > - + @@ -10914,8 +11728,8 @@ exports[`Storyshots NotificationListItem Behavior 1`] = ` } > - + @@ -11291,8 +12112,8 @@ exports[`Storyshots SponsorLinkCTATableView Behavior 1`] = ` - + @@ -11404,8 +12237,8 @@ exports[`Storyshots SponsorLinkCTATableView Behavior 1`] = ` > - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -13086,7 +14118,14 @@ exports[`Storyshots StatisticsWeeklyChart Behavior 1`] = ` vbWidth={286} width="100%" > - + - + - + - + - + - + - + @@ -14248,9 +15779,8 @@ exports[`Storyshots StatisticsWeeklyChart Behavior 1`] = ` > @@ -14711,7 +16246,12 @@ exports[`Storyshots SupporterListItem Style Presets 1`] = ` vbWidth={42} > @@ -15993,8 +17539,8 @@ exports[`Storyshots TableViewCell Behavior 1`] = ` > - + @@ -16161,8 +17719,8 @@ exports[`Storyshots TableViewCell Behavior 1`] = ` > - + @@ -16287,8 +17857,8 @@ exports[`Storyshots TableViewCell Behavior 1`] = ` > From 71005d18fc114607120f857a891331ef84c63f2d Mon Sep 17 00:00:00 2001 From: William Chong Date: Wed, 12 Jul 2023 13:14:40 +0800 Subject: [PATCH 12/29] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20Update=20react=20?= =?UTF-8?q?type=20definitions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 ++-- yarn.lock | 36 ++++++++++-------------------------- 2 files changed, 12 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 4a6994ba..33f9e486 100644 --- a/package.json +++ b/package.json @@ -121,8 +121,8 @@ "@types/jest": "24.0.16", "@types/jsonwebtoken": "^9.0.0", "@types/ramda": "0.26.18", - "@types/react": "17.0.2", - "@types/react-native": "^0.66.0", + "@types/react": "18.0.0", + "@types/react-native": "^0.69.0", "@types/react-native-share-extension": "^2.0.1", "@types/react-test-renderer": "16.8.3", "@types/styled-components": "^5.1.9", diff --git a/yarn.lock b/yarn.lock index 75c50e70..13d7ad69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4352,12 +4352,12 @@ dependencies: "@types/react" "*" -"@types/react-native@^0.66.0": - version "0.66.29" - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.66.29.tgz#977da2cb720519caec76ed28d19a5eaccad0fd0d" - integrity sha512-/veu+qzzTKg3H9eUbbB0mKCzqtWbK3W+qL2z2E6h/isSsol2Fzc/praia42dMcaMftD2i/meV+hsPeaPjOy4WA== +"@types/react-native@^0.69.0": + version "0.69.21" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.69.21.tgz#50180a7531310df3bb71fda4d1822bca42039ac8" + integrity sha512-D8WTR5gmrdwv95nxzjRdrYYRENv9UEP/MJemHWSBK10FYi2+qqpLq9D3W2pJNJCA6xUzIAQwcUrAsWbwQTadOA== dependencies: - "@types/react" "^17" + "@types/react" "*" "@types/react-syntax-highlighter@11.0.4": version "11.0.4" @@ -4380,26 +4380,10 @@ dependencies: "@types/react" "*" -"@types/react@*": - version "16.9.2" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz#6d1765431a1ad1877979013906731aae373de268" - integrity sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" - -"@types/react@17.0.2": - version "17.0.2" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.2.tgz#3de24c4efef902dd9795a49c75f760cbe4f7a5a8" - integrity sha512-Xt40xQsrkdvjn1EyWe1Bc0dJLcil/9x2vAuW7ya+PuQip4UYUaXyhzWmAbwRsdMgwOFHpfp7/FFZebDU6Y8VHA== - dependencies: - "@types/prop-types" "*" - csstype "^3.0.2" - -"@types/react@^17": - version "17.0.60" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.60.tgz#a4a97dcdbebad76612c188fc06440e4995fd8ad2" - integrity sha512-pCH7bqWIfzHs3D+PDs3O/COCQJka+Kcw3RnO9rFA2zalqoXg7cNjJDh6mZ7oRtY1wmY4LVwDdAbA1F7Z8tv3BQ== +"@types/react@*", "@types/react@18.0.0": + version "18.0.0" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.0.tgz#4be8aa3a2d04afc3ac2cc1ca43d39b0bd412890c" + integrity sha512-7+K7zEQYu7NzOwQGLR91KwWXXDzmTFODRVizJyIALf6RfLv2GDpqpknX64pvRVILXCpXi7O/pua8NGk44dLvJw== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -7747,7 +7731,7 @@ cssstyle@^1.0.0: dependencies: cssom "0.3.x" -csstype@^2.2.0, csstype@^2.5.7: +csstype@^2.5.7: version "2.6.6" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== From 27c321bb6004b7c222a9ba40ba4dff8041872ef9 Mon Sep 17 00:00:00 2001 From: William Chong Date: Wed, 12 Jul 2023 17:14:58 +0800 Subject: [PATCH 13/29] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20Fix=20react=2018?= =?UTF-8?q?=20type=20errors?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content-list-item.bookmark.tsx | 2 +- .../content-list-item.super-like.tsx | 4 ++-- app/navigation/back-button-handler.tsx | 1 + patches/react-native-actions-sheet+0.4.8.patch | 14 ++++++++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 patches/react-native-actions-sheet+0.4.8.patch diff --git a/app/components/content-list-item/content-list-item.bookmark.tsx b/app/components/content-list-item/content-list-item.bookmark.tsx index c89b810d..e2eef1b8 100644 --- a/app/components/content-list-item/content-list-item.bookmark.tsx +++ b/app/components/content-list-item/content-list-item.bookmark.tsx @@ -97,7 +97,7 @@ class BookmarkedContentListItemBase extends React.Component { onPress={this.onPressArchiveButton} /> )} - {this.props.renderMoreButton(this.onPressMoreButton)} + <>{this.props.renderMoreButton(this.onPressMoreButton)} diff --git a/app/components/content-list-item/content-list-item.super-like.tsx b/app/components/content-list-item/content-list-item.super-like.tsx index d535c8dc..f3db230e 100644 --- a/app/components/content-list-item/content-list-item.super-like.tsx +++ b/app/components/content-list-item/content-list-item.super-like.tsx @@ -105,10 +105,10 @@ class SuperLikeContentListItemBase extends React.Component { style={Style.LikerDisplayName} /> - {this.props.isShowFollowToggle + <>{this.props.isShowFollowToggle ? this.renderFollowToggle(!!content?.liker?.isFollowing) : this.props.renderMoreButton(this.onPressMoreButton) - } + } diff --git a/app/navigation/back-button-handler.tsx b/app/navigation/back-button-handler.tsx index 8a4ec41e..f289703c 100644 --- a/app/navigation/back-button-handler.tsx +++ b/app/navigation/back-button-handler.tsx @@ -10,6 +10,7 @@ interface BackButtonHandlerProps { * Are we allowed to exit? */ canExit(routeName: string): boolean + children?: React.ReactNode } @inject("navigationStore") diff --git a/patches/react-native-actions-sheet+0.4.8.patch b/patches/react-native-actions-sheet+0.4.8.patch new file mode 100644 index 00000000..4ffd0a58 --- /dev/null +++ b/patches/react-native-actions-sheet+0.4.8.patch @@ -0,0 +1,14 @@ +diff --git a/node_modules/react-native-actions-sheet/index.d.ts b/node_modules/react-native-actions-sheet/index.d.ts +index c87a3c8..c6a8e1f 100644 +--- a/node_modules/react-native-actions-sheet/index.d.ts ++++ b/node_modules/react-native-actions-sheet/index.d.ts +@@ -22,6 +22,9 @@ declare module "react-native-actions-sheet" { + export const removeHasReachedTopListener: (callback: () => void) => void + + export type ActionSheetProps = { ++ ++ children?: React.ReactNode; ++ + /** + * Animate the opening and closing of ActionSheet. + From 14a4d487738b35fb612fbe771c5d1733f0bc4462 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 04:04:35 +0800 Subject: [PATCH 14/29] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Bump=20react-native?= =?UTF-8?q?=20to=200.70.12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 2 +- android/app/build.gradle | 39 +- android/app/src/main/jni/Android.mk | 48 -- android/app/src/main/jni/CMakeLists.txt | 7 + .../jni/MainApplicationModuleProvider.cpp | 10 +- .../main/jni/MainApplicationModuleProvider.h | 2 +- ...nApplicationTurboModuleManagerDelegate.cpp | 8 +- ...ainApplicationTurboModuleManagerDelegate.h | 8 +- .../src/main/jni/MainComponentsRegistry.cpp | 4 + android/build.gradle | 1 - android/gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 59821 bytes ios/LikeCoinApp.xcodeproj/project.pbxproj | 8 +- ios/Podfile | 20 +- ios/Podfile.lock | 539 ++++++++-------- package.json | 8 +- yarn.lock | 579 ++++++++---------- 16 files changed, 623 insertions(+), 660 deletions(-) delete mode 100644 android/app/src/main/jni/Android.mk create mode 100644 android/app/src/main/jni/CMakeLists.txt diff --git a/Gemfile b/Gemfile index 7922c9a5..1142b1b2 100644 --- a/Gemfile +++ b/Gemfile @@ -3,4 +3,4 @@ source 'https://rubygems.org' # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version ruby '>= 2.6.10' -gem 'cocoapods', '>= 1.11.2' +gem 'cocoapods', '>= 1.11.3' diff --git a/android/app/build.gradle b/android/app/build.gradle index 5f009d8d..ea8bd051 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -4,6 +4,7 @@ apply plugin: "com.google.firebase.firebase-perf" apply plugin: "io.sentry.android.gradle" import com.android.build.OutputFile +import org.apache.tools.ant.taskdefs.condition.Os /** * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets @@ -81,7 +82,7 @@ import com.android.build.OutputFile */ project.ext.react = [ - enableHermes: false, // clean and rebuild if changing + enableHermes: true, // clean and rebuild if changing ] apply from: "../../node_modules/react-native/react.gradle" @@ -148,22 +149,14 @@ android { buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() if (isNewArchitectureEnabled()) { - // We configure the NDK build only if you decide to opt-in for the New Architecture. + // We configure the CMake build only if you decide to opt-in for the New Architecture. externalNativeBuild { - ndkBuild { - arguments "APP_PLATFORM=android-21", - "APP_STL=c++_shared", - "NDK_TOOLCHAIN_VERSION=clang", - "GENERATED_SRC_DIR=$buildDir/generated/source", - "PROJECT_BUILD_DIR=$buildDir", - "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", - "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", - "NODE_MODULES_DIR=$rootDir/../node_modules" - cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" - cppFlags "-std=c++17" - // Make sure this target name is the same you specify inside the - // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. - targets "oice_appmodules" + cmake { + arguments "-DPROJECT_BUILD_DIR=$buildDir", + "-DREACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", + "-DREACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", + "-DNODE_MODULES_DIR=$rootDir/../node_modules", + "-DANDROID_STL=c++_shared" } } if (!enableSeparateBuildPerCPUArchitecture) { @@ -177,8 +170,8 @@ android { if (isNewArchitectureEnabled()) { // We configure the NDK build only if you decide to opt-in for the New Architecture. externalNativeBuild { - ndkBuild { - path "$projectDir/src/main/jni/Android.mk" + cmake { + path "$projectDir/src/main/jni/CMakeLists.txt" } } def reactAndroidProjectDir = project(':ReactAndroid').projectDir @@ -200,15 +193,15 @@ android { preReleaseBuild.dependsOn(packageReactNdkReleaseLibs) // Due to a bug inside AGP, we have to explicitly set a dependency - // between configureNdkBuild* tasks and the preBuild tasks. + // between configureCMakeDebug* tasks and the preBuild tasks. // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732 - configureNdkBuildRelease.dependsOn(preReleaseBuild) - configureNdkBuildDebug.dependsOn(preDebugBuild) + configureCMakeRelWithDebInfo.dependsOn(preReleaseBuild) + configureCMakeDebug.dependsOn(preDebugBuild) reactNativeArchitectures().each { architecture -> - tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure { + tasks.findByName("configureCMakeDebug[${architecture}]")?.configure { dependsOn("preDebugBuild") } - tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure { + tasks.findByName("configureCMakeRelWithDebInfo[${architecture}]")?.configure { dependsOn("preReleaseBuild") } } diff --git a/android/app/src/main/jni/Android.mk b/android/app/src/main/jni/Android.mk deleted file mode 100644 index 86dbb9f8..00000000 --- a/android/app/src/main/jni/Android.mk +++ /dev/null @@ -1,48 +0,0 @@ -THIS_DIR := $(call my-dir) - -include $(REACT_ANDROID_DIR)/Android-prebuilt.mk - -# If you wish to add a custom TurboModule or Fabric component in your app you -# will have to include the following autogenerated makefile. -# include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk -include $(CLEAR_VARS) - -LOCAL_PATH := $(THIS_DIR) - -# You can customize the name of your application .so file here. -LOCAL_MODULE := oice_appmodules - -LOCAL_C_INCLUDES := $(LOCAL_PATH) -LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) - -# If you wish to add a custom TurboModule or Fabric component in your app you -# will have to uncomment those lines to include the generated source -# files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni) -# -# LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni -# LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp) -# LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni - -# Here you should add any native library you wish to depend on. -LOCAL_SHARED_LIBRARIES := \ - libfabricjni \ - libfbjni \ - libfolly_runtime \ - libglog \ - libjsi \ - libreact_codegen_rncore \ - libreact_debug \ - libreact_nativemodule_core \ - libreact_render_componentregistry \ - libreact_render_core \ - libreact_render_debug \ - libreact_render_graphics \ - librrc_view \ - libruntimeexecutor \ - libturbomodulejsijni \ - libyoga - -LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall - -include $(BUILD_SHARED_LIBRARY) diff --git a/android/app/src/main/jni/CMakeLists.txt b/android/app/src/main/jni/CMakeLists.txt new file mode 100644 index 00000000..9f7cab4a --- /dev/null +++ b/android/app/src/main/jni/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.13) + +# Define the library name here. +project(oice_appmodules) + +# This file includes all the necessary to let you build your application with the New Architecture. +include(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake) diff --git a/android/app/src/main/jni/MainApplicationModuleProvider.cpp b/android/app/src/main/jni/MainApplicationModuleProvider.cpp index 0ac23cc6..26162dd8 100644 --- a/android/app/src/main/jni/MainApplicationModuleProvider.cpp +++ b/android/app/src/main/jni/MainApplicationModuleProvider.cpp @@ -1,12 +1,13 @@ #include "MainApplicationModuleProvider.h" +#include #include namespace facebook { namespace react { std::shared_ptr MainApplicationModuleProvider( - const std::string moduleName, + const std::string &moduleName, const JavaTurboModule::InitParams ¶ms) { // Here you can provide your own module provider for TurboModules coming from // either your application or from external libraries. The approach to follow @@ -17,6 +18,13 @@ std::shared_ptr MainApplicationModuleProvider( // return module; // } // return rncore_ModuleProvider(moduleName, params); + + // Module providers autolinked by RN CLI + auto rncli_module = rncli_ModuleProvider(moduleName, params); + if (rncli_module != nullptr) { + return rncli_module; + } + return rncore_ModuleProvider(moduleName, params); } diff --git a/android/app/src/main/jni/MainApplicationModuleProvider.h b/android/app/src/main/jni/MainApplicationModuleProvider.h index 0fa43fa6..b38ccf53 100644 --- a/android/app/src/main/jni/MainApplicationModuleProvider.h +++ b/android/app/src/main/jni/MainApplicationModuleProvider.h @@ -9,7 +9,7 @@ namespace facebook { namespace react { std::shared_ptr MainApplicationModuleProvider( - const std::string moduleName, + const std::string &moduleName, const JavaTurboModule::InitParams ¶ms); } // namespace react diff --git a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp index dbbdc3d1..5fd688c5 100644 --- a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +++ b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp @@ -22,21 +22,21 @@ void MainApplicationTurboModuleManagerDelegate::registerNatives() { std::shared_ptr MainApplicationTurboModuleManagerDelegate::getTurboModule( - const std::string name, - const std::shared_ptr jsInvoker) { + const std::string &name, + const std::shared_ptr &jsInvoker) { // Not implemented yet: provide pure-C++ NativeModules here. return nullptr; } std::shared_ptr MainApplicationTurboModuleManagerDelegate::getTurboModule( - const std::string name, + const std::string &name, const JavaTurboModule::InitParams ¶ms) { return MainApplicationModuleProvider(name, params); } bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule( - std::string name) { + const std::string &name) { return getTurboModule(name, nullptr) != nullptr || getTurboModule(name, {.moduleName = name}) != nullptr; } diff --git a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h index 1392d325..85fe8168 100644 --- a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +++ b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h @@ -21,17 +21,17 @@ class MainApplicationTurboModuleManagerDelegate static void registerNatives(); std::shared_ptr getTurboModule( - const std::string name, - const std::shared_ptr jsInvoker) override; + const std::string &name, + const std::shared_ptr &jsInvoker) override; std::shared_ptr getTurboModule( - const std::string name, + const std::string &name, const JavaTurboModule::InitParams ¶ms) override; /** * Test-only method. Allows user to verify whether a TurboModule can be * created by instances of this class. */ - bool canCreateTurboModule(std::string name); + bool canCreateTurboModule(const std::string &name); }; } // namespace react diff --git a/android/app/src/main/jni/MainComponentsRegistry.cpp b/android/app/src/main/jni/MainComponentsRegistry.cpp index 8f7edffd..54f598a4 100644 --- a/android/app/src/main/jni/MainComponentsRegistry.cpp +++ b/android/app/src/main/jni/MainComponentsRegistry.cpp @@ -4,6 +4,7 @@ #include #include #include +#include namespace facebook { namespace react { @@ -14,6 +15,9 @@ std::shared_ptr MainComponentsRegistry::sharedProviderRegistry() { auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); + // Autolinked providers registered by RN CLI + rncli_registerProviders(providerRegistry); + // Custom Fabric Components go here. You can register custom // components coming from your App or from 3rd party libraries here. // diff --git a/android/build.gradle b/android/build.gradle index e0af15f4..a54c843a 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,4 +1,3 @@ -import org.apache.tools.ant.taskdefs.condition.Os // Top-level build file where you can add configuration options common to all sub-projects/modules. diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..41d9927a4d4fb3f96a785543079b8df6723c946b 100644 GIT binary patch delta 8958 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 diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index 2a7c0540..ae652ed4 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -327,12 +327,14 @@ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -792,7 +794,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -861,7 +863,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -896,7 +898,6 @@ buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; @@ -925,7 +926,6 @@ buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; diff --git a/ios/Podfile b/ios/Podfile index 02ea062a..7290d897 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -4,8 +4,6 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ platform :ios, '12.4' install! 'cocoapods', :deterministic_uuids => false -production = ENV["PRODUCTION"] == "1" - target 'LikeCoinApp' do config = use_native_modules! @@ -14,10 +12,15 @@ target 'LikeCoinApp' do use_react_native!( :path => config[:reactNativePath], - # to enable hermes on iOS, change `false` to `true` and then install pods - :production => production, - :hermes_enabled => flags[:hermes_enabled], + # Hermes is now enabled by default. Disable by setting this flag to false. + # Upcoming versions of React Native may rely on get_default_flags(), but + # we make it explicit here to aid in the React Native upgrade process. + :hermes_enabled => true, :fabric_enabled => flags[:fabric_enabled], + # Enables Flipper. + # + # Note that if you have use_frameworks! enabled, Flipper will not work and + # you should disable the next line. :flipper_configuration => FlipperConfiguration.enabled, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." @@ -29,7 +32,12 @@ target 'LikeCoinApp' do end post_install do |installer| - react_native_post_install(installer) + react_native_post_install( + installer, + # Set `mac_catalyst_enabled` to `true` in order to apply patches + # necessary for Mac Catalyst builds + :mac_catalyst_enabled => false + ) __apply_Xcode_12_5_M1_post_install_workaround(installer) installer.pods_project.targets.each do |target| target.build_configurations.each do |config| diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 34a9d86b..9f160561 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -5,14 +5,14 @@ PODS: - React - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.69.12) - - FBReactNativeSpec (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.12) - - RCTTypeSafety (= 0.69.12) - - React-Core (= 0.69.12) - - React-jsi (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) + - FBLazyVector (0.70.12) + - FBReactNativeSpec (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - RCTRequired (= 0.70.12) + - RCTTypeSafety (= 0.70.12) + - React-Core (= 0.70.12) + - React-jsi (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) - Firebase/Analytics (7.11.0): - Firebase/Core - Firebase/Core (7.11.0): @@ -191,6 +191,7 @@ PODS: - GoogleUtilities/Logger - GoogleUtilities/UserDefaults (7.3.1): - GoogleUtilities/Logger + - hermes-engine (0.70.12) - libevent (2.1.12) - libwebp (1.2.0): - libwebp/demux (= 1.2.0) @@ -209,214 +210,231 @@ PODS: - OpenSSL-Universal (1.1.1100) - PromisesObjC (1.2.12) - Protobuf (3.14.0) - - RCT-Folly (2021.06.28.00-v2): + - RCT-Folly (2021.07.22.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Default (= 2021.06.28.00-v2) - - RCT-Folly/Default (2021.06.28.00-v2): + - RCT-Folly/Default (= 2021.07.22.00) + - RCT-Folly/Default (2021.07.22.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCTRequired (0.69.12) - - RCTTypeSafety (0.69.12): - - FBLazyVector (= 0.69.12) - - RCTRequired (= 0.69.12) - - React-Core (= 0.69.12) - - React (0.69.12): - - React-Core (= 0.69.12) - - React-Core/DevSupport (= 0.69.12) - - React-Core/RCTWebSocket (= 0.69.12) - - React-RCTActionSheet (= 0.69.12) - - React-RCTAnimation (= 0.69.12) - - React-RCTBlob (= 0.69.12) - - React-RCTImage (= 0.69.12) - - React-RCTLinking (= 0.69.12) - - React-RCTNetwork (= 0.69.12) - - React-RCTSettings (= 0.69.12) - - React-RCTText (= 0.69.12) - - React-RCTVibration (= 0.69.12) - - React-bridging (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi (= 0.69.12) - - React-callinvoker (0.69.12) - - React-Codegen (0.69.12): - - FBReactNativeSpec (= 0.69.12) - - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.12) - - RCTTypeSafety (= 0.69.12) - - React-Core (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-Core (0.69.12): + - RCT-Folly/Futures (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.69.12) - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - libevent + - RCTRequired (0.70.12) + - RCTTypeSafety (0.70.12): + - FBLazyVector (= 0.70.12) + - RCTRequired (= 0.70.12) + - React-Core (= 0.70.12) + - React (0.70.12): + - React-Core (= 0.70.12) + - React-Core/DevSupport (= 0.70.12) + - React-Core/RCTWebSocket (= 0.70.12) + - React-RCTActionSheet (= 0.70.12) + - React-RCTAnimation (= 0.70.12) + - React-RCTBlob (= 0.70.12) + - React-RCTImage (= 0.70.12) + - React-RCTLinking (= 0.70.12) + - React-RCTNetwork (= 0.70.12) + - React-RCTSettings (= 0.70.12) + - React-RCTText (= 0.70.12) + - React-RCTVibration (= 0.70.12) + - React-bridging (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - React-jsi (= 0.70.12) + - React-callinvoker (0.70.12) + - React-Codegen (0.70.12): + - FBReactNativeSpec (= 0.70.12) + - RCT-Folly (= 2021.07.22.00) + - RCTRequired (= 0.70.12) + - RCTTypeSafety (= 0.70.12) + - React-Core (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-Core (0.70.12): + - glog + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.70.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/CoreModulesHeaders (0.69.12): + - React-Core/CoreModulesHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/Default (0.69.12): + - React-Core/Default (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - RCT-Folly (= 2021.07.22.00) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/DevSupport (0.69.12): + - React-Core/DevSupport (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.69.12) - - React-Core/RCTWebSocket (= 0.69.12) - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-jsinspector (= 0.69.12) - - React-perflogger (= 0.69.12) + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.70.12) + - React-Core/RCTWebSocket (= 0.70.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-jsinspector (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTActionSheetHeaders (0.69.12): + - React-Core/RCTActionSheetHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTAnimationHeaders (0.69.12): + - React-Core/RCTAnimationHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTBlobHeaders (0.69.12): + - React-Core/RCTBlobHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTImageHeaders (0.69.12): + - React-Core/RCTImageHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTLinkingHeaders (0.69.12): + - React-Core/RCTLinkingHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTNetworkHeaders (0.69.12): + - React-Core/RCTNetworkHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTSettingsHeaders (0.69.12): + - React-Core/RCTSettingsHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTTextHeaders (0.69.12): + - React-Core/RCTTextHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTVibrationHeaders (0.69.12): + - React-Core/RCTVibrationHeaders (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-Core/RCTWebSocket (0.69.12): + - React-Core/RCTWebSocket (0.70.12): - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.69.12) - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsiexecutor (= 0.69.12) - - React-perflogger (= 0.69.12) + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.70.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-perflogger (= 0.70.12) - Yoga - - React-CoreModules (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.12) - - React-Codegen (= 0.69.12) - - React-Core/CoreModulesHeaders (= 0.69.12) - - React-jsi (= 0.69.12) - - React-RCTImage (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-cxxreact (0.69.12): + - React-CoreModules (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.70.12) + - React-Codegen (= 0.70.12) + - React-Core/CoreModulesHeaders (= 0.70.12) + - React-jsi (= 0.70.12) + - React-RCTImage (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-cxxreact (0.70.12): - boost (= 1.76.0) - DoubleConversion - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.69.12) - - React-jsi (= 0.69.12) - - React-jsinspector (= 0.69.12) - - React-logger (= 0.69.12) - - React-perflogger (= 0.69.12) - - React-runtimeexecutor (= 0.69.12) - - React-jsi (0.69.12): + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsinspector (= 0.70.12) + - React-logger (= 0.70.12) + - React-perflogger (= 0.70.12) + - React-runtimeexecutor (= 0.70.12) + - React-hermes (0.70.12): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - RCT-Folly/Futures (= 2021.07.22.00) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-jsiexecutor (= 0.70.12) + - React-jsinspector (= 0.70.12) + - React-perflogger (= 0.70.12) + - React-jsi (0.70.12): - boost (= 1.76.0) - DoubleConversion - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 0.69.12) - - React-jsi/Default (0.69.12): + - RCT-Folly (= 2021.07.22.00) + - React-jsi/Default (= 0.70.12) + - React-jsi/Default (0.70.12): - boost (= 1.76.0) - DoubleConversion - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (0.69.12): + - RCT-Folly (= 2021.07.22.00) + - React-jsiexecutor (0.70.12): - DoubleConversion - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-perflogger (= 0.69.12) - - React-jsinspector (0.69.12) - - React-logger (0.69.12): + - RCT-Folly (= 2021.07.22.00) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-perflogger (= 0.70.12) + - React-jsinspector (0.70.12) + - React-logger (0.70.12): - glog - react-native-authcore (1.0.0): - React @@ -453,72 +471,72 @@ PODS: - React - react-native-webview (11.26.1): - React-Core - - React-perflogger (0.69.12) - - React-RCTActionSheet (0.69.12): - - React-Core/RCTActionSheetHeaders (= 0.69.12) - - React-RCTAnimation (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.12) - - React-Codegen (= 0.69.12) - - React-Core/RCTAnimationHeaders (= 0.69.12) - - React-jsi (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-RCTBlob (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - React-Codegen (= 0.69.12) - - React-Core/RCTBlobHeaders (= 0.69.12) - - React-Core/RCTWebSocket (= 0.69.12) - - React-jsi (= 0.69.12) - - React-RCTNetwork (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-RCTImage (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.12) - - React-Codegen (= 0.69.12) - - React-Core/RCTImageHeaders (= 0.69.12) - - React-jsi (= 0.69.12) - - React-RCTNetwork (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-RCTLinking (0.69.12): - - React-Codegen (= 0.69.12) - - React-Core/RCTLinkingHeaders (= 0.69.12) - - React-jsi (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-RCTNetwork (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.12) - - React-Codegen (= 0.69.12) - - React-Core/RCTNetworkHeaders (= 0.69.12) - - React-jsi (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-RCTSettings (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.12) - - React-Codegen (= 0.69.12) - - React-Core/RCTSettingsHeaders (= 0.69.12) - - React-jsi (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-RCTText (0.69.12): - - React-Core/RCTTextHeaders (= 0.69.12) - - React-RCTVibration (0.69.12): - - RCT-Folly (= 2021.06.28.00-v2) - - React-Codegen (= 0.69.12) - - React-Core/RCTVibrationHeaders (= 0.69.12) - - React-jsi (= 0.69.12) - - ReactCommon/turbomodule/core (= 0.69.12) - - React-runtimeexecutor (0.69.12): - - React-jsi (= 0.69.12) - - ReactCommon/turbomodule/core (0.69.12): + - React-perflogger (0.70.12) + - React-RCTActionSheet (0.70.12): + - React-Core/RCTActionSheetHeaders (= 0.70.12) + - React-RCTAnimation (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.70.12) + - React-Codegen (= 0.70.12) + - React-Core/RCTAnimationHeaders (= 0.70.12) + - React-jsi (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-RCTBlob (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - React-Codegen (= 0.70.12) + - React-Core/RCTBlobHeaders (= 0.70.12) + - React-Core/RCTWebSocket (= 0.70.12) + - React-jsi (= 0.70.12) + - React-RCTNetwork (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-RCTImage (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.70.12) + - React-Codegen (= 0.70.12) + - React-Core/RCTImageHeaders (= 0.70.12) + - React-jsi (= 0.70.12) + - React-RCTNetwork (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-RCTLinking (0.70.12): + - React-Codegen (= 0.70.12) + - React-Core/RCTLinkingHeaders (= 0.70.12) + - React-jsi (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-RCTNetwork (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.70.12) + - React-Codegen (= 0.70.12) + - React-Core/RCTNetworkHeaders (= 0.70.12) + - React-jsi (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-RCTSettings (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.70.12) + - React-Codegen (= 0.70.12) + - React-Core/RCTSettingsHeaders (= 0.70.12) + - React-jsi (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-RCTText (0.70.12): + - React-Core/RCTTextHeaders (= 0.70.12) + - React-RCTVibration (0.70.12): + - RCT-Folly (= 2021.07.22.00) + - React-Codegen (= 0.70.12) + - React-Core/RCTVibrationHeaders (= 0.70.12) + - React-jsi (= 0.70.12) + - ReactCommon/turbomodule/core (= 0.70.12) + - React-runtimeexecutor (0.70.12): + - React-jsi (= 0.70.12) + - ReactCommon/turbomodule/core (0.70.12): - DoubleConversion - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-bridging (= 0.69.12) - - React-callinvoker (= 0.69.12) - - React-Core (= 0.69.12) - - React-cxxreact (= 0.69.12) - - React-jsi (= 0.69.12) - - React-logger (= 0.69.12) - - React-perflogger (= 0.69.12) + - RCT-Folly (= 2021.07.22.00) + - React-bridging (= 0.70.12) + - React-callinvoker (= 0.70.12) + - React-Core (= 0.70.12) + - React-cxxreact (= 0.70.12) + - React-jsi (= 0.70.12) + - React-logger (= 0.70.12) + - React-perflogger (= 0.70.12) - ReactNativeShareExtension (2.0.0): - React - RNCAsyncStorage (1.19.0): @@ -644,6 +662,8 @@ DEPENDENCIES: - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) + - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) @@ -657,6 +677,7 @@ DEPENDENCIES: - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) @@ -761,6 +782,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -781,6 +804,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: @@ -887,9 +912,9 @@ SPEC CHECKSUMS: BranchSDK: ce28650272c658fcdb66675769e670ef83845d17 BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 - FBLazyVector: 6fab494fa11340bd4206edaebed07279a6bafad4 - FBReactNativeSpec: 76d7b03876b0ad0b86bc5c84d23af8e64db8e096 + DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 + FBLazyVector: ad10768c7e516954e6f26b7e923eb27cda4f9895 + FBReactNativeSpec: e957ece605f33719f85d08ebb85bc862e968098b Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseABTesting: e66f1f80747792630d9b292966de206d5df9853b FirebaseAnalytics: cd3bd84d722a24a8923918af8af8e5236f615d77 @@ -910,30 +935,32 @@ SPEC CHECKSUMS: Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 5337263514dd6f09803962437687240c5dc39aa4 + glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b GoogleAppMeasurement: fd19169c3034975cb934e865e5667bfdce59df7f GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: e1d9ed4e544fc32a93e00e721400cbc3f377200d + hermes-engine: 9ae9c0a1ad0ca69b7e3abc1533b6beb01a3ba4ef libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libwebp: e90b9c01d99205d03b6bb8f2c8c415e5a4ef66f0 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 Protobuf: 0cde852566359049847168e51bd1c690e0f70056 - RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 - RCTRequired: b9e53f0512019150020156fa0dacd6583ab838be - RCTTypeSafety: 04b72202bef8302802610dee70bb9407a245b64c - React: 59288a7ca8104eb8002f01378606fe42eeabf4b5 - React-bridging: b042b8c217f04e568409786de5f221793be49c31 - React-callinvoker: c7b83d582112e2d5a049dc46abf4c64d871b5c45 - React-Codegen: 5747238d0446e3ab1deb967e749a2bfde6a5c866 - React-Core: d8e1250039d47112513757038d9d9f9b638565c6 - React-CoreModules: 63cceb0040ec2b43a258113193be91f934b37f1b - React-cxxreact: 429404aac55d8bffca77328002452fc7fa8b29e8 - React-jsi: a8f60feb519ac00085eb9a39d20eaa65c96b51ea - React-jsiexecutor: ce0b9aa647bdf94126eb2ee1f235d329eb8c0aec - React-jsinspector: f275698149311abc8c32ebb97797d6b97c44adde - React-logger: da69d7f1c9501c78cd60776d52a60d7fa5e4d9c2 + RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda + RCTRequired: 1ec311d9574032834439a18d3bffcaa3b55109a7 + RCTTypeSafety: 711ee78f0aedbc3cd2870c4a838b1e332470d1fd + React: 04bbca489deec39a10ff9b671fdfc28f390b18d4 + React-bridging: 9873291a42e92403d6819498b9eda22ab8f1330d + React-callinvoker: a24dfff19ecf1c7afe283c21783f9266a05452a1 + React-Codegen: 9c8c438b22697f336d4b07018beda7b29fe20059 + React-Core: e6d02d5186afb4c53fe9a72f46b19bee06289007 + React-CoreModules: 9a183975c84272bde87e949a66192857efa82c68 + React-cxxreact: 6993f3ad248e69f03a0a4b55cf94d3e3d7457c29 + React-hermes: 077da24641ea4b63a137e0d2ba98e67f48f5eb7a + React-jsi: da00dbc79cbb1a9d45a7a0f957a89601b5c75e14 + React-jsiexecutor: 8ab6379cd3abec21019c9fed3c506750f905bb3c + React-jsinspector: ffb090a5d57aab834dee2791b1867a17bf37f26f + React-logger: 00be0dc9dacb7b23f3ab4d78aadccb4b72f24b31 react-native-authcore: cca08325158d4979caff295a8cd064733b78264f react-native-branch: f50f269fa6d2e1b8025c7fc8ebfe4872678abe53 react-native-camera: 21cf4ed26cf432ceb1fae959aa6924943fd6f714 @@ -946,18 +973,18 @@ SPEC CHECKSUMS: react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457 react-native-tracking-transparency: 25ff1ff866e338c137c818bdec20526bb05ffcc1 react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1 - React-perflogger: 5ade0a1627352f1647d283e78331819bb46cceae - React-RCTActionSheet: 8e94f1e46e09c7035b81fe56c0ed8d78f3ccd340 - React-RCTAnimation: bf2af72f03cf16528db9a830be69fa04b341a1b7 - React-RCTBlob: 4d076b8bb55e631ad1280280ecba674fb1e46d16 - React-RCTImage: 073dcc1689466851fe120c7f8a3cfe3db0196c9f - React-RCTLinking: 8872818dc894a17bf17cb4b120f76917bf2e9f0a - React-RCTNetwork: 1e9c873f4a210784a4fb752194cb595502112464 - React-RCTSettings: 1475a717c54f4a9ed627dffffad2470c4b15a419 - React-RCTText: ed34088172126f84130eea859d62fedca0dd7975 - React-RCTVibration: c9cd9f21bbcb3b9c6deedbb66f13e373f57dd795 - React-runtimeexecutor: ea78653fbc68bd6f2d3f5e7e311bc5a9dc8bfeca - ReactCommon: f4bb9e5209ea5c3c6ab25e100895119e58d6e50a + React-perflogger: c0b9c0ab8cbaf732694cd776645b3161d128784d + React-RCTActionSheet: c2b26d0be4e6e48ed6b4666345da16c8f7933b7b + React-RCTAnimation: cc36ff278cd41365c98eeec3c8d1fa86e2fc2392 + React-RCTBlob: 648b946caa1daaf4f7fef1c2e6ed64d8b658598c + React-RCTImage: 9e57ebc138ac6df26d5382a3de644a80b74806e9 + React-RCTLinking: 0f23d86615eb7782cd59703ff476be9f278ada00 + React-RCTNetwork: bedf8874619b6b21b30085eb6562be280c481a1b + React-RCTSettings: 969e0d42aca4b4965fad006fc835d67b30be03a8 + React-RCTText: bfff536e94ff407cf53470f271ba50976768fa50 + React-RCTVibration: 89e72d020ee2848022ee214f0542facafe91110a + React-runtimeexecutor: 6bedb63b3de0c5c3bb3cc44595431e2a91c24da2 + ReactCommon: 2642dd48fe3def7738d85f747c05fdd8c3a47950 ReactNativeShareExtension: 589ed96a7823b475e630d7987a0958bff9804ee6 RNCAsyncStorage: 4b98ac3c64efa4e35c1197cb0c5ca5e9f5d4c666 RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 @@ -975,7 +1002,7 @@ SPEC CHECKSUMS: RNKeychain: c658833a9cb2cbcba6423bdd6e16cce59e27da0e RNLocalize: 62a949d2ec5bee0eb8f39a80a48f01e2f4f67080 RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a - RNReanimated: c6f8f70e96dd6ca21b65aef9b3e4efe4965db905 + RNReanimated: bec7736122a268883bdede07f1bf9cf4b40158db RNScreens: 50ffe2fa2342eabb2d0afbe19f7c1af286bc7fb3 RNSentry: 9f0447b3ce13806f544903748de423259ead8552 RNSVG: 80584470ff1ffc7994923ea135a3e5ad825546b9 @@ -984,9 +1011,9 @@ SPEC CHECKSUMS: Sentry: c7a86f43510a7d5678d4de28d78c28ab351d295b SentryPrivate: 2eaabf598a46d4b9b8822aef766df2a84caf2e6f SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: 8a90b50af67eaa9fe94fd03e550bfeab06096873 + Yoga: bb774af243598f7f860127c6e9ac7b62fb6519c4 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: d9b2a461088f22814944d0aada45a2219af51f50 +PODFILE CHECKSUM: 6cb58b0b2dd9e6800ef90d02d05bd7cb16c1d383 COCOAPODS: 1.12.1 diff --git a/package.json b/package.json index 33f9e486..c933bc82 100644 --- a/package.json +++ b/package.json @@ -61,9 +61,9 @@ "postinstall-postinstall": "^2.1.0", "process": "^0.11.10", "ramda": "0.29.0", - "react": "18.0.0", + "react": "18.1.0", "react-content-loader": "^4.3.4", - "react-native": "^0.69.0", + "react-native": "0.70.12", "react-native-actions-sheet": "^0.4.8", "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#ffa57a75cbdc4db463ef4d7ad45641b6c234b7e9", "react-native-branch": "^5.8.0", @@ -144,7 +144,7 @@ "ignite-bowser": "^4.6.2", "jest": "^24.9.0", "jetifier": "^1.6.1", - "metro-react-native-babel-preset": "^0.70.3", + "metro-react-native-babel-preset": "0.72.4", "npm-run-all": "4.1.5", "patch-package": "^7.0.0", "postinstall-prepare": "1.0.1", @@ -153,7 +153,7 @@ "react-native-dotenv": "^0.2.0", "react-native-svg-transformer": "^0.13.0", "react-powerplug": "1.0.0", - "react-test-renderer": "18.0.0", + "react-test-renderer": "18.1.0", "rimraf": "2.6.3", "solidarity": "2.3.1", "typescript": "3.9.10" diff --git a/yarn.lock b/yarn.lock index 13d7ad69..cc8449d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3168,42 +3168,42 @@ dependencies: merge-options "^3.0.4" -"@react-native-community/cli-clean@^8.0.4": - version "8.0.4" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-8.0.4.tgz#97e16a20e207b95de12e29b03816e8f2b2c80cc7" - integrity sha512-IwS1M1NHg6+qL8PThZYMSIMYbZ6Zbx+lIck9PLBskbosFo24M3lCOflOl++Bggjakp6mR+sRXxLMexid/GeOsQ== +"@react-native-community/cli-clean@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-9.2.1.tgz#198c5dd39c432efb5374582073065ff75d67d018" + integrity sha512-dyNWFrqRe31UEvNO+OFWmQ4hmqA07bR9Ief/6NnGwx67IO9q83D5PEAf/o96ML6jhSbDwCmpPKhPwwBbsyM3mQ== dependencies: - "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" execa "^1.0.0" prompts "^2.4.0" -"@react-native-community/cli-config@^8.0.6": - version "8.0.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-8.0.6.tgz#041eee7dd8fdef595bf7a3f24228c173bf294a44" - integrity sha512-mjVpVvdh8AviiO8xtqeX+BkjqE//NMDnISwsLWSJUfNCwTAPmdR8PGbhgP5O4hWHyJ3WkepTopl0ya7Tfi3ifw== +"@react-native-community/cli-config@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-9.2.1.tgz#54eb026d53621ccf3a9df8b189ac24f6e56b8750" + integrity sha512-gHJlBBXUgDN9vrr3aWkRqnYrPXZLztBDQoY97Mm5Yo6MidsEpYo2JIP6FH4N/N2p1TdjxJL4EFtdd/mBpiR2MQ== dependencies: - "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-tools" "^9.2.1" cosmiconfig "^5.1.0" deepmerge "^3.2.0" glob "^7.1.3" joi "^17.2.1" -"@react-native-community/cli-debugger-ui@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-8.0.0.tgz#98263dc525e65015e2d6392c940114028f87e8e9" - integrity sha512-u2jq06GZwZ9sRERzd9FIgpW6yv4YOW4zz7Ym/B8eSzviLmy3yI/8mxJtvlGW+J8lBsfMcQoqJpqI6Rl1nZy9yQ== +"@react-native-community/cli-debugger-ui@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-9.0.0.tgz#ea5c5dad6008bccd840d858e160d42bb2ced8793" + integrity sha512-7hH05ZwU9Tp0yS6xJW0bqcZPVt0YCK7gwj7gnRu1jDNN2kughf6Lg0Ys29rAvtZ7VO1PK5c1O+zs7yFnylQDUA== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-doctor@^8.0.6": - version "8.0.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-8.0.6.tgz#954250155ab2f3a66a54821e071bc4a631d2dfff" - integrity sha512-ZQqyT9mJMVeFEVIwj8rbDYGCA2xXjJfsQjWk2iTRZ1CFHfhPSUuUiG8r6mJmTinAP9t+wYcbbIYzNgdSUKnDMw== +"@react-native-community/cli-doctor@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-9.3.0.tgz#8817a3fd564453467def5b5bc8aecdc4205eff50" + integrity sha512-/fiuG2eDGC2/OrXMOWI5ifq4X1gdYTQhvW2m0TT5Lk1LuFiZsbTCp1lR+XILKekuTvmYNjEGdVpeDpdIWlXdEA== dependencies: - "@react-native-community/cli-config" "^8.0.6" - "@react-native-community/cli-platform-ios" "^8.0.6" - "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-config" "^9.2.1" + "@react-native-community/cli-platform-ios" "^9.3.0" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" command-exists "^1.2.8" envinfo "^7.7.2" @@ -3218,69 +3218,64 @@ sudo-prompt "^9.0.0" wcwidth "^1.0.1" -"@react-native-community/cli-hermes@^8.0.5": - version "8.0.5" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-8.0.5.tgz#639edc6b0ce73f705e4b737e3de1cc47d42516ff" - integrity sha512-Zm0wM6SfgYAEX1kfJ1QBvTayabvh79GzmjHyuSnEROVNPbl4PeCG4WFbwy489tGwOP9Qx9fMT5tRIFCD8bp6/g== +"@react-native-community/cli-hermes@^9.3.1": + version "9.3.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-9.3.1.tgz#569d27c1effd684ba451ad4614e29a99228cec49" + integrity sha512-Mq4PK8m5YqIdaVq5IdRfp4qK09aVO+aiCtd6vjzjNUgk1+1X5cgUqV6L65h4N+TFJYJHcp2AnB+ik1FAYXvYPQ== dependencies: - "@react-native-community/cli-platform-android" "^8.0.5" - "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-platform-android" "^9.3.1" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@^8.0.5": - version "8.0.5" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-8.0.5.tgz#da11d2678adeca98e83494d68de80e50571b4af4" - integrity sha512-z1YNE4T1lG5o9acoQR1GBvf7mq6Tzayqo/za5sHVSOJAC9SZOuVN/gg/nkBa9a8n5U7qOMFXfwhTMNqA474gXA== +"@react-native-community/cli-platform-android@9.3.1", "@react-native-community/cli-platform-android@^9.3.1": + version "9.3.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-9.3.1.tgz#378cd72249653cc74672094400657139f21bafb8" + integrity sha512-m0bQ6Twewl7OEZoVf79I2GZmsDqh+Gh0bxfxWgwxobsKDxLx8/RNItAo1lVtTCgzuCR75cX4EEO8idIF9jYhew== dependencies: - "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" execa "^1.0.0" fs-extra "^8.1.0" glob "^7.1.3" - jetifier "^1.6.2" - lodash "^4.17.15" logkitty "^0.7.1" slash "^3.0.0" -"@react-native-community/cli-platform-ios@^8.0.6": - version "8.0.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-8.0.6.tgz#ab80cd4eb3014b8fcfc9bd1b53ec0a9f8e5d1430" - integrity sha512-CMR6mu/LVx6JVfQRDL9uULsMirJT633bODn+IrYmrwSz250pnhON16We8eLPzxOZHyDjm7JPuSgHG3a/BPiRuQ== +"@react-native-community/cli-platform-ios@9.3.0", "@react-native-community/cli-platform-ios@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz#45abde2a395fddd7cf71e8b746c1dc1ee2260f9a" + integrity sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw== dependencies: - "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" execa "^1.0.0" glob "^7.1.3" - js-yaml "^3.13.1" - lodash "^4.17.15" ora "^5.4.1" - plist "^3.0.2" -"@react-native-community/cli-plugin-metro@^8.0.7": - version "8.0.7" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-8.0.7.tgz#ece95b62cd529bcdf916e8633909a6d7778c1a3a" - integrity sha512-RK08Fqh//+9nDntCeKBq2LskWp4rD64q56/PxboZZBu5Z8KANJ4OBUzBLxm0rD0h+l9j6AASlO907HooBTWxrA== +"@react-native-community/cli-plugin-metro@^9.3.3": + version "9.3.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-9.3.3.tgz#330d7b9476a3fdabdd5863f114fa962289e280dc" + integrity sha512-lPBw6XieNdj2AbWDN0Rc+jNOx8hBgSQyv0gUAm01qtJe4I9FjSMU6nOGTxMpWpICo6TYl/cmPGXOzbfpwxwtkQ== dependencies: - "@react-native-community/cli-server-api" "^8.0.4" - "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-server-api" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" - metro "^0.70.4" - metro-config "^0.70.4" - metro-core "^0.70.4" - metro-react-native-babel-transformer "^0.70.4" - metro-resolver "^0.70.4" - metro-runtime "^0.70.4" + metro "0.72.4" + metro-config "0.72.4" + metro-core "0.72.4" + metro-react-native-babel-transformer "0.72.4" + metro-resolver "0.72.4" + metro-runtime "0.72.4" readline "^1.3.0" -"@react-native-community/cli-server-api@^8.0.4": - version "8.0.4" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-8.0.4.tgz#d45d895a0a6e8b960c9d677188d414a996faa4d3" - integrity sha512-Orr14njx1E70CVrUA8bFdl+mrnbuXUjf1Rhhm0RxUadFpvkHuOi5dh8Bryj2MKtf8eZrpEwZ7tuQPhJEULW16A== +"@react-native-community/cli-server-api@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-9.2.1.tgz#41ac5916b21d324bccef447f75600c03b2f54fbe" + integrity sha512-EI+9MUxEbWBQhWw2PkhejXfkcRqPl+58+whlXJvKHiiUd7oVbewFs0uLW0yZffUutt4FGx6Uh88JWEgwOzAdkw== dependencies: - "@react-native-community/cli-debugger-ui" "^8.0.0" - "@react-native-community/cli-tools" "^8.0.4" + "@react-native-community/cli-debugger-ui" "^9.0.0" + "@react-native-community/cli-tools" "^9.2.1" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" @@ -3289,15 +3284,14 @@ serve-static "^1.13.1" ws "^7.5.1" -"@react-native-community/cli-tools@^8.0.4": - version "8.0.4" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-8.0.4.tgz#994b9d56c84472491c876b71acd4356773fcbe65" - integrity sha512-ePN9lGxh6LRFiotyddEkSmuqpQhnq2iw9oiXYr4EFWpIEy0yCigTuSTiDF68+c8M9B+7bTwkRpz/rMPC4ViO5Q== +"@react-native-community/cli-tools@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-9.2.1.tgz#c332324b1ea99f9efdc3643649bce968aa98191c" + integrity sha512-bHmL/wrKmBphz25eMtoJQgwwmeCylbPxqFJnFSbkqJPXQz3ManQ6q/gVVMqFyz7D3v+riaus/VXz3sEDa97uiQ== dependencies: appdirsjs "^1.2.4" chalk "^4.1.2" find-up "^5.0.0" - lodash "^4.17.15" mime "^2.4.1" node-fetch "^2.6.0" open "^6.2.0" @@ -3305,36 +3299,33 @@ semver "^6.3.0" shell-quote "^1.7.3" -"@react-native-community/cli-types@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-8.0.0.tgz#72d24178e5ed1c2d271da43e0a4a4f59178f261a" - integrity sha512-1lZS1PEvMlFaN3Se1ksyoFWzMjk+YfKi490GgsqKJln9gvFm8tqVPdnXttI5Uf2DQf3BMse8Bk8dNH4oV6Ewow== +"@react-native-community/cli-types@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-9.1.0.tgz#dcd6a0022f62790fe1f67417f4690db938746aab" + integrity sha512-KDybF9XHvafLEILsbiKwz5Iobd+gxRaPyn4zSaAerBxedug4er5VUWa8Szy+2GeYKZzMh/gsb1o9lCToUwdT/g== dependencies: joi "^17.2.1" -"@react-native-community/cli@^8.0.7": - version "8.0.7" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-8.0.7.tgz#0d28519d3b4e3557d0c30007716978e2c7f3d3b3" - integrity sha512-DCSf77c0RvTCvNLKxFwuGBMFFIRwDiZWLo6znM2oNCFRkN2gmSQsYm1twdAh5asuNmetEiPoHdGT289SMWSjSQ== - dependencies: - "@react-native-community/cli-clean" "^8.0.4" - "@react-native-community/cli-config" "^8.0.6" - "@react-native-community/cli-debugger-ui" "^8.0.0" - "@react-native-community/cli-doctor" "^8.0.6" - "@react-native-community/cli-hermes" "^8.0.5" - "@react-native-community/cli-plugin-metro" "^8.0.7" - "@react-native-community/cli-server-api" "^8.0.4" - "@react-native-community/cli-tools" "^8.0.4" - "@react-native-community/cli-types" "^8.0.0" +"@react-native-community/cli@9.3.3": + version "9.3.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-9.3.3.tgz#0ce587bacb845dd52a2c1b6ab4223498a703bcd3" + integrity sha512-A3jUUI8jhvMuanzVLbLfnaNuexJshl0XHotI/6mcJINAA6SH/w5x6YfqT6xkLwmyF4BWZskRWU1jLcPzK7DXsg== + dependencies: + "@react-native-community/cli-clean" "^9.2.1" + "@react-native-community/cli-config" "^9.2.1" + "@react-native-community/cli-debugger-ui" "^9.0.0" + "@react-native-community/cli-doctor" "^9.3.0" + "@react-native-community/cli-hermes" "^9.3.1" + "@react-native-community/cli-plugin-metro" "^9.3.3" + "@react-native-community/cli-server-api" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" + "@react-native-community/cli-types" "^9.1.0" chalk "^4.1.2" - commander "^2.19.0" + commander "^9.4.0" execa "^1.0.0" find-up "^4.1.0" fs-extra "^8.1.0" graceful-fs "^4.1.3" - leven "^3.1.0" - lodash "^4.17.15" - minimist "^1.2.0" prompts "^2.4.0" semver "^6.3.0" @@ -4158,13 +4149,6 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/graceful-fs@^4.1.2": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== - dependencies: - "@types/node" "*" - "@types/hammerjs@^2.0.36": version "2.0.39" resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.39.tgz#4be64bbacf3813c79c0dab895c6b0fdc7d5e513f" @@ -6319,7 +6303,7 @@ base64-js@^1.0.2, base64-js@^1.1.2: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== -base64-js@^1.3.0, base64-js@^1.3.1, base64-js@^1.5.1: +base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -7306,11 +7290,6 @@ command-exists@^1.2.8: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -commander@^2.19.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -7321,6 +7300,11 @@ commander@^4.0.1, commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^9.4.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -9592,7 +9576,7 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fsevents@^2.3.2: +fsevents@^2.1.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -10130,22 +10114,17 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hermes-engine@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.11.0.tgz#bb224730d230a02a5af02c4e090d1f52d57dd3db" - integrity sha512-7aMUlZja2IyLYAcZ69NBnwJAR5ZOYlSllj0oMpx08a8HzxHOys0eKCzfphrf6D0vX1JGO1QQvVsQKe6TkYherw== - -hermes-estree@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.6.0.tgz#e866fddae1b80aec65fe2ae450a5f2070ad54033" - integrity sha512-2YTGzJCkhdmT6VuNprWjXnvTvw/3iPNw804oc7yknvQpNKo+vJGZmtvLLCghOZf0OwzKaNAzeIMp71zQbNl09w== +hermes-estree@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.8.0.tgz#530be27243ca49f008381c1f3e8b18fb26bf9ec0" + integrity sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q== -hermes-parser@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.6.0.tgz#00d14e91bca830b3c1457050fa4187400cb96328" - integrity sha512-Vf58jBZca2+QBLR9h7B7mdg8oFz2g5ILz1iVouZ5DOrOrAfBmPfJjdjDT8jrO0f+iJ4/hSRrQHqHIjSnTaLUDQ== +hermes-parser@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.8.0.tgz#116dceaba32e45b16d6aefb5c4c830eaeba2d257" + integrity sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA== dependencies: - hermes-estree "0.6.0" + hermes-estree "0.8.0" hermes-profile-transformer@^0.0.6: version "0.0.6" @@ -11268,26 +11247,6 @@ jest-haste-map@^24.9.0: optionalDependencies: fsevents "^1.2.7" -jest-haste-map@^27.3.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - jest-jasmine2@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" @@ -11359,7 +11318,7 @@ jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== -jest-regex-util@^27.5.1: +jest-regex-util@^27.0.6: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== @@ -11443,7 +11402,7 @@ jest-serializer@^24.9.0: resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== -jest-serializer@^27.5.1: +jest-serializer@^27.0.6: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== @@ -11495,7 +11454,7 @@ jest-util@^24.9.0: slash "^2.0.0" source-map "^0.6.0" -jest-util@^27.5.1: +jest-util@^27.2.0: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== @@ -11560,7 +11519,7 @@ jest-worker@^25.4.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^27.2.0, jest-worker@^27.5.1: +jest-worker@^27.2.0: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== @@ -11577,7 +11536,7 @@ jest@^24.9.0: import-local "^2.0.0" jest-cli "^24.9.0" -jetifier@^1.6.1, jetifier@^1.6.2: +jetifier@^1.6.1: version "1.6.4" resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-1.6.4.tgz#6159db8e275d97980d26162897a0648b6d4a3222" integrity sha512-+f/4OLeqY8RAmXnonI1ffeY1DR8kMNJPhv5WMFehchf7U71cjMQVKkOz1n6asz6kfVoAqKNWJz1A/18i18AcXA== @@ -12417,76 +12376,95 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -metro-babel-transformer@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.70.4.tgz#3ff0007c7fc009d5b656a71003a1bbb0560f6b70" - integrity sha512-XUM2929qE2AR5iqNnMof80h5lDf6rEZWP9J47u2XQI41TZT5J3Ttk33OJ7/ysLhv7ZPYt/WLnjB8skf23UA+yw== +metro-babel-transformer@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.72.4.tgz#5149424896797980aa1758c8ef7c9a80f9d0f587" + integrity sha512-cg1TQUKDkKqrIClrqqIGE8ZDa9kRKSjhBtqPtNYt/ZSywXU41SrldfcI5uzPrzcIrYpH5hnN6OCLRACPgy2vsw== dependencies: "@babel/core" "^7.14.0" - hermes-parser "0.6.0" - metro-source-map "0.70.4" + hermes-parser "0.8.0" + metro-source-map "0.72.4" nullthrows "^1.1.1" -metro-cache-key@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.70.4.tgz#5d09ee6378cb5288db5a58bfc7273723c6b632c7" - integrity sha512-hZ5LMm54YCNmxxhKAnHdM9wGSji7bzyLWLSkJqY1u+yQjockQIEWR7uEFiBZ5up8K+eoiqmF5K8+VbrnZP8+Iw== +metro-cache-key@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.72.4.tgz#f03d49214554b25968f04dc5e19dfe018cf9312b" + integrity sha512-DH3cgN4L7IKNCVBy8LBOXQ4tHDdvh7Vl7jWNkQKMOfHWu1EwsTtXD/+zdV7/be4ls/kHxrD0HbGzpK8XhUAHSw== -metro-cache@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.70.4.tgz#d74d1a21c95f4abfb2bec9a0b44b345558df18a4" - integrity sha512-E78Psscwu3EHCwC+bGb9jXxFg8UL0zyWu5cjaBWrKa9NhIqiyCpUBrT0e9TfYxNdb7/OfMQUXW6oNm1HOZHPlg== +metro-cache@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.72.4.tgz#e0ffb33dd044a7cf5897a09489088a413bfe7468" + integrity sha512-76fi9OVytiFVSuGQcNoquVOT7AENd0q3n1WmyBeJ7jvl/UrE3/NN3HTWzu2ezG5IxF3cmo5q1ehi0NEpgwaFGg== dependencies: - metro-core "0.70.4" + metro-core "0.72.4" rimraf "^2.5.4" -metro-config@0.70.4, metro-config@^0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.70.4.tgz#64a747efca743f772ff662732fb90ff17447a4ce" - integrity sha512-9ellClttQyXF5O487OiFNGxM87PSzsx0m61B7vdXzdyXhCwHk1a8J/8zn5WmOa9/Ix2dJ04N32NzeKgMWVhwQw== +metro-config@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.72.4.tgz#3ad42b3ca0037125d5615f4cb7e1c7ed9442bedd" + integrity sha512-USv+H14D5RrSpfA5t4t5cbF1CnizgYGz6xJ3HB0r/bDYdJdZTVqB3/mMPft7Z5zHslS00JCG7oE51G1CK/FlKw== dependencies: cosmiconfig "^5.0.5" jest-validate "^26.5.2" - metro "0.70.4" - metro-cache "0.70.4" - metro-core "0.70.4" - metro-runtime "0.70.4" + metro "0.72.4" + metro-cache "0.72.4" + metro-core "0.72.4" + metro-runtime "0.72.4" -metro-core@0.70.4, metro-core@^0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.70.4.tgz#053ecfcd56ba64c9a691b004b55be1c00da09a77" - integrity sha512-g4o3TD/EHiNOEXkE3MsyqvspKoBuZ3KoJDQnS7NlSwWK4nG6xcw8UiW1W/YJOfDnn/EkXIq3XAUkUX4UWVXuuQ== +metro-core@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.72.4.tgz#e4939aef4c50d953c44eee99a3c971d5162f1287" + integrity sha512-2JNT1nG0UV1uMrQHQOKUSII0sdS6MhVT3mBt2kwfjCvD+jvi1iYhKJ4kYCRlUQw9XNLGZ/B+C0VDQzlf2M3zVw== dependencies: - jest-haste-map "^27.3.1" lodash.throttle "^4.1.1" - metro-resolver "0.70.4" + metro-resolver "0.72.4" + +metro-file-map@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.72.4.tgz#8a0c8a0e44d665af90dded2ac6e01baebff8552e" + integrity sha512-Mv5WgTsYs5svTR/df6jhq2aD4IkAuwV5TutHW0BfEg1YccQt8/v7q5ZypmUOkjdSS9bFR4r3677jalr/ceFypQ== + dependencies: + abort-controller "^3.0.0" + anymatch "^3.0.3" + debug "^2.2.0" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + invariant "^2.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.2.0" + jest-worker "^27.2.0" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" -metro-hermes-compiler@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.70.4.tgz#9507c089e7ea31977c233651b48a5f5cac6d32ea" - integrity sha512-Eor/8SIntD23kQxrhlrPegel+sg3e3xDEaNFOxL3Rljbozr1zFq9Pyd3RjK48BkbpGCZmgXSW1XUY1aqzbkePA== +metro-hermes-compiler@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.72.4.tgz#06c946d74720d5132fa1690df0610ba367d3436c" + integrity sha512-AY1mAT5FKfDRYCthuKo2XHbuhG5TUV4ZpZlJ8peIgkiWICzfy0tau3yu+3jUD456N90CjMCOmdknji4uKiZ8ww== -metro-inspector-proxy@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.70.4.tgz#420bd0d531d406565efdef65dc99ca25c8e26e8c" - integrity sha512-ZkJmVb8CSRVDk0jJX2b9r10KBBG0Qc4mtK3A/FicsnaZ02ZxTy+bnSMEkyW4fhjbHS6Y3h9aBTFOkrK/Jmy1lA== +metro-inspector-proxy@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.72.4.tgz#347e9634b6204c38117292edfb11eb2df71c09ad" + integrity sha512-pr+PsbNCZaStWuJRH8oclT170B7NxfgH+UUyTf9/aR+7PjX0gdDabJhPyzA633QgR+EFBaQKZuetHA+f5/cnEQ== dependencies: connect "^3.6.5" debug "^2.2.0" ws "^7.5.1" yargs "^15.3.1" -metro-minify-uglify@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.70.4.tgz#6af9f2de3ab7de72996c8f5569cd46192e6eafb4" - integrity sha512-S/gtO75s/z6g8m1DOnZW1mm4ei2sTledowJ85rtBsZC8M7r/CAsSynVqkKkWjJ6Ro5TrlE7cfiTnQGojLXMWgg== +metro-minify-uglify@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.72.4.tgz#b4504adc17f093173c0e5d44df32ac9e13f50a88" + integrity sha512-84Rrgie3O7Dqkak9ep/eIpMZkEFzpKD4bngPUNimYqAMCExKL7/aymydB27gKcqwus/BVkAV+aOnFsuOhlgnQg== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.70.4, metro-react-native-babel-preset@^0.70.3: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.70.4.tgz#fac01e1887ad5d15d0caa14c97e8eb52d880b623" - integrity sha512-qcJuLqvjlKhrOOuQShhVzCjjp7kHZIXCL+ybnYBqOY2ALVCyR3aELH0aUtOztRpJYFnqAMDOJmGqNVi6cUd24g== +metro-react-native-babel-preset@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.72.4.tgz#2b320772d2489d1fb3a6413fc58dad13a56eea0e" + integrity sha512-YGCVaYe1H5fOFktdDdL9IwAyiXjPh1t2eZZFp3KFJak6fxKpN+q5PPhe1kzMa77dbCAqgImv43zkfGa6i27eyA== dependencies: "@babel/core" "^7.14.0" "@babel/plugin-proposal-async-generator-functions" "^7.0.0" @@ -12528,63 +12506,64 @@ metro-react-native-babel-preset@0.70.4, metro-react-native-babel-preset@^0.70.3: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.70.4, metro-react-native-babel-transformer@^0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.70.4.tgz#2d6c742ab6ee74385b4f6f794f9ec984cbb9bf43" - integrity sha512-wDHPqzn0QJKGJIMucbyBb1nXMry1yN+/brsqcXSiyS04PerEU25UKb0KXYMGmjCoygxCs2K71nCF1PsscNOVMA== +metro-react-native-babel-transformer@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.72.4.tgz#c1a38bf28513374dbb0fce45b4017d8abfe4a071" + integrity sha512-VxM8Cki+/tPAyQRPHEy1bsxAihpxz8cGLdteFo9t0eAJI7/vEegqICxQm4A+RiGQc4f8t2jiwI6YpnDWomI5Gw== dependencies: "@babel/core" "^7.14.0" babel-preset-fbjs "^3.4.0" - hermes-parser "0.6.0" - metro-babel-transformer "0.70.4" - metro-react-native-babel-preset "0.70.4" - metro-source-map "0.70.4" + hermes-parser "0.8.0" + metro-babel-transformer "0.72.4" + metro-react-native-babel-preset "0.72.4" + metro-source-map "0.72.4" nullthrows "^1.1.1" -metro-resolver@0.70.4, metro-resolver@^0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.70.4.tgz#01a148bfb0bfac11c8d7f7b42372cc4fc4004c31" - integrity sha512-Dr+N54Av2raxP6IafBvIgwQKuYXbtfkDN0A4vwhiWM4exyQm+3eS8eRfByZKGYVAQ0iIK3WbXGpRo+pwhgj2yg== +metro-resolver@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.72.4.tgz#37893ff72273a2b7ea529564caa15fe2e2337267" + integrity sha512-aHxq/jypzGyi9Ic9woe//RymfxpzWliAkyTmBWPHE9ypGoiobstK0me2j5XuSfzASzCU8wcVt20qy870rxTWLw== dependencies: absolute-path "^0.0.0" -metro-runtime@0.70.4, metro-runtime@^0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.70.4.tgz#b6299e9d10379912df8907ea013746bb23fe30e4" - integrity sha512-f1kGOOos5hxIdlXxBvQVg1WMiHeV4vR4B4fGikbMGlPtZEuzdYbep0myKjCHJc6v88IPtUmcgj5uZmhny8+jGg== +metro-runtime@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.72.4.tgz#b3469fd040a9526bfd897c0517c5f052a059ddeb" + integrity sha512-EA0ltqyYFpjOdpoRqE2U9FJleqTOIK+ZLRlLaDrx4yz3zTqUZ16W6w71dq+qrwD8BPg7bPKQu7RluU3K6tI79A== dependencies: "@babel/runtime" "^7.0.0" + react-refresh "^0.4.0" -metro-source-map@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.70.4.tgz#50523dd3a8d7fab7cc1f21ac4ada3ec3cd050cf3" - integrity sha512-4NLcyMll1KdSNKG4zM3ftT5JRqYaSBE4ww7D4cdz+niFMd+9iWmK5q2g+eOt29wKrMYpQMK0jLLaWFi9ol03UQ== +metro-source-map@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.72.4.tgz#3c6444bba22b84d7d7e383f784a1d59e724192de" + integrity sha512-P09aMDEPkLo6BM8VYYoTsH/2B1w6t+mrCwNcNJV1zE+57FPiU4fSBlSeM8G9YeYaezDTHimS2JlMozP+2r+trA== dependencies: "@babel/traverse" "^7.14.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "0.70.4" + metro-symbolicate "0.72.4" nullthrows "^1.1.1" - ob1 "0.70.4" + ob1 "0.72.4" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.70.4.tgz#2196b68023f9cf08dc0784fdb24e938e03a5a501" - integrity sha512-XJV040TcUj0uYGB+I2g9o6kX8RKj4Y7bQB/TOGsLevOdKn1gXb3PJ2ESooLl3HmyRDlrqasvdgWyCrkAlJI4Lw== +metro-symbolicate@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.72.4.tgz#3be7c9d1f382fc58198efcb515f2de0ec3fc4181" + integrity sha512-6ZRo66Q4iKiwaQuHjmogkSCCqaSpJ4QzbHsVHRUe57mFIL34lOLYp7aPfmX7NHCmy061HhDox/kGuYZQRmHB3A== dependencies: invariant "^2.2.4" - metro-source-map "0.70.4" + metro-source-map "0.72.4" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-transform-plugins@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.70.4.tgz#a72db84a81cff7e56b67bb39d017a1f5091ca3aa" - integrity sha512-U16mPSd4WrNyVP1k2uKrT5RAaJeUZPLn8dvzzL7YT2dv1mrQnjAGZ4wDR5q80EQhao05sc2ftw6oPBiPS4sgFg== +metro-transform-plugins@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.72.4.tgz#01e95aa277216fb0887610067125fac9271d399e" + integrity sha512-yxB4v/LxQkmN1rjyyeLiV4x+jwCmId4FTTxNrmTYoi0tFPtOBOeSwuqY08LjxZQMJdZOKXqj2bgIewqFXJEkGw== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" @@ -12592,29 +12571,29 @@ metro-transform-plugins@0.70.4: "@babel/traverse" "^7.14.0" nullthrows "^1.1.1" -metro-transform-worker@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.70.4.tgz#73950d81d82cb58afcf288f0d8c8f35365bff928" - integrity sha512-N6rVZF1yUi4rnJsG+/e1wyrdpy6s39PzzsvA+gAS4Vxfe0iBo91votavjL4GF+tuekui/PoxOq5nOWo5aRAHhg== +metro-transform-worker@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.72.4.tgz#356903c343dc62373b928b4325ad09a103398cc5" + integrity sha512-mIvzy6nRQKMALEdF5g8LXPgCOUi/tGESE5dlb7OSMCj2FAFBm3mTLRrpW5phzK/J6Wg+4Vb9PMS+wGbXR261rA== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" "@babel/parser" "^7.14.0" "@babel/types" "^7.0.0" babel-preset-fbjs "^3.4.0" - metro "0.70.4" - metro-babel-transformer "0.70.4" - metro-cache "0.70.4" - metro-cache-key "0.70.4" - metro-hermes-compiler "0.70.4" - metro-source-map "0.70.4" - metro-transform-plugins "0.70.4" + metro "0.72.4" + metro-babel-transformer "0.72.4" + metro-cache "0.72.4" + metro-cache-key "0.72.4" + metro-hermes-compiler "0.72.4" + metro-source-map "0.72.4" + metro-transform-plugins "0.72.4" nullthrows "^1.1.1" -metro@0.70.4, metro@^0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.70.4.tgz#6f83974979f60116db9accda92849adf0e5f70be" - integrity sha512-4Ff7jfCF7Jr/PVXvRGVRe5Sb0Qhqceh6i18aYEMfCS0pVsZZcTdXxgTdlB9KGnxSVxT8jjViid+oAAvNJcC2ug== +metro@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.72.4.tgz#fdfc43b3329388b5a3e8856727403f93a8c05250" + integrity sha512-UBqL2fswJjsq2LlfMPV4ArqzLzjyN0nReKRijP3DdSxZiaJDG4NC9sQoVJHbH1HP5qXQMAK/SftyAx1c1kuy+w== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.14.0" @@ -12634,28 +12613,28 @@ metro@0.70.4, metro@^0.70.4: error-stack-parser "^2.0.6" fs-extra "^1.0.0" graceful-fs "^4.2.4" - hermes-parser "0.6.0" + hermes-parser "0.8.0" image-size "^0.6.0" invariant "^2.2.4" - jest-haste-map "^27.3.1" jest-worker "^27.2.0" jsc-safe-url "^0.2.2" lodash.throttle "^4.1.1" - metro-babel-transformer "0.70.4" - metro-cache "0.70.4" - metro-cache-key "0.70.4" - metro-config "0.70.4" - metro-core "0.70.4" - metro-hermes-compiler "0.70.4" - metro-inspector-proxy "0.70.4" - metro-minify-uglify "0.70.4" - metro-react-native-babel-preset "0.70.4" - metro-resolver "0.70.4" - metro-runtime "0.70.4" - metro-source-map "0.70.4" - metro-symbolicate "0.70.4" - metro-transform-plugins "0.70.4" - metro-transform-worker "0.70.4" + metro-babel-transformer "0.72.4" + metro-cache "0.72.4" + metro-cache-key "0.72.4" + metro-config "0.72.4" + metro-core "0.72.4" + metro-file-map "0.72.4" + metro-hermes-compiler "0.72.4" + metro-inspector-proxy "0.72.4" + metro-minify-uglify "0.72.4" + metro-react-native-babel-preset "0.72.4" + metro-resolver "0.72.4" + metro-runtime "0.72.4" + metro-source-map "0.72.4" + metro-symbolicate "0.72.4" + metro-transform-plugins "0.72.4" + metro-transform-worker "0.72.4" mime-types "^2.1.27" node-fetch "^2.2.0" nullthrows "^1.1.1" @@ -13308,10 +13287,10 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -ob1@0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.70.4.tgz#683670a256667ac34f93046ee81eb504dcc0689d" - integrity sha512-u7UUis2Scwy+RDdJ0T49Urb0yTQTyEYt37lHzWDqpLQSLYZZGT3ZNtCvB88Z9yKhhouKD4TNOGkBJgkFJ+84sg== +ob1@0.72.4: + version "0.72.4" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.72.4.tgz#d2ddedb09fb258d69490e8809157518a62b75506" + integrity sha512-/iPJKpXpVEZS0subUvjew4ept5LTBxj1hD20A4mAj9CJkGGPgvbBlfYtFEBubBkk4dv4Ef5lajsnRBYPxF74cQ== object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -14042,14 +14021,6 @@ pkg-up@2.0.0: dependencies: find-up "^2.1.0" -plist@^3.0.2: - version "3.0.6" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" - integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== - dependencies: - base64-js "^1.5.1" - xmlbuilder "^15.1.1" - pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" @@ -14318,7 +14289,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -promise@^8.2.0: +promise@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== @@ -15024,7 +14995,7 @@ react-hotkeys@2.0.0: dependencies: prop-types "^15.6.1" -"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.1.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== @@ -15073,10 +15044,10 @@ react-native-camera@^3.8.0: dependencies: prop-types "^15.6.2" -react-native-codegen@^0.69.2: - version "0.69.2" - resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.69.2.tgz#e33ac3b1486de59ddae687b731ddbfcef8af0e4e" - integrity sha512-yPcgMHD4mqLbckqnWjFBaxomDnBREfRjDi2G/WxNyPBQLD+PXUEmZTkDx6QoOXN+Bl2SkpnNOSsLE2+/RUHoPw== +react-native-codegen@^0.70.6: + version "0.70.6" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.70.6.tgz#2ce17d1faad02ad4562345f8ee7cbe6397eda5cb" + integrity sha512-kdwIhH2hi+cFnG5Nb8Ji2JwmcCxnaOOo9440ov7XDzSvGfmUStnCzl+MCW8jLjqHcE4icT7N9y+xx4f50vfBTw== dependencies: "@babel/parser" "^7.14.0" flow-parser "^0.121.0" @@ -15142,10 +15113,10 @@ react-native-gesture-handler@^2.5.0: lodash "^4.17.21" prop-types "^15.7.2" -react-native-gradle-plugin@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.7.tgz#96602f909745239deab7b589443f14fce5da2056" - integrity sha512-+4JpbIx42zGTONhBTIXSyfyHICHC29VTvhkkoUOJAh/XHPEixpuBduYgf6Y4y9wsN1ARlQhBBoptTvXvAFQf5g== +react-native-gradle-plugin@^0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.70.3.tgz#cbcf0619cbfbddaa9128701aa2d7b4145f9c4fc8" + integrity sha512-oOanj84fJEXUg9FoEAQomA8ISG+DVIrTZ3qF7m69VQUJyOGYyDZmPqKcjvRku4KXlEH6hWO9i4ACLzNBh8gC0A== react-native-iap@^7.5.6: version "7.5.6" @@ -15304,15 +15275,15 @@ react-native-webview@^11.23.0: escape-string-regexp "2.0.0" invariant "2.2.4" -react-native@^0.69.0: - version "0.69.12" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.69.12.tgz#527eced0bf0be2e2ce0c313df9b8ded23a2d1e41" - integrity sha512-kHOj4V0wD/hvjyiiXPP96fMBSRNnx0MXGTTrL43KppsWvKnOtvnQ/qSTWR0d3s6Hi4n7mx3Un+NqCuBKsf+5yg== +react-native@0.70.12: + version "0.70.12" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.12.tgz#9efe39decda4f867089b0d67fdfb41ed238de45a" + integrity sha512-VbKb46xYoYxTEtuxALoigF7eqqtVt4Qp/xxyf6pUGIWe3voHd3/gF7rP00bDO5k0OPK2Dbvkdp0X8Qzph+R4GA== dependencies: "@jest/create-cache-key-function" "^27.0.1" - "@react-native-community/cli" "^8.0.7" - "@react-native-community/cli-platform-android" "^8.0.5" - "@react-native-community/cli-platform-ios" "^8.0.6" + "@react-native-community/cli" "9.3.3" + "@react-native-community/cli-platform-android" "9.3.1" + "@react-native-community/cli-platform-ios" "9.3.0" "@react-native/assets" "1.0.0" "@react-native/normalize-color" "2.0.0" "@react-native/polyfills" "2.0.0" @@ -15320,24 +15291,23 @@ react-native@^0.69.0: anser "^1.4.9" base64-js "^1.1.2" event-target-shim "^5.0.1" - hermes-engine "~0.11.0" invariant "^2.2.4" jsc-android "^250230.2.1" memoize-one "^5.0.0" - metro-react-native-babel-transformer "0.70.4" - metro-runtime "0.70.4" - metro-source-map "0.70.4" + metro-react-native-babel-transformer "0.72.4" + metro-runtime "0.72.4" + metro-source-map "0.72.4" mkdirp "^0.5.1" nullthrows "^1.1.1" pretty-format "^26.5.2" - promise "^8.2.0" + promise "^8.3.0" react-devtools-core "4.24.0" - react-native-codegen "^0.69.2" - react-native-gradle-plugin "^0.0.7" + react-native-codegen "^0.70.6" + react-native-gradle-plugin "^0.70.3" react-refresh "^0.4.0" - react-shallow-renderer "16.15.0" + react-shallow-renderer "^16.15.0" regenerator-runtime "^0.13.2" - scheduler "^0.21.0" + scheduler "^0.22.0" stacktrace-parser "^0.1.3" use-sync-external-store "^1.0.0" whatwg-fetch "^3.0.0" @@ -15402,7 +15372,7 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.0.tgz#d421f9bd65e0e4b9822a399f14ac56bda9c92292" integrity sha512-bacjSio8GOtzNZKZZM6EWqbhlbb6pr28JWJWFTLwEBKvPIBRo6/Ob68D2EWZA2VyTdQxAh+TRnCYOPNKsQiXTA== -react-shallow-renderer@16.15.0, react-shallow-renderer@^16.13.1: +react-shallow-renderer@^16.15.0: version "16.15.0" resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== @@ -15431,14 +15401,14 @@ react-syntax-highlighter@^11.0.2: prismjs "^1.8.4" refractor "^2.4.1" -react-test-renderer@18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.0.0.tgz#fa403d625ea9478a70ace43db88833f6c3a5bb4c" - integrity sha512-SyZTP/FSkwfiKOZuTZiISzsrC8A80KNlQ8PyyoGoOq+VzMAab6Em1POK/CiX3+XyXG6oiJa1C53zYDbdrJu9fw== +react-test-renderer@18.1.0: + version "18.1.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.1.0.tgz#35b75754834cf9ab517b6813db94aee0a6b545c3" + integrity sha512-OfuueprJFW7h69GN+kr4Ywin7stcuqaYAt1g7airM5cUgP0BoF5G5CXsPGmXeDeEkncb2fqYNECO4y18sSqphg== dependencies: - react-is "^18.0.0" - react-shallow-renderer "^16.13.1" - scheduler "^0.21.0" + react-is "^18.1.0" + react-shallow-renderer "^16.15.0" + scheduler "^0.22.0" react-textarea-autosize@^7.1.0: version "7.1.2" @@ -15448,10 +15418,10 @@ react-textarea-autosize@^7.1.0: "@babel/runtime" "^7.1.2" prop-types "^15.6.0" -react@18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.0.0.tgz#b468736d1f4a5891f38585ba8e8fb29f91c3cb96" - integrity sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A== +react@18.1.0: + version "18.1.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890" + integrity sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ== dependencies: loose-envify "^1.1.0" @@ -16213,10 +16183,10 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" -scheduler@^0.21.0: - version "0.21.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" - integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== +scheduler@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.22.0.tgz#83a5d63594edf074add9a7198b1bae76c3db01b8" + integrity sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ== dependencies: loose-envify "^1.1.0" @@ -18457,11 +18427,6 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xmlbuilder@^15.1.1: - version "15.1.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" - integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== - xstream@^11.14.0: version "11.14.0" resolved "https://registry.yarnpkg.com/xstream/-/xstream-11.14.0.tgz#2c071d26b18310523b6877e86b4e54df068a9ae5" From 020ecc0789372ae12ea56ea28556df4e3f9f4346 Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 04:13:51 +0800 Subject: [PATCH 15/29] =?UTF-8?q?=F0=9F=93=8C=20Sync=20dependencies=20usin?= =?UTF-8?q?g=20align-deps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 12 ++++++------ yarn.lock | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index c933bc82..b4e1fdb3 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@json-rpc-tools/utils": "1.7.6", "@likecoin/authcore-js": "^0.3.0-like.0", "@likecoin/secretd-js": "^0.4.3", - "@react-native-async-storage/async-storage": "^1.17.7", + "@react-native-async-storage/async-storage": "^1.17.10", "@react-native-community/masked-view": "^0.1.11", "@react-native-cookies/cookies": "^6.2.1", "@react-native-firebase/analytics": "11.5.0", @@ -63,7 +63,7 @@ "ramda": "0.29.0", "react": "18.1.0", "react-content-loader": "^4.3.4", - "react-native": "0.70.12", + "react-native": "^0.70.0", "react-native-actions-sheet": "^0.4.8", "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#ffa57a75cbdc4db463ef4d7ad45641b6c234b7e9", "react-native-branch": "^5.8.0", @@ -73,7 +73,7 @@ "react-native-encrypted-storage": "^4.0.3", "react-native-exit-app": "^1.1.0", "react-native-fast-image": "^8.3.2", - "react-native-gesture-handler": "^2.5.0", + "react-native-gesture-handler": "^2.6.0", "react-native-iap": "^7.5.6", "react-native-image-picker": "https://github.com/likecoin/react-native-image-picker#5e2f78f5e3f893b13a67482471655e1ebb75ad3b", "react-native-image-sequence": "^0.7.0", @@ -83,9 +83,9 @@ "react-native-qrcode-svg": "^6.2.0", "react-native-randombytes": "^3.5.3", "react-native-rate": "^1.2.12", - "react-native-reanimated": "^2.9.0", - "react-native-safe-area-context": "^4.3.1", - "react-native-screens": "^3.14.1", + "react-native-reanimated": "^2.10.0", + "react-native-safe-area-context": "^4.4.1", + "react-native-screens": "^3.18.2", "react-native-share-extension": "git+https://github.com/likecoin/react-native-share-extension#d82e2cd02b782272422da15cd484c8cbe931a6ab", "react-native-snap-carousel": "^3.9.0", "react-native-splash-screen": "^3.3.0", diff --git a/yarn.lock b/yarn.lock index cc8449d9..4e61d8ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3161,7 +3161,7 @@ prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" -"@react-native-async-storage/async-storage@^1.17.7": +"@react-native-async-storage/async-storage@^1.17.10": version "1.19.0" resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.19.0.tgz#594aca9c20924b7955d62cf43797b4187e1e6cf8" integrity sha512-xOFkz/FaQctD6yNJDur+WnHdSTigOs3pTz6HmfC8X8PYwcnnN3R9UxuWiwsfK8vvT2WioAxUkQt3lB7GySNA2w== @@ -15102,7 +15102,7 @@ react-native-flipper@^0.34.0: resolved "https://registry.yarnpkg.com/react-native-flipper/-/react-native-flipper-0.34.0.tgz#7df1f38ba5d97a9321125fe0fccbe47d99e6fa1d" integrity sha512-48wgm29HJTOlZ0DibBsvXueEOY0EPIVL0wWKbwRfgrk86+luSEuLW3aZC50oJa95zSFb9qYShTV/6dWqh4Jamg== -react-native-gesture-handler@^2.5.0: +react-native-gesture-handler@^2.6.0: version "2.12.0" resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.12.0.tgz#59ca9d97e4c71f70b9c258f14a1a081f4c689976" integrity sha512-rr+XwVzXAVpY8co25ukvyI38fKCxTQjz7WajeZktl8qUPdh1twnSExgpT47DqDi4n+m+OiJPAnHfZOkqqAQMOg== @@ -15175,7 +15175,7 @@ react-native-rate@^1.2.12: resolved "https://registry.yarnpkg.com/react-native-rate/-/react-native-rate-1.2.12.tgz#d4307b2994f9c849b987eb65599ec467db4aee04" integrity sha512-A/z3s7Zth08aXcJnru6S4p71NG8acx2w5LhIfItwTJUbQruNJugk8WrN51dLBCSDv8W33kbS5YoUT4M9jOP5gA== -react-native-reanimated@^2.9.0: +react-native-reanimated@^2.10.0: version "2.17.0" resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-2.17.0.tgz#eae2308235961cdd79810e01dfdd7e88b1ae5b5c" integrity sha512-bVy+FUEaHXq4i+aPPqzGeor1rG4scgVNBbBz21ohvC7iMpB9IIgvGsmy1FAoodZhZ5sa3EPF67Rcec76F1PXlQ== @@ -15187,7 +15187,7 @@ react-native-reanimated@^2.9.0: setimmediate "^1.0.5" string-hash-64 "^1.0.3" -react-native-safe-area-context@^4.3.1: +react-native-safe-area-context@^4.4.1: version "4.6.4" resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.6.4.tgz#84a324f28209a91a9a5b802f9339428f2366ebe3" integrity sha512-UWYsokTLZmj8g0cluzoUeGUjQrCTW4slKr2xKmuwQCurAuvSJq/QvfhCrqyea++XrXo46+1Q3wSoP50YXG24jA== @@ -15199,7 +15199,7 @@ react-native-safe-area-view@^0.14.9: dependencies: hoist-non-react-statics "^2.3.1" -react-native-screens@^3.14.1: +react-native-screens@^3.18.2: version "3.22.1" resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.22.1.tgz#b0eb0696dbf1f9a852061cc71c0f8cdb95ed8e53" integrity sha512-ffzwUdVKf+iLqhWSzN5DXBm0s2w5sN0P+TaHHPAx42LT7+DT0g8PkHT1QDvxpR5vCEPSS1i3EswyVK4HCuhTYg== @@ -15275,7 +15275,7 @@ react-native-webview@^11.23.0: escape-string-regexp "2.0.0" invariant "2.2.4" -react-native@0.70.12: +react-native@^0.70.0: version "0.70.12" resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.12.tgz#9efe39decda4f867089b0d67fdfb41ed238de45a" integrity sha512-VbKb46xYoYxTEtuxALoigF7eqqtVt4Qp/xxyf6pUGIWe3voHd3/gF7rP00bDO5k0OPK2Dbvkdp0X8Qzph+R4GA== From 16925425767f56c4d384b6ba6ab1bcc8b457d78f Mon Sep 17 00:00:00 2001 From: William Chong Date: Tue, 11 Jul 2023 10:15:27 +0800 Subject: [PATCH 16/29] =?UTF-8?q?=E2=9C=85=20Update=20test=20snapshot=20fo?= =?UTF-8?q?r=20RCTSafeAreaView?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/__snapshots__/storyshots.test.ts.snap | 33 ---------------------- 1 file changed, 33 deletions(-) diff --git a/test/__snapshots__/storyshots.test.ts.snap b/test/__snapshots__/storyshots.test.ts.snap index 3ce15cf6..e607365b 100644 --- a/test/__snapshots__/storyshots.test.ts.snap +++ b/test/__snapshots__/storyshots.test.ts.snap @@ -16,7 +16,6 @@ exports[`Storyshots Avatar Behavior 1`] = ` } > Date: Wed, 12 Jul 2023 17:35:11 +0800 Subject: [PATCH 17/29] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20Update=20react=20?= =?UTF-8?q?native=20type=20definitions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.tsx | 10 ++++++++-- app/screens/reader-screen/reader-screen.tsx | 10 ++++++++-- package.json | 4 ++-- yarn.lock | 19 ++++++++++++++----- 4 files changed, 32 insertions(+), 11 deletions(-) diff --git a/app/app.tsx b/app/app.tsx index 269c701f..38677a99 100644 --- a/app/app.tsx +++ b/app/app.tsx @@ -6,6 +6,7 @@ import * as React from "react" import { Alert, AppRegistry, + EmitterSubscription, Linking, Platform, } from "react-native" @@ -49,6 +50,8 @@ export class App extends React.Component<{}, AppState> { initTimer?: number + openUrlHandler?: EmitterSubscription + /** * When the component is mounted. This happens asynchronously and simply * re-renders when we're good to go. @@ -75,7 +78,7 @@ export class App extends React.Component<{}, AppState> { this.state.rootStore?.userStore.checkTrackingStatus() - Linking.addEventListener('url', this._onOpenURL) + this.openUrlHandler = Linking.addEventListener('url', this._onOpenURL) try { const url = await Linking.getInitialURL() if (!url) return @@ -86,7 +89,10 @@ export class App extends React.Component<{}, AppState> { } componentWillUnmount() { - Linking.removeEventListener('url', this._onOpenURL) + if (this.openUrlHandler) { + this.openUrlHandler.remove() + this.openUrlHandler = null + } } startInitTimer = () => { diff --git a/app/screens/reader-screen/reader-screen.tsx b/app/screens/reader-screen/reader-screen.tsx index 9db6a0b7..8e616877 100644 --- a/app/screens/reader-screen/reader-screen.tsx +++ b/app/screens/reader-screen/reader-screen.tsx @@ -2,6 +2,7 @@ import * as React from "react" import { AppState, AppStateStatus, + NativeEventSubscription, } from "react-native" import { inject } from "mobx-react" import styled from "styled-components/native" @@ -29,6 +30,8 @@ const Screen = styled(ScreenBase)` export class ReaderScreen extends React.Component { appState = AppState.currentState + appStateChangeHandler?: NativeEventSubscription + superLikeScreen = React.createRef() state = { @@ -37,11 +40,14 @@ export class ReaderScreen extends React.Component { componentDidMount() { this.props.contentBookmarksListStore.fetch() - AppState.addEventListener("change", this.handleAppStateChange) + this.appStateChangeHandler = AppState.addEventListener("change", this.handleAppStateChange) } componentWillUnmount() { - AppState.removeEventListener("change", this.handleAppStateChange) + if (this.appStateChangeHandler) { + this.appStateChangeHandler.remove() + this.appStateChangeHandler = null + } } private handleAppStateChange = (nextAppState: AppStateStatus) => { diff --git a/package.json b/package.json index b4e1fdb3..eb025f99 100644 --- a/package.json +++ b/package.json @@ -121,8 +121,8 @@ "@types/jest": "24.0.16", "@types/jsonwebtoken": "^9.0.0", "@types/ramda": "0.26.18", - "@types/react": "18.0.0", - "@types/react-native": "^0.69.0", + "@types/react": "18.0.38", + "@types/react-native": "^0.70.0", "@types/react-native-share-extension": "^2.0.1", "@types/react-test-renderer": "16.8.3", "@types/styled-components": "^5.1.9", diff --git a/yarn.lock b/yarn.lock index 4e61d8ce..9f996374 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4336,10 +4336,10 @@ dependencies: "@types/react" "*" -"@types/react-native@^0.69.0": - version "0.69.21" - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.69.21.tgz#50180a7531310df3bb71fda4d1822bca42039ac8" - integrity sha512-D8WTR5gmrdwv95nxzjRdrYYRENv9UEP/MJemHWSBK10FYi2+qqpLq9D3W2pJNJCA6xUzIAQwcUrAsWbwQTadOA== +"@types/react-native@^0.70.0": + version "0.70.14" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.14.tgz#8619b8c94296f6456c5362d74a3d1b4fad3f54ab" + integrity sha512-Kwc+BYBrnDqvacNxKp1UtcZJnJJnTih2NYmi/ieAKlHdxEPN6sYMwmIwgHdoLHggvml6bf3DYRaH2jt+gzaLjw== dependencies: "@types/react" "*" @@ -4364,7 +4364,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@18.0.0": +"@types/react@*": version "18.0.0" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.0.tgz#4be8aa3a2d04afc3ac2cc1ca43d39b0bd412890c" integrity sha512-7+K7zEQYu7NzOwQGLR91KwWXXDzmTFODRVizJyIALf6RfLv2GDpqpknX64pvRVILXCpXi7O/pua8NGk44dLvJw== @@ -4373,6 +4373,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@18.0.38": + version "18.0.38" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.38.tgz#02a23bef8848b360a0d1dceef4432c15c21c600c" + integrity sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/scheduler@*": version "0.16.3" resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" From bdd3f545b3c28250012dc5795ae5464c28e4b3e0 Mon Sep 17 00:00:00 2001 From: "Ng Wing Tat, David" Date: Fri, 13 Oct 2023 17:45:01 +0800 Subject: [PATCH 18/29] =?UTF-8?q?=F0=9F=9A=B8=20Skip=20session=20approval?= =?UTF-8?q?=20for=20in-app-browser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wallet-connect-client/wallet-connect-client.ts | 3 +++ .../wallet-connect-v2-client.ts | 13 +++++++++---- .../wallet-connect-request-screen.tsx | 14 +++++++++++++- app/utils/wallet-connect.ts | 9 +++++++++ 4 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 app/utils/wallet-connect.ts diff --git a/app/models/wallet-connect-client/wallet-connect-client.ts b/app/models/wallet-connect-client/wallet-connect-client.ts index 8570d627..10739a47 100644 --- a/app/models/wallet-connect-client/wallet-connect-client.ts +++ b/app/models/wallet-connect-client/wallet-connect-client.ts @@ -63,6 +63,9 @@ export const WalletConnectClientModel = types const { peerMeta } = self.connector return COMMON_API_CONFIG.userAgent.includes(peerMeta.name) }, + get version() { + return 1 + }, })) .views(self => ({ shouldShowWalletConnectModal(payload: any) { diff --git a/app/models/wallet-connect-v2-client/wallet-connect-v2-client.ts b/app/models/wallet-connect-v2-client/wallet-connect-v2-client.ts index bb13772e..f7467cfd 100644 --- a/app/models/wallet-connect-v2-client/wallet-connect-v2-client.ts +++ b/app/models/wallet-connect-v2-client/wallet-connect-v2-client.ts @@ -8,6 +8,7 @@ import { SignDoc } from 'cosmjs-types/cosmos/tx/v1beta1/tx' import { DirectSignResponse } from '@cosmjs/proto-signing' import { logError } from '../../utils/error' +import { checkIsInAppBrowser } from '../../utils/wallet-connect'; import { withCurrentUser, withEnvironment, withNavigationStore } from '../extensions' @@ -28,6 +29,9 @@ export const WalletConnectV2ClientModel = types get isInAppBrowser() { return false; // TODO: implement user agent checking }, + get version() { + return 2; + }, })) .views(_ => ({ shouldShowWalletConnectModal(payload: any) { @@ -247,7 +251,7 @@ export const WalletConnectV2ClientModel = types method: 'session_proposal', ...proposal, } - // if (!self.isInAppBrowser) { + if (!checkIsInAppBrowser(proposal)) { // Show WalletConnect Modal for loading UX self.navigationStore.navigateTo({ routeName: 'App', @@ -259,10 +263,11 @@ export const WalletConnectV2ClientModel = types }, }), }) - // } + } else { + // Approve session request directly without user's interaction + self.approveSessionRequest(proposal) + } - // Approve session request directly without user's interaction - // self.approveSessionRequest(proposal) }, })) .actions(self => ({ diff --git a/app/screens/wallet-connect-request-screen/wallet-connect-request-screen.tsx b/app/screens/wallet-connect-request-screen/wallet-connect-request-screen.tsx index 5ae6c1ba..8ef9e747 100644 --- a/app/screens/wallet-connect-request-screen/wallet-connect-request-screen.tsx +++ b/app/screens/wallet-connect-request-screen/wallet-connect-request-screen.tsx @@ -8,6 +8,7 @@ import { WalletConnectStore } from "../../models/wallet-connect-store" import { color } from "../../theme" import { translate } from "../../i18n" +import { checkIsInAppBrowser } from "../../utils/wallet-connect" import { Button } from "../../components/button" import { LoadingLikeCoin } from "../../components/loading-likecoin" @@ -93,7 +94,18 @@ export class WalletConnectRequestScreen extends React.Component Date: Fri, 13 Oct 2023 18:11:18 +0800 Subject: [PATCH 19/29] =?UTF-8?q?=F0=9F=8D=B1=20Update=20entry=20slogan?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sign-in-screen/sign-in-screen.style.ts | 1 + app/screens/sign-in-screen/sign-in-screen.tsx | 16 ++++++---------- app/screens/sign-in-screen/slogan-en.png | Bin 0 -> 206243 bytes app/screens/sign-in-screen/slogan-en.svg | 3 --- app/screens/sign-in-screen/slogan-zh.png | Bin 0 -> 167149 bytes app/screens/sign-in-screen/slogan-zh.svg | 3 --- 6 files changed, 7 insertions(+), 16 deletions(-) create mode 100644 app/screens/sign-in-screen/slogan-en.png delete mode 100644 app/screens/sign-in-screen/slogan-en.svg create mode 100644 app/screens/sign-in-screen/slogan-zh.png delete mode 100644 app/screens/sign-in-screen/slogan-zh.svg diff --git a/app/screens/sign-in-screen/sign-in-screen.style.ts b/app/screens/sign-in-screen/sign-in-screen.style.ts index 01829352..c0e62d71 100644 --- a/app/screens/sign-in-screen/sign-in-screen.style.ts +++ b/app/screens/sign-in-screen/sign-in-screen.style.ts @@ -53,6 +53,7 @@ export const SignInScreenStyle = StyleSheet.create({ } as ViewStyle, Slogan: { width: "100%", + height: undefined, alignSelf: "stretch", aspectRatio: 244 / 94, } as ImageStyle, diff --git a/app/screens/sign-in-screen/sign-in-screen.tsx b/app/screens/sign-in-screen/sign-in-screen.tsx index 55264d5b..e5ad7138 100644 --- a/app/screens/sign-in-screen/sign-in-screen.tsx +++ b/app/screens/sign-in-screen/sign-in-screen.tsx @@ -19,9 +19,6 @@ import { SignInScreenStyle as Style, } from "./sign-in-screen.style" -import SloganEn from "./slogan-en.svg" -import SloganZh from "./slogan-zh.svg" - import { logError } from "../../utils/error" import { logAnalyticsEvent } from "../../utils/analytics" @@ -222,12 +219,12 @@ export class SignInScreen extends React.Component - diff --git a/app/screens/sign-in-screen/slogan-en.png b/app/screens/sign-in-screen/slogan-en.png new file mode 100644 index 0000000000000000000000000000000000000000..60dea57a7736f910c9f4c0dacc62ec81b3d7a01a GIT binary patch literal 206243 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

YO5?F+qDxORk4fq<6+POOhiK3kGPx<|1635 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

-jnQ{M6k$SN81I|JU@S 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 - - diff --git a/app/screens/sign-in-screen/slogan-zh.png b/app/screens/sign-in-screen/slogan-zh.png new file mode 100644 index 0000000000000000000000000000000000000000..edbf4af46f55454859a1ec1752f3cca694e9f668 GIT binary patch literal 167149 zcmbTdRX|ix-#5Bvh@nBcQ$lI!9z;M|L`9HL5EvQ(L3)suQYq;nBviV)MS2s`DKSH* zAbp1CdB5-G+??~SD`wAL|E~30L&PIpby6ZmA^-qLH6A{A3;@J%0D$%p;9#Ga`X8oX zKU_Z2exi!~`2Sv8?{l#aH$SBAzR6j(9NrF0+X_qD4oOC*W=uD~5PKXq(3VUDLF&YTZ*&zuC~Vwr$-w(b7B9)QWxH z)xLaaQ@9mahZ{XzyH@c{$zMvW9)RvSG8PVPh}g z%jV~l%G%Ac`pu>m%)V#(zUP;k=8Y}nmsRtzouDtf0cn-Z8+A>X&EV9vjI7m^jMAFT zEvxo}*X28i=JlAQJ)h*Qn3UhG{bkJ?YjLUDK55H2=^IJu#r2zL>%Qge?6s6HJ67c@ zW|Lss*uF(^TPym|Dt`l+zF)~CS?meIQo$!=(o1b%y%^Tr~hp)31QCYk0S?KJn z?f3DAufEPU*6q8cuf3cvZr<2ORPEW+?fax}Ti4IjR&Rbx7&o8ZeBE2owm#6@Gte?I zYca8rp1f?fyl2~vj!fP1OtQcTYru=G;dmt z&fEOjh)+0l$lJGToM~v^O!~6@Hg&>$X)_~h^5t)I?$<;6tPNE9d~I22+Xm+Sm*4H+ z9}~=?eamK0R(+eBB}Qg_=>Py6q>PRzDf?oj&>CMg#ambGkK)zSH9Exlm6 zeE?ll(A&ARn)lnhvXHWn*@RpWLC%YKA$?mK=2~`J<^wdWsxAO%gq_9%(EsqnqO+O(s2r=k3!8Gu6TL#xaOgI|? zhY$Ta;nRXB(1BIzKT^SSNjW?TwIcTX(Nq887_tAF79{FxrXP@j~92weoec!9N`14 z$)9k%ht;IHq4nITob^zzvs9f($?=Q;P9v;^aF62L3l`Fm{)IoHO^yy(4l9;L3T>K7 zil_lVx_r!n6E$N}RTgT%iTVz$-?DKwz#tx<+sl?M0zg`naX+qms_n;*?5Itg>7#)K zYT0k@R&5Y~o(9rn123_ZS9u7ZfK{&BtgR@F=e}2^Wd@MSx4F);*bMWpIY6~(7>Ad-d2kPC8%&1(-iMrxKz4!}rPX>jC zmLJ~j7r@4q3Ma~w1k=Y?Q%;Dx^-!}O zFoL!p3B@6Ev>*ph&wfX+{?}hO3{cHTUGGe4);%ULM;nFp6V#h51d+kU(=SL)d3GVr zg017;9ky_}OU8tM-m8;xS0N{KR-W*ra+xa%@29VdVs?U>9007ZcS$f?u26-|+V-qY zUg(*B_tGxQ#AAgZv(UO-C_qmDF=Ya6QsGpf=^0Kv^}zNU=HFr%zBPFOdB}k}Ax5~J ziqJsj3YAb=6*J4yJT$a7CL7ikwU@s7< zIDngioY(u!ou;EyVgHWbfa5@7{zjkxO0Wmr6qpj_Vth)(-i_6?{YOda@zuHcXih znN9xagT(7akfrg`xkwD7m-0;W#cjPho8qU&WKIN`XAlL3bP`Rt6xGRYxco-BMhd^) zpO;h!03g7eLDHkf*&wC|JIF+e?Sc1+VOOH%gyI0eG_d3M{>MEA@LBgC0?g+cSY^1O zL=BC}n8|BG4ge@%0S719v4$`^Td1MVu3IqEz20+xk^;b8*ii?D8Ud~Ed;r&??ftaN|8mM9 zChtr}>r5lDUw{J_Kp7-Jy|=z`6JVwxf*dIuHn%Q6Gw0tB6@$vYm0*fT&P$T}FZ`}< zX39jn2|b_jB?kcN=OmbB{AB`+hlPWt`h6iZoN2E;o z1yy!xuoT}dsq49n&C>S-;1dKG9LNAkj1SBm{LbKfwOBJ>iVwJO;JPm(J<=~zb>K<2 zKp$7CSjCs;-h{?da-jOK=55ZCg8;=rNGE1cpTF+cPkdZ=28iD>&I|;oQH3i- z&)gn}O0E5Sq61I0uIBO~#iW+d0e}e%;^!@t`&ZuqIxYU4Wy%p=5lR8P#D&aBqH>z+ z)!^h$PwXSt*?Bh!FfWv(?Xjw>QGhx))9c?OaowL7XnuMKUpQ+sQXv3D-Xopp!BZ+q z5Vx|&)ADZ{9ySC9Nipn^l6aK@he>3J%Mc_FN(mcsv*WMmk=dXB22Olb4xNXbv{Xq| zXN06!J$`hga423n4VC&JSZ~6VPd6xrb*nG|riBEwYTqr_BlKt{gJGPhT z-vV>|jI(bjx;bvx{0jK?bC8|}Xf>b!N0Ec~*im%Em<%QBxHh>N89ClM`k`U^afB8C zJWz$};nepck!Av@lOxenh|2wM`<{j!B@{Q6w^PwCRRX78GP;Ju&fo(BsD8o4^MeU2 zbR!lA7Vi*XjNVEx9Ayu`euTgNqJA~?$bziv3&iyGp6>8-DHN6E699f5berY^H#~>1 zJk1@}%T%5yDBrMTltZOHr`rv0Qo&{bik<;s5ZUOArK*=wI0)S+6j+twDKJ}pjcW`8n1a`gaAOl!`z@>Hk^C`d+rZI}w zy`&1zX&<6MZh0B~}k zTIfMjo?hq>1tqv(^!8Ihx3BW4hyy5C3k@i`J@Wpm z^U@2&e=c8fRQ?Swz}&}ig03Zkv3;BEyddHErJzyoPVc>K=U3gLcLAi9>@5(_Vl~0? zu=YKI2}GZ}k*VfQ3l0%reUM(|D(wC75QhZjID5b8*9{9|T=yJgvu#c@iJhi%IM7N1J$nGp0e}j}2k#{gRAVoD{Ram~mJSO^d}&4f!E{2?}YZdM;l+lw#{HGC@D&Y?i3{ z9t!5Tnm+b$P#rtG7~)mFm2VUMMsZVoUG{i3Bv3iF9Uh+MwFd;^kjp}ME{wlaAnTLx z8)g(>_sEhUI%`Mms0n=|%xH-Nu7a%MPq`GLGAsuGdIoN{G5OE6&DIo`G~5E&G_TEe znuIvS6E@t`U4WZ`U}fwTJ2JZ{_NiGAjI}&y{(5{~*crK}elO8B+2^MQLGY6~NNo>=o<$|8I)F$i4rUY%7EU1%HfK1NR1Dz=gU6HqzzU{B5UuBX5 ztt=Fv(#2q>^?*V6^jk>^kOq?e`e|iDh=`zB?G$p;E0OR=8DRZ*NA&_*7sEV8q6v%~>;LpXraaN_3atM@6sj^niujWXuA3g>ng#&+>I) ztqW(DCCz&5JcMj@Ax z50>N{Kr1V>UIVW6a6^l=cM%r`nUhDQTj#B^+3ZX98cD%WFO=p50Kk_OGRK4B?#!MG ztY{*PDIrHpaH2Nzf8_LNJxLS#lADg$l>o3KtrOPOm!i|Di|i;pB8T)&6N7!1@_o=^eF#>-V)orZm*CjUD<(Zuvgo*$8gx3771R|g z3&O*!`X7%xDSsD7ax)rqK@_$fxuSUVu8XJ#pDRWC!H(FwJ#WPv)1p+q{d5uaso??0d_4DW*~uG*s}&yiq`ZB7;U$hkIwOsdBFRi}wj;NX z_JSrk*yGF8L&$b+=yy^?Npg~uOl$d27S!9$XHa86=>7~2CiTq7`WRaS)zsj0F!y(I zzV0>795=Mg2@v_oQ%8X8?YWAc-|;uHb8(^iu46M7sthXM1sqmDr|p0GDWX>AroEgU z0Y7l)O?}FcSx2QF7U{y)0akD`6;AwfBmyaP4gVL{t!cP{D=a}q7JY5*;AGZ+5-d2%Yk(Kt(Ib0Y8fO-jgCg_;}YSXaw=Yfa!IO7DB za&9+L*M|+F@^-RqpNUrY6bF!}g!t*fOG*-G#nD!D5IE;L!)<)vzDjXCU_v z1lxt?kY-<_#_`-ilQB9or!qS|Tmb2Ydlb8aV=Qhcj~)AkNikJ#BOJH?M7};L*?{ zxLlEy+mX8#T#gtAdp=xD2(B(Ztm^J$m{P7aUig8o4W|G=B$AaAbzSDEKIIq$rw(O+ zyFJGtm$!peTo*~`q>d$W;}|fj9bB6ExH9%Uz96=A>1hSTq29B)^JACLlrNnXw?2Pe zu%&;UK%L=s{$qG*u_){-u)yixRe z(PAm(h)vOBbAqmZ+?bCf7kA@R@f*r+Vb9~*VaN;y@b&AXePP_AupgwDu>cNSek$q4 zz$}-cgFEcl@vl`L_oyG~(bJAu#)=%4yDc`*)nl=A>%+S<@0Iuzz1a`Z*cs)eEbh@5 zk_RUzb^!~P?W2&o#meL6Q!Ds{wrAFV%$%$o9$+(J{L&B(Te#a3bhIZZy6`FK)We6l_C=dCCOl8ei%vIdW>S26XDhC_j+?Jere6=3FwlkGuX~Jx{10+p%QWg0h8HM(wU>h66?T%IE@BOkLf zugR^Rs8@H!-R4c})*WGn1+3sfRCw-7#%y`b?tA8$(dL|}iBq|jx%=>4QbK!jX#^Xp z(f*z*kw_11i5|JIf}HJdxgSdxUIIAS@JVdChick-CF{SrmiO1L$t{Th)A~N0pa`$h zLvbJ*BP)ypHGapS6v1UkR#Gch=W(5Tb}R9x9Q%#WUn)An$x|~vt~|3n!=l>!xJRZ+ z=8ldt75L(|=7c-syPOTR=eTZ!D&|6Y#;;0t$eud=$wRMq1PT^{slP=Os+6e7PZm1HMm2&bK6A2rce zwoK;mVDZe6f5u~x_8C)-9b@p-xFo$O)hl@|7yV)qbR3T(x(U6ZK;7rT~+Y1Gg0837y*yF5kps#4;f11cqn-|$EpY$B_YGqQYTk$8}fPlMFLMRzK(gx>Ln4W!a z*#W^(9xIa<2MRW2zo5)o{XJ|vVO)Wx-Z^q!O#E*@2vQw0`}~KiwFDnZ=3C&LXU^(j zm6SiI5}bN=+Z9{VIIB9U3(V_Bhf;c|*-SogPL3Ls%iL}B(p_|L>Lfq_z?ar=q^`c> zRzP%zQ&A|dHb3kr&(OM7;c^^O^jqGb#buYux_kwOBRlQYlA1)`=9W@=dWZIh1q=YF zYMH>S*Ke0Xvlsh%hLo0cg7uX;ve`7)*>I02Ofq}Z!nSN5zu<|CYT;VWXnS?_cv$yp zOa`}!>n1FrHP94KePJit-bV}t1A%Iz743o_Sil$}{!UqSh|+SjNVMN#cqYo_m#AcSLDi;x5%)&htrW{ zk4@Wa@1TrylGii2aq1BYpGHaWE`LJOiz2AMwq)A#Mp4uh*6h z6}iE@yNPYgCmy`0^@4aOOZe#gmmy;OBPaX`MP=m{XE@AF0-a;SyX{Z*Ae&A8jFskk z>+Z3ubD84|MV!o4BX@H6i3c<$VpTfK?!Si%{ChUV}W za$Z>E(Qk>VDcx&PV#96<66Upv6`J>dqnz348e zx2NtGg`*i_?{JYnRV({gf5hC{rL^pC=`o6VqXql@U>SJmD8(9eIC!*_7SyFz`<_)$RxQc-A|&+4V0=1A{nlW1csA2Fs;A z3TSEB=AD6)w`Q5AOteebNV+piikLR<{&0qq(s?}}{}oz~!6TfAE+&G zm^XywNz1oEj|s>}CZ0E)VbFSdxiQ)Lt?zFJx8x1DAlOSC9a>QPK@c?MvmDa|Atu`} z_l?5m^zkw?xU=1sYYBTZF`v`BoSNEd#+J<#mH9P92L~rb(neAU z%hOY!m#6;X0p>5%_~B7amWl9lLMfSdp+F*FA-t0dL?i zA#LjPDQq)y_O{*hT5(8@0Q>O71BOXrFfB-;osQcIVhW0wNX$a5Wtm*+A{N2~zNm~p zTgH)fi8w&-R$ySCG4|`pv-ht{F<&iaWzBs#k6a|N@w`>*T1I+E7N&q=u1Ozrgl$eHEN8i&!s+z zVk32_8L9XX9hL{4=LdABd6wDu2tF}*wJjR+8=B(SiL1VT0o-T0UQswNE!<6P$}12y z^e-O$mK2ADiQdf9fN9y70IB%rspW6ZkV3~PuHAvRwdSQ)DZ$QI1oNA;Md@qE1BCsy z`;g*~X{wzwuM@WS<5jU9*c2mo4S?_7`M^5&v`gpQB@X6ZiIYq=Mr=$w8N60io(VI_ zkEddT$LBfMR(IB3)1Zzn3_pAGe%+iDxw!y|s})0?JbAETtarQ$@*Ca%I@+EZv?qP=$0BG*4=sH6IAb}r zGs}4_O8l^ncQY}4`8hu}C2xfmL1a7~+;uOmJ82oSCdGEn)U~$X9#$LBiKg91T|rL^ zru|?WWiw_l`+^0jSooWmav}%c2w?dhYtQ9LWpoiMeKLB$U$}dFs$!((=x~_Wo{)@- z8w(}_+dSk5vIKo}9x~5$HrfDRTwN|N@T@>E1w7Y;@jMuML2%;x2B}^YIRcoRuB==@ zm>M*)#oX7`XRr!~?Gs>nPZ?S6_n8$tX+Jo`bN}`1Q{js;2`X6uYH-Ww>*@hO{(>$G za@0wq$~gVk?hE$16X_+5=T7;wK}cS5Qmb5#4t!Ca60I9v{rZ02eTbm{Q$_{+cklmB z_GC_qeJz6sKCY&Qw)mTiVy{C1sy9RkQP^Fdb5ZJud?G|uO24~isimxC3ayXiu0pKC z+TY*h^(M;P_DMa;3Wjx_SsUw5i&NYZ%{4Cy!!h;b)YvN=@>OcEt+8?%CCpWcMgOeR(P#9yXAoYK!>;#L)e)-6~ereEjN zR#ZIET&(bUBeQ=SqVwwIYVYey?NmSAo!jRhdRkD#Z^NB^&1*tix|C2-|Fdg{6yy6X zy#`K`w*4rX8&yb>Rvunq73{CQQ~K;DXBv@g^m-3`{<9yAH;ys4toeIkaVqSzy?``? zJCCbsPAizn4Bl&hL!B_pb+|S?sq?I?Um^IinpXf zi*3!m#7>ZOy@fl^liVZfkO=ctxbEkSUEY9ww`1a*6Bl^FtOBNnw_%h(dEuTwAOzbK zpNGAGJO6b=6K5Bf5`R_Ev$alM*P!%xnK!b#ut|f4Bw^kSJjwiiY;GH|!@=gNj0Nl# z0$;%0tY%I*6Y;(YkX%V*x@UagJ09^KisC;e_m~?SY}owPQs_`4^`o5h5{u&Wxey~p zf>b2sOZx-NjTtUqDC&x}Qf{@-`mJphhrr^QRd@A^ldj^a>nnd_QU;S~Sa?+^uVP6`L=N;#qpdz#4PfXlBficNRk zMpZkRXO89@{E{=bpL^5eeU_|J!zCm!5%j&XUNMJMst&J}W|e6)v-9!6k?U8|OVSor zkVW9{HV*TUB+2rFx%TH$j?-9_jp(s?wxh***qkl%dGD=F%k2jcJbx%y$YcWni8jE9N*Fk_I?$iJMdPPo# zjcjZkxG-l@{@;^%IvIq6jdK8Czn)Ng^uMP=bG!(@Ap`unuDbQ)e@`c*$<4-#lc;^q zBU`x(3zW2J?uS-|g#WnnTbE)=Q(z1F{`oYcz}EX-dOD3&(B6uO?97gg1TAHb*(@7a?zeGbc%{2u`@$qhKLDTrakU>DY}U!Y@V|5`$%O! zaV?YzDR#Xnf{bek1#{{&QaSyG2{(mClWS zVt>_q(`L?Pp^4q+SN*jvOIMfYn>hbNBt+0kG5EJ-h+uxap(JZgq0Nc2{;n_LmgXs234!{OvXkJ${W2QU+kCHZ>gUM3Bi$H)^a&6fB;I zx2O;-p)y~hIqNE8N6Onl)-^MZ##;rpgVnwTJWPqbb90T@g@ABy!&;;&jYnItk`j@ zn-X!Ov_R_n2r-f=_=qZzJr6Znxo&plnd3;gPti^`vp;uUr91!2)KNHv%G5oOkYe5%8dI$IzqQzYsVSZqxCMKkBaFJx5# z+*!mjV>CT;eW>|)SwxI!{e}>o3F`8Sl!BW*s$hUn%aR&=zxI^b%M)eDCgm*Y$WuIW zb%r`WydZ7=BF0>XYkVWVRvuic*h2=#RLIR3hXFT5r0|b+;96?%)l22T`Da|_dT>hx z?-gjezRv;ft&r|7n8~kNvT#;tdaY6eJl}|anhjDbrg%pVTo%J>5fdwACJuCGGKrQs z&IelWT-q>&C&Gzu%rr&q;KF4uPyP|IQ2)ffI``IIfd*}6;QaEm{F}gP=~v^MzpX7n z+@~GfXK&cAn&Il7ggZM+Ds!ar^_j+fW7M|i(1<9(ZnC2{sf+N|YynFt(`J8`r3W6Q z;t>)5qYDhGAQCj#nOrR2dW!@Q+thb^`aLq%rIHU6+}PJfDcJx0=oiZ?g4quI_no?8 z&}|L8WrLdGAmg}KnP#J;{VwD{`=B8t2s+SX(^)_FV&Yvli&2hQiWExgFW1Q>E7||# z7>OK6ZTaKw5-8^SufkUBRVZVN^p=qeF5@GV@_=&8hu>+unde~aM@8jkeu_nBPn2@C za^f~#JE+ZwpPtQ2TCTM>e5|-60)H6AjV5^*(Kp02UrQni)F-i0_sk-oj8`PTixv;6(h7HoA~>D>jfX6@D%k zJo#mokDL!IvZjfJHQw^p51hB$k*7nPSR2}HDh}~x&Y`v`!dtZVQ3Hs==KiWz{He8I2KZ<2H zj^fm7({T#bP;Coz7(T)}>8@MtiEr$vDlD1X?><3*^DjndcqKWJ4ar|(F2IA1{(GMA9>mYU)U z(++*R(iE90+%xpne3Q?@j^Dp4(eoaGKFOa-R(-U-EY>74r7}0=;EHAoeon&#F83w% zVMLd~+sxtCX~dNS?gF>L8RIHpn&}gPH$3JCzsxyJXt2)u#06sRr%ImdQBb~a3|M9! zWB5uD$0P(UH_Cy#{V2;E+&Fw~LFob!O;kWHi|b#ze7EEAB2Dzxl4V#v zc%Q!Z&eS9f&JfjlQ88^+tCg6Ow_&#JMSNu+Fe_{;vF!glvJI#o*(DE~e3r*QdgqGb zjosI)!}VSlX;t6qgNxG&|A5sgx6%=Fufw(ZCbaV}HwR&1)B9>4-O66WmUFr+lZ2Xl zz5cC!P4e8GU%kJ+)2HQmOW3T@{-sKctk~6mQoK_schS+B?7jhNY0&5}S&XHEU*_cq zvdYzqBXEAwQAVbdtKoQ=pfoSP?E>@yGRwauFeQ<<^^8; z;9j<}Pe!!M-Xce}>tz$}*+i|SyR6~Rv%5Bdcq=R}4Jvmt162&?Ga8MO52xwdQWx%L zag2CuDXDhucfckOT*Nn&(sW<-7<@ZAqIO8Zk9G@??h3l9uo-%`C$qOj?amkgi_4Q= z$bsWbR?bv>Kl*B8J@l+ymwk#(n8W1Wn^0CUc!Hnlds(*@#NS9dVa=Padtpy>WLcg0 zodhSwVG+SNFt&bN{#vBAO!PU@x?+NpXRwGh=HVAHigSitMx62}g+TTIuiy@asW4Q| z9>r?%C|G#v{)IDJF;p-A_OA$?zsd0K+AcC*K`@FtHL#d1>!B7Z;3;b8nNzwI)7h5J zAv(s5_DtJc(f-Ug&i1Fh?;~$H#wONiwT>()R2kLGBR^Tczjk&k2n!a(Ke6V5wt{m% z#h1Gbz49TVD!GQwN)`JJ0Pi^as=v)DyJp(e@M+CNDBhE2TZ z|JwonCB1{4QTfO#zucgLNnA#@Esp zyLG!QK&ny~r;?7}=>)e44IVlFa%X;Wu?UC(d7)~3<$@~1{Nd#yr& zqJs#R&53|~6=ZX%>!+2gYOIb6c$k=K08wCsw0>K=_VKqaNpNDejOz6rxcLWV4_}m6 zRz5%elD6#RzDWO=n2*sZke;qlKc+B0mwY5JrlSq|IUf=mb7Kz?jRoAnOoTq zNMAz-BhE(77d{)Rqyk5b>dJ!zuE%te4GokPnZ^(H4lm|DyIF`sQ^WpIrV~COu1!(u zR0hP`bMr(oV?KZpVRj<4WT*MwgBw2c@!6|C(%{)6ydf1T$?QTa8$}`me@IWe z+m9>}d4o9lzqQlO)c>Q7TGb>n#-?85r8r?%M=%7msCdrO*(W&*Ya2YmdOo_;Gpw@47VP%rg4}CxdZ8 z9^t^}JQ#k;P(LY&$tBzR^a?sd#DyNf2x*GriC0W2Xj|#jNxdB|rlqK8=TO~hn7DOV6&B$wl`d{Xja(D$8GSc%d1=xnw8Wu!d*yQnS8 zDbnOZQ-}qVeY2M1fpk|QSZi8rAw~EYPdqTN#^;7|KK`@#A?9OmT~>K-Ji+!r`vyxw zA>LVvO=h~E$N7}akdmC-`Bue{le2TCr_%T8n#-b-5VOjnhrtUyaaL|QHOjx~ z9obkMnYwD0nC`ORDuBT;>bvQEX6_QhF*FGj(Q@@NA`{GT-HK(Vy{9zP%iC&d85|^0 zQBjXVfBsCdwB#Dll1l=4LqEX=Gg!)48P@9_1kV2{;eGw}l0oO-)r!klC>!tK?8{Bc zG%A!v5OG`_v1xPlNS#PHtt{OWI;OFfQuv~{hjXK7Er?c3u=((BJ+TqL4WNYmLsbQ%2u_0X`~ajxaN(V6JZhrUwnKkExiRd;H$9VDD@Hxb9p#= zKI|5w;qm(c0^c>4*n1zyLz{X=_DQHZW8U**4h&A3DG;kI;s zSdIy&z<=t286o%_6_~ zW)3i*+Vss0l*)Hoze(a#nlR2M9e?b=(ub$++WirY6=fZF|PV zO#95Q#SXez8X-dy)R{2zWOb*O)$ZA=n0J99q)giHt8ojn)&t$&JREdSlOxCqWQpg~ zsbS!j7`5XmC~HNF61#4U@G98&++N4dvZ}E9FwVaUbOhU~6T4pBLBU&j6ki*o`T=pq zH0CrDWSlZuqXU{%k{J{)&H|s~g{%DhTvcm=lm&i|QT(6tZJ_(UO_Dswr(;yblQyi7NjbPT{U)n_ zDl)HOmYIozYeVyb$%7EgKEk0qG6K%F!kc4u@en%9-|n)bANJzAM~~=MM0VIQinq76 zHQbFSepsRQYu=5*of~76;-8cG;QOh%hTKx}s!dk^#UYy>89dfzcM1`1)2I^L0WP=T zVcdk9#J5xD@1_imuCJopX)86~C+1dMH+C(oeN&Ns7yZ%PQ4VcC@6Q@ygM;8HY`F8( z=?iYtAofSVr&Hv9ifnT>&(t17e9qv)1XMGB{<@hO@|xD%>*3e`bPVYP;8JnSH|s#w zfYK~9<8of^BiD9}B<#%k#o)_-y&*)XXiUw;*1;IrQLpMBY(i(&@uUq=x{-qDQR;NS z5%{EUEM?t6CzOY{DL8y;AXnv=NekDn5K$8>j~6N9My9hm(hm@e)2c0z4z76ogZ#EPggE1trK-HYzyzIN_GRt!DZB8+;N5} zA*hKC_5N%SPlj>3a8x+%OPm#uFd!Jw^qBuM(_6%X5FFNBeLiP0J3G5Dr-YCTP+T?;BZ9nbvvf_qJe^FH{Khl1! z9*%#+VxwDFoUHR+?MdKZ=V4Jr#mNai+>QF5JU`!rC!wu;s`{ywOkx;RoGfN_9-lIY z!+PwQk@VjExFh(&c@!|9A?7e5o;BsSCEbvhHv44cfQ-?y%x^7u@@c;blk5nyAbiGo z4ffkD;_bvkJyMXGvw{#Neor@4-0>adHhRygv|b)fh01?&CW(Ja2C0v&>?X9pQ4XMJ zCDHczSz_z^tYjQ;q(CXi5(1Y((40E}<~Bm{*yV6Uj#6AzKG!wm@5r=ptPWZ$xK;EH z0i(xY?N5%b4MwY|ki;*x@PO(TpO;Jjdgl-CO5ykP&R1ZxEC1Q~n;nLJO&+f>UI>33 zpPPkXm|o=-BUd0-hTS25TT!9?`sd8P?_kMt1>gT9c0VO5v-j(wwIh=-4F2L^eXW3H zSiQ`}gyJ({z>!mD&j%Yu>5;CbSh@h|0RvP?;HRO?g?ZZSp~$`jKJz`zSN8l8d;J-v znhp5U1BHuGiGtE5q3@?+vVR_TM@u?@jw~!W-cq=>kGE%kWgO;A=g#TNk;?YeNjl|D zRxr`OA{UTSPZ>x-Ev>=AZwoMm$Iqb~26+^_mv}QD>>7oRmt_I#S}9qhkRkxFOQu_1 zFFODge;$48qTDf}+)a#d7A~RO*&cS-$t~IXsTJyX$=0~9tR!Ak)Ui{+*<#m4IyjT7Pd;;*>AsTK7F_vz&G+3Y&m#Gt?oSroa$vd_3q2W#>*d=jrvQITxJidJ;LehKnEtty!3NC#(@x{L_!)uh0h4#iNb-3yk7M z&&`nE4S$%vB~GF7Br1_{(|j9kAob|`tLnG3#9^ug#q%*n9>Pa?G_u@c3v6jypE`dq zR%kCEDr+jxl&{Va*h5c}PmtS5_0x334#m&qxr7i)T|DXY5h-5ez3J0;-Aut*WnT~{ zcR&HYI6gkoZ}ajZ_&ny>d42LDhY?)T@eF3g+e5INt=R&NMA+lZT25!6qvorN=t;Ne?$7f3bwDNHut*os6<07<(a__F{pcr zOsmalvSA~eiE*#OFJ{0o?P@UH*{kJ=jO0TP)YBAcgwpqS>Q)OjPpZF|*VK{=`dEpK zaEcb+8VSsc>0#bHJVIehOF}EUuPPT45s@{d1k1%q?`X@KJ>5c~ery_@i+zeW*e>{( zO4@wy{|@E{)MOZ3M30djPZK$OG`bj=R@r8n=f6M$er}33|KwbrIY2N1r^HT!ZZE)V zpA4C4?)GVj&ZHVGYweO$(NI$h1QV*T#)#6me^~yEY(w%ChRmsVb0a6IyHZu&qgHla}8iAuM)X!)X4hK}x$t|Lg>9|j#D||7U)VK~T zwu>$lVX8&xyN>ecdGmvOX4qWN-99lL%$*6dX81!CNmL%-kCW>s-=*xK`#vu`2#p_N zmD&S{??i`O^V`ULoCC~%gfCq`OATAcEoA&tOo$HrAFOzS6sbhLMEc>9){=IK+ExTm`BMS74CuB zh_%}Lh)T;DqnQd47U0saGK27g!uuq3Z*PYOEi@a1Y!s`JQ56q6$Y$AgDT&yw$nP(6n*S?`V3A+8dQe8Ea zM?17SsCT~4yKN8w3YR19tl@(XMxL#%(y!enm^OSmej9PgNx z{8K!XPtW{1DJ9dB|Ne~Ect_S-uCHv~^Z5i}|9-vQWSFvCJ7aIv-o_=%=HPK1qsqQ> z0sD&c-zhXr6PcLVWkto{@BiVwJT3lN}9T{G)Lt0`4|$F2e`)}uY6 zyH-S{|7*v0tTHCL_I)D$`z7ya)~;uC$|scQpyH=)Tu1bR zCEui8&3#RKBCpw!oHzF3Isn&o(h7;DCSA`@6so_431_R%t7;~2#Yz6G@nDusra=vD zXgGYafN(;+)IB?i@`E0nnDnv$Dx6s}j4g*55uwX8Rca3S6-vmyQUTia?PfVQi3zeH zQV=`q_Gf18PL#RmTtbD)P6pe5wTbA7I*8Yc^I-pb$eDO)U*+aMGHrViqK(mY<2DWF z!F@a;zcC^dQy0m&3I)L_=zaR4`aNaU=H-ERV~UCzRKz-88Slx~Fm)B;1hkWC(BR6R z+l*+1|AxEylT5RYCOZtUmsaYG)GPkpy*-P=pY)Y-qn2-QN4w6)272F(%_%E4+tG25 z5jU$zgeylCcOZMen{HoI+cLNQlcTueC?TaL*op5+lDPz@L&S5!*ScNQ2s!>epF66C zjMj&9qXVJvd;m`5_pOKFLjh*L83cWNH(?^he_(%>zicBub~#4N_j&}z#VG)i4y`fm zKA-j4^SdcoL)}?%ju# zXdRWft}E57{MV&Z3O+`Z(>=176CALI&^0jdAK4=?D`tdQ@Xr?jN_T>+8B3!aj7`B{)*d!s6_8o62?KvqtlGA6ZS?q2P|3%naffwPe17Y zJz53Lb4sJUGr2dAlQ3=`Y{3JP$(v0U3jU+pL0?<`C7&5%yI->(fXm>-H~{L&8%djR zi)wx11sBe<@i37&%{n@CVcx1q9|wV!7EzK$T_e@k5u(XQp}<)--0VtEA~64oIUZ1d z9Y(0q#4^PK6uf5VWDqaDjwmAVKW04`nis9 z`6GuDpn~))>JdMlrlh&+#Lp@0&-hsqij7n9CvR>VgoiIB-2gPNRet&I2B*_7!>Iw9 z%SQ(^#|k#rzgjZnU*2cxf}J(hAxfh~&p@;nv5Wn!I&b-=IBSoot)PgX3oG7q-V2kT zMv@Qd!wAzqcKA~02Nmv!CJNZXab5I-+?~GlZ+6h;0KqDjGlEf+u2tc?OFgwMHy{x_ zoVXi2zKnV`3eP`0PjVbqzBj`jyBbvXY56HbQ2_moKfW{9)kUNFZDY{6Eo$6(qZc59 z+h}E7APez4E#CYeg!Bw+DgD5EWAQRzfJbgW`;E!t>srDLxN6=G%SUWzj{09-v~+!U zZh+%sMFCmZ{mjvFYSR0TrFj6l^<4@>?)4igL!pcrKzxG3Y4D^U!R$e+Sm?7P-%atwe0yWco0&CZ1134S{*@G*Wnjg9?$JJ)&^bxx4HMDJ@80Usdi>9fL^lO@u&n0R8hjP!gVPB_} z{Idary_yC)(1e;|E^0m za9HFo#1YZMqajU8)mpzVuNX^mLd39!ti8tsWPIuT)*}32kQY6BJYS)Y4HyE-{e!&u zEa8uS>sPjH!nQ`?%th%j}twmtiP4 zGVq1|h_lBz&yg|!GTMG|0WjR*v#1h#3!=!I)HUS9O}@f$=I^l=3?Y?ok)OwD;q(TC ztXaIhJx|6v72D@?e}nlt1_5a7_BrSYPj-^)Z(C?EXTduS!eH36+pFAc>sT?RN;N_! z@%-AIrFiGthhWLrd(qmS3Uz7D8uP5jFYZaX%VO_F{%dg^8ox{lei-gitv`j-Z?zDKW^WySe~pk z%`p&{#9I(Am*T^z0wOjMb|uwL%PNs1kvh6{5b8MdbtKQ3F3$R zTF;pPhnvJJkfe>x$@mCu%nGGR&y=Q(#?{oqEwRo)c;PGu&R1sfdl~<)Bu@UxbSj&; zGW^_~pT>#)G6f5FCSl4HQx${3kPdaC`(R_Obx*+U0s1T@il?6Xyl7AI+dZ&*+lm&) zZC%}_{2?xHDPG~f+g)S4_(xr?^5d0PKgF%HRKE7O*^~Bagxc<5+JAQs3@{)-P@Xh9 z>u{yFhL}9fnQ8jt2v+a~EiOzn5W1b2v7M-2%3R)3dOVkBGe|MdK=gq~&T$<$ttO#; z0VBUte@ZC`WNx@`Sc}G2xK+X^nhW$3I`LPO#N{k2abG|MQLQG;%J=CE=tP{Vn?;t( zSbJ;sK>)SKzpTA&gYsIewZ)i99^eIG)Fk}U*n>_ySI*=?bpMVQTdGHjLDad3jnBgKg9DO+9qd~GV1Hyr*8-QRC9b&_&PKIQ>rASEMw8e_Rr0TVMa;5i43^Q<0-vMNzo!hlB`iZ#G{kf@P_1e6_dE44>(noum_P!uev~;$miQ$i3gm2RDah@=qGOQ9X_~eB# znZ=dYN&xR>CNe_8u>u9F5Y_1+qg;+RMex~eXB%s@m|z76B*YqiYdGj7mOv*$DsXui zWTj=%rPe@mj5ZEXrbT^o2fU6hiPs_7@?htELU;<7T{#4aNW$jF<@7U*PcZJY6XP(n z@EY>LSj}l zDXhRtUw&BU-&SKE-R>AN;F$IXS*X<}7u4T4i#RgWe(EK2G(VPJc_Ow%AMp{I*kO$O05WKuV~)?BY;T=AZ( z#%;D~KHsJj|HSmZ*fNUd_&#sTw7$(*4tLPSL5Jz^SiN%H4rMgJ>K zM3n6#)A^$+of>es(@FJ4ZoRIF8@LPW58(vz8!33@C+8&lQ9SGD4SRIV+j zfa|gEhQ55k(q=ei8SSSO$y2GhS~}R4oY~;+CP7HLcb}N0JoW2K0VPi0LxDAjWLb(q zUQ}qm@|pd+Gurk8OyOZcCyfxjGI9SoBji-|(mf=%w`iJ10c>92&QnkPAH6qOU2q^uHmr`PVdqLV$(2WYN0 zoH#!(#1}0;#ZM>NM=-7~bKDAnv(SYmHwu@Hu32+)^;fF(uBbrI$w?|y6T_nA#yd>X z_BCa%9NM!tf2V{P7~N&hn*HOU%6EO9&BsBEo#!9gooo5pZjaSZga=6E`gQ8-HzDeE27^l30c`_2^BXr98OgIB&~!QTZPCPH-sUja5i zX|~vW7EHY^Ar+%q5;sH!<8H5PIDiLqzk4ARwecy3o zyPs#qK)m14|BI~VWYSk`xvVmN4p4O$5 zBGIsFOMhS+ucO6J7j-IV+ui?PWma51^l4t;kKD+}>)!ySCv6LRP`OV(251li&2pIW zi__E}mo+#U_*`Y{GphmbDT$V$6sm;B%T0O3yA=H|$$EvRs?g*VHX`N2tAFrawR);7 zZIbwVknY>QRO0Eu?`Z_&XDFDiQ5;G}^MbB=Mb(t3R)HDq0b|#&@y>@pau=ecU(_f` zVnF1OPkkcG?N{n@ED*~Pf(V?`Dp)BB#{fXTsGsRdDO_H$vw}{nF+w7X=V9OM4x=oF z!0n#uHV%#pM?TYPS)_?3F$qjrBwhb zebR?{j|cbK@lt^pmOtN`r??zmueP4>2_mpP)AJkB_%JpvckIK%MZU^yHJCqD#f+&p z`10Tvpg&vvNZDcs`y8d>_4*GP8@T?fo&V|~dlV429O^SH_27@IlGoKwf@t)6H)ts8 zIbKO?izcXgaD~**1H!)CxZ_z%8RnEI5|cc-!HoER&Z3~xsi?$ilnu7<_u*8b$U2OU z|JBuDq=K#Y-G4f$Yza8KbXD58dY1~2G}2~Du|G|TR=M${M$A%LUwfde&5ji!xM?(d z4YB2Zxu^6F9YRu&ytiXX`!`pmw3Z20`4OO!%VBI!#C$P~40KoJTw~%=hqa8=r79Sv zrmvzT2#pJW%>-1c_FYMf3vRRsv#>@%$SJe7@pjQ`3`9RH0qAc9qlYY#G|>7+$i>6dHx{V7k(85 zWbZH#^cI$>=+gb%so|XZWj7=Q2Cn^#lM>Ki8v6QEMR^aT4t-JYIbasvLzx6ux%n&T z<)jgDO1aPCe(RNW{Wae*OG&g+g(GK%v`&cJ&wj1N%xcyDf+C(YZ~$!5I&me2B0Af! ztP!O4X_m$k$NBmXqWl$KlO~}4Bb+97mJ2iYtP2%UOOr!|Zx0a0Uq`x28v-Dmlu02} z7}~VQpK}R|n=@OB%1cXTm0pmQEL`7dP zF8*}v#nMP!cwzHj2-&IMlINEnuzey%i;$e0Ou=iLlRoYIsk6lG!Z3~Nry_hGCD#Sq zckyL;Y*B-`cq{nCG<|L^8-xW0$Dwp+rf$Swx19+$Vm!k6Vf(7K$zrxKxr<1SZncR2 z_~Q^AaqH7S_7A|-Xd(bY^Ye7)#%5Ih*+~dSoiF3QV)S^Qh}em}oE~e>zNTN?;#{*z zBY?U1>fR9LRsqB@Z~qD`F2YBbO8gr=!wKyE@@@q0~V3|(*cKPV3#|Wf6_@4 znE$LezyC}EAnDkTpO|dzNsLe?VOHfl`vy1O+=vG%QR1iyN*fS#Cd&L8N`jqhtzU(%H)T~MEQ~JLhR*RRPpO~@^~9)n#*uA@ME9jXFR*PK2gpv>Ll9@`X!DM?QeDdlX%-SObO3T$ z*fyK&sG=k}v48})aGbb@D?#J&C7=~8X5pViH#n>q_G0R%^KSw^_o{3_6~v*3a`2=> z9uRy}`cYI|ffI7fG*iiqmgNR#@LE7L*PEh2K^|MfFNj9d3O zG{)m2`_6@M@1PNs3b%<2#Di!oQvkJ{B>t5x73p>{l1JniQ5u!L*MS>gw#|ouyK;|H z!u?g6pXQRctyxs~9}yky=0*+9fhyLB{Y{+9QBZ?NM*$zaCs3u&7E6mWFmdFTk21lK zznThHn5DL1-Gh}LG&zMi@Fc_Q+jn{Q#mwzrFB&6zSSpW>%y`zb9iBA@y-^mLgHqHamoRE||1R*T= z+(LPA+iT3ChmBVK#Kk9_48|@MtWcBqQe|8sjvtgN*FKj40U-45oGqz}NXX4b6+o~= zWN=xYZl8#)CcgCPQmwy#N-985)qR;Sd~O=`v3B-#OwQ8~mqvC1y<^EUAU4`G#lM8H zj~OAU^o(FqUnd+dYK|fOlbkeT>SCIK>J*o@tb#Q5HpoHzJD%{3RRCE*b64sEr8JQ{ zO&$;F$kbt5!KGFFsvYB=E&x)hvAwqngMMa&V3CncEQu@Kf4L5fLP3&__yN;Q&yi0u z7d%DBs=7PYiQ_D}(oiX_wMcA0%;Pt0&%IZa5<$j1|3z~(5Vj#g`WTC=Qa_DDzl?*# z#T>*D+C&^UG*LmrrPkWpe{?wcm~3QtkLO);9vrkFr)ZIDzq_sl%cwsE+n_|JI#Xq1#t;x)ELS@dJ`%m8=mn-i4 z6oYFWY7h1?q7`pC{mkAV#!|tB{3r%)a3m4(^a@tPa1HRNh9XL&vLUhG9QS3NYLJ>c zicMOT^Pj0O-?O%v&RAj*sbfHY$bae*1*F?QRfTRabE9CC6BS#TInqFH=&9g-| z`vf=Ix_a3di3Mqli-)LDfmcMOx5zFh6tR%^z7|{9z)h8 zhs$`qyOY*QctdKLy|u~apX+7Kh&@pjsLk%4;hK)&5a-%dX6}r8u65HGCC*k3edUk7 z21h~VZSs~Sh)z@E9y(oTFM*mw7-8lDSkE?Ube5iCdt;!`w@@>`gBu0hq+q#4Nj-U& z*1PZL*>K>@=?SZ;3|p#H?t#{Nomm)kiu<*1M&S)36@%Cja9wQf80q!&2i(4t8aZq^ ziE@Zfz&ldzKcXY!5@b0%cPOvs3ANH8$BvflRFJlC{kj_%C^7u`KbyE+287uCB-|=c z=<#HsIN+~g>(J6C8cImp)&eqnLQQ}jjeX-mxq%(p*&0r6a&Zq0iV$yOSGe~vr~=iY@7uE1#?SaR67Xh|0!I^f!cF4Nu@1Zb*qPF3z&=O-upwN?8h@ht zuo0FHBn6#JL=MVF)KIDD>FK5CkrnshS_WeGT)q2#ipI0vt`YE^Hmm<9V!}Ah$L)qo zx^43pF+kwY;puI!`vAmJZpq(@dF_w13xb1CQuJ$11~Y!>-$q&@C4PIL6yiGIbqyNt z8tuCaUd^2FKfR-?jWf0&+L1#9r+}F&0ARg z;x9>*D)x4)%dG-$>&3xK}Xks2yvAqMIVIc30?g* zRj(;aPk38;J(R#eq!@XyS7o>Dd$`nM?5@@6!0azKh#>D zS63Yap^s7+ZEq4!P2<(K+o(6J($*d06C}*E$1vJaap}@35i-z-go!5aWoQ~qkT4$( z<#k^>1rd*27z4 zlyD2k4C_i~!7K-{$rz-f0hzP8-%)sJQmM4r>`h1t@zZjg(kHv(m74h}MMcztNy?o^ zpsrRmy$x&O`Y~ z9h4Q7O=Yi6M|@uO***-kjnBpTshPdThWkH;L+MGSoP;I$w#zfz(_& zi7oIim2M^qlFnA7alO|>f0tzp97dU0sp-458yKbJZ|mcg)5iniMy$?saB_fE4rgNY z+iyj+|11=&x?Liak{_@N(%N6)B9~;ksxXe66MKKGvaKfyaim+17b<$k@H3y}RZJoJ zhpN6LYy`}HzO6MD@Z@gJoUf=N$xQyUie=)Vv$fYsclsPlUG&wvXaIi6yv9I9=X0|! z^Hw8|T4-=&#?PGT?W(h`()eZ(lAQ(4#aWM^lOf>q)lToD%tTp0R_K-E$>d3zsiwJv zuX_bmGOw!qx}qxs-f7tS_%B9zIF%#6_OHF4d>*Z;O6&#|be@Cnt^Q^&cr!cyk!5P) zVPpw=uigp9xi)A&Z}|H))aJyC^&&tU>nffGh3(zf*b{k9?59I(QxU6UwvOmBCs(6> z{kZI4lYK(|AOgf)g@%=eq=w?^B9`7M!E|yp)bc`VL&K#v3P^@#gLl?1bq8y1_7CIn zj-iG#1i8J8B{K^YEsO4<|G*rh*0il?BL5|&5oY&Q78NfxO=O*I(gA6~LFT_GtU6Qg z?ff>gq$>k=AQt&(RQI6h0SAU8pMT8<5DkMT&%YFP|)0J>JZB+r^Ha`X8GwODitPToO+rf zir2FA$0%8vEgv&`^$Ip_`zHO>Xt#F}78(C;TMYr@Khzb?_5u(Mh&X)bdBru zyJUY4dqjnWXwxBHjR7|7%yF{wom||=H*(KS!ks6>wcnIbCtX5_BlZf`0d_rP?6epW z{-0jrFzgvJ$Nq*C%o9l zN500+mgp`Y>q!&G^Cm@*T+=UZ`HWKyYR$4Ibg4}#r{JVjU4NQvD{dksiF{3PJHJ@k zJjb`UY;e8_%6(Eg^IyC{E`f2mBBbmATWK4FSwOo1rfTKwev5S^Flf7!mm2jh3&BZ3 zp{^^s{_-MsaL$FDUvQJ=Cskfg9G8d#1H|lioF80q)>jqN(TALmDdoMlw0(iQHq6HD za*czVnT?j8s<7bR*p;hkl9zC4m&LEKztBlz<1kOq+Yt`@d{`NV4IXbx&i>XAp@!UO zIBXK?l9l|}Hr{1s#`?mDQ#v2vwOobTzh%Eu}D}IZntUshrs&G5v0G$2# zKAfN(YIK|^8IvCtIadT^L5$KJ?~yLtrdL@o&g6`{!_5<KM`ucH2RJeE# zfyZIw#MLG>uGagnAjV&*phH~zV-@u;NhjppYlx*Efr1ZYj$m;?_~O$$5;p~m@O)?h zI?X{a?A9OD6XIK&-zW;3@Xa-gW zT~n69CTL}uD$7pwm9aCe)#SXv*wtNd^(Ki2Kyso8E~0c-;!i^<(@*z!{rJSkRc-i({i}qJ`);?&H{pS?KH&OWImCL^+(1SO%82E$3leN&Nv7myKW37n$ z8}`Vj;{t1kw}$VCUPUK&5buH=7Lfno?t7FF3*cM06h8*nXhpp#hPF>L7?_S#c{_)D@=OFE;S(z zwPC+_lF;l7Q|r9kn7-gms#g1(z%FQD`5{kIOH)Kc3J3!}MAprZ=x0@B8~r zFYFQA*3hh~4qa-UNVoy0h*DLX5Vv|U8{s)0CR)d4(w%zk5MK*gIg?jr_|i@K)BZaa zysX1L2mu>~2ag~zM^pn9Td=gaMumQ<50!beF|IuEG>q0n?5C<{5=52Kg`{OGw|kKqs}~!SSBE;RrShTF4aNbx%vU+IVgGCGLCq z?C3oZ@#_eFP}$#gU!(Rr`#a(N%;$K$_3z`mS;4-yJcM$|tijJihq^3&M|1kD$wI)% zJL8at2K5#;snp4kOI9p}m$1}P{=tl=1940-Sw(m{xFmVFf-yamXE8R22eREc{?{~p zA24LK#37Wpe+JXO>zhigHDC+}Vl1kA#M5>a7Q-sYCjrQ>_~3E28s{4q2kRg|njILu zO^gwABPZ?R>{92-EsRk2XAvcBqV}|#dHi&czFzOnMh&=j_IZr9QWSPm;GYTJ(*dJi z@@?URNuPfgg{|#^BgTI5DLf&JB6DxD*u2*zgCc>0)z9TG184~|8ycR&f3JJHdU2^G zCYbgAfT-oOOKv7DAJN6TN-Y5eyXo7mQ5(?ANzn<@;v9n)B`-$>H&5GcYlHSuk=Wz zbsQM6lP`>Ozb@r}W{DNA5UTVnDqC=VG`}CL=v6wQd$(xp0th(_i9xz>h$Z__Hr}8sIT;)x_91*#LzV_!B^Qi zD04Ng;V;1DYH%NcmVYM(S0##8$?cuVTV11oJZB7u?>&EOgfaTF&TjK_mQ||=g|y5n zaA-KuHI28ooyITTka*EI;KU0=*s#W5aWDX|!0^`{lS}Z?MNJYEQ+=Zz+CU1pbBWxo z*kJVao2dBUfDz8-cL2lQB){p2FN9boem}Zfdv^pf;DJ1Vu<=AH`T*B~_FB6O+G=IG zC9%bO(jH61Ci$=B`iPYes&7ANpyEkKj6n=UTRf#fSrelzJ?Y*GI8DK9Ubm@Fnq zNdDwwCOr%C7+(QY>N3KCCUcicJJ~-w?(VkAV1O+Ueptj~>QG%S922IIOr8O#fF3mg zU$2A#Ip2qY{*E`Ye&at4z~p5(nwLW;N$U%!GHTMB*P?f0!t=yH=6To1!G;ImZ>p&! z<*iBy?9D+!WcSv2ld8ag%>s4Q)WXUH`K>Djo*l!t8cbY9Y>kI-Kil<{Wv|Vh{aEY{ zniI+iHhT}wqRiD>T)p*U)wgF*atU6Ln^o6(kNhg~`mBiO&y7gb#NqSFT!5hwiVeq_ zp3jH+z_ZN^tNujj{`LX;0)#IL$d#agt3b0V!#sS^0i?zQ2a039AXu{(v-+MY3?gWH zUC;Jay=ZGi7}W)MP}!~ZArmk;>w}Tc;=ll;m)Ga{ON}Xwt#M3PQ2+zQ@T(|rIrSj^ z!rr~IJVPCNzk?ySRe%z*MCWQ|)^OyzQaa$`d?<`s4>w^>1co=u(iJcKZFmqslgQGHXu^GUBjE$h6mkGlcng`0z1-|BN z+lqcCu!j&XIpPbqe=Y&0&Xpi;UL|qs@GQ|$;iB_>S+UNyF>#r>MV(--VrO)y3ez8F zSE3O5ZtCVb#6=A8(MtNNQrAGARj%_QE0`_`C;UtXG)5~yb__w~K4PLRyyRd{R^Lyq z-naENNnOo*r+5J5DfI@*QxMcJ^{qyfUUKQp%e~WRRt3Z5wMqt}prGK;u2I+BXK^56 z-R|7NAa>`VM);Z18H5V`?;dmpNGlX2ITJr0@DLOou6B(4p{)PN%-LJ+0xY0r5tp6u z$p^IcG-%fAeicvCr3hx76;J@@R0uVV+9~+H)z_yXjj>>cfLLeO`~y45sWVxN?yJooi78&bgn^;FRJ$5!C);p@TdzW#R7>O68@m z+(lPP6Nu}o-#)WfVP$7kbLrkab|Me=CyO6wlxWj}7(~njL6m4%%*%9tkn}eyB2WIk z`}|iGr?`&QDT1Y~l?(s2`UiD!lc=t)=xy5HHcG0|Hj4v3F&bsCD`M#VtwyN4QZ^hq zXT9;*q{L;CxOG@I6LcESdSO%9YZHuFmDUi$js?93CG7R7zOd|N4s_w2ZmTf8Y;n@0yH4N&t?Z^aUkb_+M7E?&mKM z7NWuBhaId16hv*r3nu(G_ea=^i)uPvM_aW*ZpJoCQYMg@ zIYZ#@T#3#8yD}$k^>HB{325vq@RBy!yqul~}#7n30p~ zZYmHj4UN-i`nj6#3dfo8VgWA90;&1#42DOOQ(z}j&$*Pws?7f&b2df2J@Sh+hNpy=Igf%U7B0KO**p$@>h%T$wbI8n zrsrZKopr2yN7)ctcL?yN$=FW(*>5@DnmYO2 z+k3l#POg+_g14YW9#yUr(#d9MtC0>Jq49b3TdzzA?tfH{j>P80jL5!lE0NuVU4+4xYZ^>MiLtz-gic5`o0=HBx0FH&^&`qx-a}PM4)JT!LF3Oi zGe^hDcx!WTe0P_i_c5A&Tyxy%*LLB>O?{10JK$D34*>35x%KA}1L8j6?1 zHwnyQiBGVB%%Oa2d_guJqp7^&vMnnS*_e@Z-283{PSz_C{R9`4uO`}}hp}%EmxirH z8hxb6=xR1)EHvUKiEBD+CHD<{@stLAD^SLUCTqICapb5^HB{QhY#WZ30o1r~pi%m1 z!D5O4su?lu>z;t%d2q|Z z<0I>5d62H=TD$PPZq_j8t+BwOn;Pkf%;iuI03d*<6>rVLckw3HyItJs&< z3ddIcdPt||+o(v<+^giTwz#POnr`F$Lr$R4tJS9b{%D~;sv8EIRJm#7(QpItaVHKS zEyfElylU)2Wu#0`oZ(ANPBwikw776;=~)nMmvfv}@sO$ap}lbEn+)}gV2_uxXXCcz z7zpeh>E7&+4RnNS>#i2qX|?Z4JZ_lr{#o{2-%e)>4uw$xO{XvKAu5FA=6i1ayzH_W zCf`%`UPks)TXs=V5ZTbTZJ?L(uiS8r?djI6qQu2pT|=>DZQHDZNq@vB>%nH@6 z+AUywtH^3yrC=J8VT$unyH3WxOXNZ`#Ze!8B`8PKusNbg9+EF5xmOfHi?UH?8hDA% zUBB!EfWv*cs9If+y+`~>>wmwl5SuR?A|LeyEhnqcph^R(F(VY8vv3rs5b`mTC#dX$ zh@rHQ+_E7zQ>%RIqge?)b?oB>@!F$l2XOitQ*Te)+|v(>iw~|n-;V;2TRgb*)MHw6m=P3_$hqIm@V%?Z40W zU3*owXf-%*xv6Kb_q_7du%_z0pOMF8qa>eiCY0I2*f){;oTHw4V;HcZtQzzc`nrl! zi&#ld+;~qxV0^F{YOO-{zD~fkg8U=Y8wk%M*sr4!a(gf7^|HqB5`bXYvynpILv3)_ z=+I%fj~F1B7K|>_yii1JwV?kvS-v(@URY%lS8EANr#J8o@G=$9+g79@ZGH5FMV0sp zI<}U+)p&vJB!0C3ZTk!!fXqu>e;&jOg>P$CaeEkGum&*?qs5-}wd&AMExRc1f=iXB zUq%y}DF1gJ84z@k*Zh3e^d8|wC`Lhm;pQ!07T_AGlR}P)ctyd8M2R!JyTrmQ!zJD4}nAlo^y1OAF${!PGTYmDiC{)$K&L(fC?K-yIqt8 z!1uRfsnx7LaVsxyH|gr*r#Nm&h8J0g8yx4jT2j{z0AQDn>!l6<`_RaYj)r8hk9hw+ z-$S@XAZbW5pt`Au@+_;UEqj(O3rH*k11gV?2cZ7cB0a0|n@*u$ zUj;*DT3;5)lU&UKtF|gq9A{)NuI7mr{gl$!Tm6u#Gm`W7 zx^auH1D2Wiu_i!9BrW|R$n&2<=5K|D(@Hn9#hsH=17kdXqlR?6??{Qg9Js-MYXJA| zX@=(8j;tJ2e|cu+uFb^HiClWjDKal-c^cm?mGwM&Hno4Ewguy}%NZ^7`gwK|wzZ*x z&l-H8ad8;*j}%=uPD9#G8?(`D;T`a6bvm7_enz8$YX)MJ>W1?-*{<*mK?n0tFg#E3 z^}FiL;TZMGyIIz^PS+oNK_((4y{}60m%_@__X_-zO>+DnX)|$0T7M4HqK6-twp86B z60TwV$0O(PbUt%~3LmWHKmYjt#G~t%tVGEZ|Ip8oG79p%n!mr4lm9e7mjkSCYyILn zGhXvi1dydG@opE~D?w2|2i}TcAeQgB@9nvZPZD(URAO8@1(w8bc};xErV*IP>}a}w zzILtCmnnK1Z%NCI^$ofVLUsE?jO=_q6N8CQ^CPTbt#l-me;60{}GS+MC16^VFm#yO~rL>k&Giz>dv2AN-47(n_$xZZN>VdVJI82g8!_ zW;S%5<`v#Rwbf8*^H#D(=L%Rw4l zsJfFWro-mCfHSXzKY8)Em=9( zn9jHdB^L|u+vd|2-E=mA|JhJ#_s&>|OL+_PE@jXC-x8K{gEI9B9D4kk~cYp1(@$>Oe&^ z1A=J?fUa#x;LvVq_Vn3pGSCvtu1^$f2ls#<@#M5rsix#0)3Kd(#1nG0(j*(Dnt9r}avVaN%9B&D^7^|%scKhgARpO(a|sexeRN85jTv6-7*w7Bvs zjHzwZxv-QtOzt-^9@$>VEzDmD^7!n|lj8ZHR@n&#tghK%`=l%Re>}a1Bimv7J)8(a z?OnvGqP7xy#jaXaMU84v5_|6=wzlX{O01wYOQ}`6wki^;_NjM+Cg`YX+IX) zTGdC4s=r1ChUXb;E+DsuI`2c8C#13MhkilOEerQx6~isDy9R#-zscYfuz=d9^1`sZ ztFHm0k)O;4y#|A7Ut-qR6LVuvFsR|7nVDS6WerTTfF=u2$9|<5KTP9AQN*MtXAw?qix2jYCKQU9KhW+7+m zGXlS)s06chyC={nX7qRKTWI-uxS9OO8*fJ?Y}m0JM`RI6g85bfR(CnZ=7(zwoLrZm zt7%030n2oGd}Gp+|KqiMlo%>A2aT<edctXn~C+hmZBjq@0Mq z~-XS4>gC_M$-nbUA_YP01mFgMbjKhb?0CX_yhDy+KCga z*s3!fw&vF_Aoe2gkREy^ec?Xdh+0PHHCQVscz{`k^@HE0=6dpxUj7{^rJ=-@zM4zd z#ooLhpDGN8&nX$fx9}{^a-s~$YAqyAIO_kheND9f$teC$9qvE`14;)#$j9s6-KxQQcVfk(b6Rc|r@vM!F|G2s zFCb?Shhx&A8i{Kc zvWvmad{?|fbgQeQV|vzSZ?Xxx^Z+w`T5sG3!+hN^kMpUVLZ%{Ij-ZXYzeYE?`OZV;{?%X_n)P8fZE37dfL-W&R7a$Wv_g;0KyS_ z?arR(g3ZM0Ef!wX5<&qf7d!rkYmXucTD0qR0Fa== zavDN%+(@FKC#%dEhWT(`JHO)67B%9}iq@m{)+Rw|C#2K@XzrLTOH{Jz3gDTSs2WwIYYHkX!FTNc-B7SQhXYj zLP>X2?+g-NrdfOvPr>DTKw6R7sNm&KzZ_BpfJM^4cf)wWX58E?W;((F8$WryMRCS}r`tVw z5SB&qx{gt@G^%e>Bwk}of6P<&yr%>EAgLM$!0J^ioeYR z;}j=xDz1ycY7n@(nbxM+9E@ z#`4S&qdTJ_@cGul$`qLb{n>%T?za&+@Xhf6HpMm{d7jkMt-XKcUs+#gMVA{>w~}hu zP=}reGD0v3W$}LAht(Zc&5S8*y(p?pV66tet>kR>csS}G7U_icL7yl2CZVF7yW?`X z0O*em$yW!z1RHfG56r0WgGQQToaS4JZUl}6=~)C9W_s-;pOsT zIyyjZ%abKtypd1C>_b;pT%bUA4tY+#dx_Hj<}XUL{@>8&0?+5m&Z+g=u?vzgy27#E zbNZ~%fyp`P>`qQ5qLSfJr1KBAHL-z7(|C}Jn&fx$hQjR4xNwEiD4rP>Ppy$8RLQW=hp5XQDmes&*7grtz#CU=0=_V z!32F`d`WDN z=6Vlh??u=-Z}wo}^f}rYfLhT75VlIBi~>@I7#1G*iGzdMu9RqNnN=^pSyu%TBZBBQ z^c zZ}%P?n;ifRw5JOx8*02%v!#RS@pN*)gp3TOzB3eQ;CimA@{c}k0`RYw))?QxW%)&$ zc?UF(JMJ8*!~mbH&pMTRp3$HJ)*eYV-5>svbF#&%sFn(t2H(w}aDATLuoa58bTIBNDh^ql#63IRh5;eX-&EY|MA|YH$uh80#l5}68Am{k8<$* z7?|bzwAVW-ib_U47pQl zXRRRSvi{qmm2)GFElHmg^CooAHc@bF?t#*40pXUdfSmU{uUqC>V{?V#h1}PZqtX1} z*8b`q#o@|6WYJ{rLm?)K+RWrvw=hw+YVAdLho3YDvX4kLciddv(q-nPL=AAh%;tJx zL2M?!*fp@eu(MHmiP0udC|BmRAm8>t(GF=$rk{Megi zJoKpTQPMsroxhn;XW|xiV#_{c$W7MQd6H?TW)x}sYpzaiUOsDK5&hT}gmC240ubIN zeBmeY5aTeVQ34UJOZ;Yfl{{P1=>5U2Ve6mQ?ix(xSFbrsLsr+kKT+)xJiH_(mN@d{ z6%?fCS^Zr!OKjjxs zx<5b`t;CMHK`Jm!vEpxa6{J*msB2P3{(`>zE)q(w)7WnH2 z_+yvG=+UF42YbGQC&S2EE1I6*#FSWF1y;qRnq?5dN>!C9?aqk`NW*M{=&x1?j@YRs z*E_+yJ)q{gq34g*>sNPF6xx3E49tk`fCD)sl_-(*hPCh0%*fABlKQGo{b=aG%>j9r zOc^xpV~h|bYS=X;ZG3u9G|h;4;Q_cXYCuTbPyG^V zgy>?1-ZQ$e0&yVb^)99yuo)OXKfO1@9`}%*x0^c-p>qBo7Gat)qU4N_FLbH9-f|Q} zR&M{B&jbLK5ScCU>+tf4(>t`CQN&~fhUhg#HJHtY)x+^9HBx<C@BM z)J<&2N9rF#|Ms|7b3EXF$N_9U!S2dB!%l5?MSYX>^4boBIAG5k92&YL9FR;Ue{59! z{#&ZA)8AmXt+16!(x!9R0V_WTt@B#w9fX<1f{+$A5_1kmG%Pyk&v;iquSmwbv_R#C zga4DsScB0MkJ+bMmDkuxoIbYT5(9Y!_ZlUT<1V`9$C(Z7*R0PnuY`hJbhFm5(X?4- z!@0{OgrCo(t85)e-Ybhj?^|tbMdj&hTi)sf(jJcFZQc4}>h_UDWmD_iJTb*JK z{xZ%$Vf4k_&JOyU9=|@gJ(fZJMWU;7yFS{z_747x9T)bk0jB)aSF6@ulZ}Pv^2z=E zHn~+T%64!_30YD&8mhpbAG23B?=&SWEHqsYTz-5~A0Ybr@|?4BdI1~oXS{qqvfa&1 zOUqKr%4UJw?Qwo$zaTH6in|OD=t3En*WM|3L)Ue)q9C4Dre(!h68*J;Q80Knm95SU3oxK5>X>im2_={Qr8yBskbYu0O zw5l1o%hZ#_Y27O&>+lDyugS;Nd_t~d~*TSyf{hO|arg>qVg&uM>5@cQwIXfREjtXfr} zG$Eu)x{b>HaB`^idh6d4QXL9|LBstsWLS} ziD73Z1JF9b8EX%7lx^_Tk5lMG)}JpfSU1?DER!U@<@QB7J&@Im!wDid6L$ ztmZ?B)r~P918+;X5IZf&2&Ox(^PU%P+id|qj=^z1=f|n`w1<$}^8N)H&fMfcC5GDO zpCTGE%+2fxCrs&uACDh=d6liyoSiM^3j3Y77aM?X7$+1N6T%cQ^n|POdO6$r$aX-u zx#fg;OYkTS5L;6I+KGt-#SX+vj7xl|tZ9=0glqdcmnxVm{GQl^EzoLrVWx=+5I3kg zo$%AhQx!mXBV&0r%BL`Oomx`#@35oC-eDjBj1%iVfvoA z@-{wjPB>xN1kDTp{2Rl)0kPbWo9=o}zdYSR8SD=>HiqP6kDQ<6q?4^PaifDGMoI1* z*BkQ0qVJ-~5LN8n|6bmK>Jhz<#>PgHrv_%W4q1{-i*_E~nLdyH<{PV6AiT7sOHQ|f z*Ug0xW!7iOt$we!!>E_PD^v0=x{0kTsrRAI1=y3^l zXE!~t$f*%`W$7#EW*raImS>26UgK0gaC7tKS}*RfOw>N@kw7?xk=k; z8zxoQtmrNfn%6zZynAErVI0VL7zkBvDodgyhGN_Q#Q_)Dk%11}?=u#@i4b6WHD9UT zTz{3A*BI1#^X*|gh!bVypMqJGiB9W!!3cu2yWgoU2TliXY6&H^^(&5Y{ETi>WXHf47geD&KT%lBz{|W%M%XzYkmI?;L^OBor}K;KV9}nj8)3%3TgI-5Pz;P(q1R)sb zQgBjB4R;N4@RcX%jQqKuBD^oIZL84 zrYyRfWfh&wrr-DUJMLvZprX^CR$w4KFLmccRAXWNlSKP+iY@6GFYMe`Dy5VHJevdz zA7P>E`W0RC9rAfABlG(Mi+Y1M)O6LL@D-QqvFb>5uCOg(eg&+V1qJq(#g~k~WjBNj z@3f5F)>9KRy1{|A>)?)%cqV~FFMvONT+^es-c@{ry`!@0i2SKA++);DB-2Y2i|f77 zIQF?al3uHBacEOFRHB+A>^Mh@zNs$lHeqkE)~{$oEo%vxTYSpC@?cBD6%}H_gf8u4 zuz)h8>=odoDMFyPpY3d~TJZt#B1wq-MsSg*V7sZ+Lx(B&3;Y`I+WlotZ<)U=eB6YA zZFg!drf^mwbCE;q9_f3ofPuyIZy!x!eWm|ws##4AH@1=Zv*!Lr^u^k#7p7Xq<|Gt@ z!tEH8Ol;d0NiN`-nNncA7C0m4?sTe@j?yO=kM+T*;r|?zVIh&pe06}ycdG#BhgBwbuw)^!c!E~`F;ZClfY7^M5x zd~vD~{u*}hVW;ql3vCI&s<3a_MM>osGry0ceK${!nqpYI^X$!yPxuR~x;nDcA2LD~ z7YHuAQ~}&YBjGaX+K{@b!o#opVzz{RZe05le=frTqH22)q?rJj!!7Rf=E`W`$Nj8d zYMOwuDZL4IP0S?mnnBe3W!@#Uv>ezjfPX-Dj>~GYuxdl?r$$1=8e`1JlJ@b34{{#? zqa;uv0LRla7akf5IZGXDEsGsszBn95)s<#G596>l~%v~21KT)%Vj}+6sf$PV_DriKNtnoB}XEJG$HkNN2 z$Y!0wivDWv!_9>@DV{%kThRnU{e1pqy0f0#ftV>XX$VGTGUzCb=0=JY<1-G}eGuO` zo=MjLhJ=jHKVXNn=t9pP1{=p*<^;W?zmveH-TzIa%D`{eYK&LDk7V|XrPaPC)nGAWk$ z31Xw|d|dKrYhRH-$o8Y9o~HChJ5!0VW&G{`DzI;BgFH5*q?JWldo2mNLdPlE~mvA4~_?2jTC8+JF&NP3gh8zr0P3s}8z4&rTEuK2f+tqRR zl{bCjyt-jZjGYMc0y6EL2?eeVB#o&M><600U_^$jM?cA-I&gX@VXMCMX^83xHh5UM zATx-079aj8bFX)x%ub1cabvRW`@?vw% z5I&N^#c`B$#00$^@b zHNi?OaJ>)GTO@@M{%nkn8rLbNWK*njSw1K5tY_bl954$qny*qoM|Nc$)| z#NTWGuhGa}uYqxPkBd(@#n){jtz+o7A(6To>AD<4WCNI|I!_HIKUsc2D$Z7X;L<;JYGV|&otJ0=+#(&CbrY;B(j%$Ck;jX=OjVwcJ+|nFV6gF~E=FX)h*m@4AmKD?X1gZPQJ=?SW zuoD8icINR?JK(fbaiUZf5IFRf0@j9!Ay_rewm(GnekMkV%|&mw1a7aS3p~cmbt|U3 zKb#zKR+JNuD*BkT0!ujmvf_NCkzbmk31~uBRUuiZ&OqV_Ll@T>hVY_SIWG7BYCFdF zi7E78S}2hAHv}w>c);NyI9Ofj>325@A2K=Ytnj6q;p(uhBOKr#;x?n`G+4n{Bj#~R z^HUL6%MJZk)3ZrlK}I9fE>#gDT7%(wj5VPh)-aLV{LQ6U zOmq1q?v;1p5*)yhxtd6!7mf>+#79Ixf7toA5Rz3fcV+X0v>A%hQc^U##_tJ@=yb>$JfMDBRgJ`P{*gcW?@m01E zNEji`&oSWrw{*TWtk4C54)k`5bJXXJdkUc6?(I@5VxBlc9KUJZmirLRZH;R(^b~vS zxL2UcQ85cwzx%a@JQ#S^q3q}Ji2js@{_F-2H5m_bcGiv0Ej%L+6QpBUqOYN=0JREB zVzy*{w8WN@`48W%b^ZBk+2J-aSK7YwgQhq_;|vTyGFsOA7kUhN53J>2-`6DKfdZK3wY zY)%Cbn!zv{NsiX{SpkH)R)*hygp4>nnkXL8j-%FtnoLDLyOuJgt$$X>m$Fp+^p5$P z)W66w4bl82rD`6JQ-E*vThcuC9rB z_xj%;<1WSJ4ksr}?^R6T+yy7|(xL|6FM7bXGtwb&4aKHy!V*Y4%=L0R5|k0Vzen0P zRJXsg0TDVRJ3(ahU9m{;BE-(mnx*E#oh1e7N=&fZP1K%w*h88CiY{`_xmoey%?-2Z zQ(A-Z>d@~e8e9kgr5VlDSFaxz_Q#Lcw76@ekYa5$hh}{rG7?2rXaP76^}sNN=Z@X` z2^#rgCOHCKmhJ$IDY&ge8X}li>HyYf`zF)#4q!dxz_)LkwJYs54(`#FpOi=zf&2`z z!%2LM^0c1l9ve%%riQV}f6K9)?`2tpu&4N@VmjKTKKrd*yY6JyYMpr>Mrmd$40{43w)up<&P)Z)yG z&_ikoGlPDbl%WZ{L(^S(?=vlll+WRPsWT*?HM|8xxL^xcKe3*0OJA%Cd=hqv@!zv6 z+1PX`&~#D0*OW@yw>157FSnou2A?|p@@oYiqO>;^%K2UfeBT=#M59+2B!m1P0#(BP zVqaV6(^_2;DJHINIT1H9)OV*LK?zTQ}ZV1t|zokUXBV&;K`OxVD?{;-^ds+)N7D4?Und3 z)tKDLnRrt#gp&@uOOju#E7{r6VejhAI}1OjN3E3XyhRVe=p5yk{@$#=lDRZ>*QbDi z1~rCM1^Uxt#kA#Ff6r&-JT@}h9au}FM$wBHcs&vcdTsd+s{X!goM8cw7X-jwU3{`i z;l+cN)jID+UcKOaDJvoFDRvdS&}PLmAv?@>VEDo@ zWeQ%u=j&)@m6{K~*;JQJ@9$R5>Mznc@(T2%a&F5}vx&ihC`8$SoHSxKFu0Z-DoqX4 zdyHQKAHG<*=waK=P$Nv{`6Z!B4tic3uJHJY$Bf21C9c~DaC!|1I*bz~{HTu(d}^h+ zQ%9orgTOEPQbTJb1M^&QYvpn&As4mJAG_R<~9-<+T)wN3P1AaoS=Yva*`R=gu^uzmiAS2x?6S z5T;dPAh&7;UK{p3f3qcMVpZ?nP3^D3aq-ORLyb%qpS%e+UhX1$hWX(q5SZh|aOn>( zms>7P%m=`TQ2qD7R>9L(IMa>dxoVSG_gw z3k*0FqJH_CyUc3{q^vpHF-8x0ODCI6?q>m>OwFMAS|6G#F)Te(@_rWf*X7o4y(IXM z2|!$(DX2FnWo>SoppEDa zj7OPW;!qzgT1kzwqPTmIf|Ylnwa6R9D7E`(XrlIkyOx{d?~T+@)7nGU4{>X=QH#2? zX!fm}-T6%Su1kOwR~s;)z(7ZU5@keD=_`G_@}PE&N?gGWg3d=w#74o?Iv*cA2D?JE zDsIf|q3&~yKzWc_KXD;FqX*SqBvH=&y;mdy;0i!jf3}JKq*vDYpRPe@c}nplB$`?^ zZX0}aq{hEM{RDYGu#SwR#>_rK{LYiXM-OalY*eT~p>x>){9gw*EvBVK*Wrf+ob{&m zyx&GVVwDC!=wDW3__lD5n2H!Ex0n#fgVB19OvBHKj>Q22-P5hc!#HCi>~F^I@ExkC zs2q#lm<;&vVJ9JvA#N*4i!-497I zE5r`OrrjJ{$^YrSg-+zcwlE?i-V+6sa>v?~|J3j|cQE*}evtwHx9Lk}Kqn&} zxM^7vmya(7U;fOaw{-MDe@#W#<;5YIivgJa()j*we-ysZc}REh68Zt*8-#puI{Ujg zJ6a{Zn@!|>>^i2jVu(9gPmxaVu?SN@?aLG$4Xh%vEhB37yvBxQF`ISe!|&}S^~0XG z+1nZ=1x$R)OH&^gQfS1L3a6-@D{xaQ*{9-`B%%Lw_GG-kinps(yJ`IiJpQ+-nw&gV z@)Yk@)ZHT_0>an7bvk`4dwgf$UAqH`BkN43Ra`o9O@RuTOQu>#^62p|&2;`7Q^3){ z0|~@{*YhEh*49!7d3XwjB1 z`>ht$G$Zyixzar?M-6p58kkA=;W}eKdm6Q)MxT~O$y8k}vvD9uwUGQQ%c8 zRS#s@RI>aB!2@&YP7FSWetN~@olm1KS^w$@3n2N@_NYaIpa4c>hS;a%Jsm@~#kIu< z$|d^lnLqmSbit~+t-x*BR~mA(NoR(Xn|h(a`~`#(Zsb#as=1e0Bs?qp7xTQJ^(fm3 z{ogVf>4fIPFFL*cbIA}zp1oiA`56F3(|$;oLWX{~pB&`|CPi@Jw6V-{uvu!`o^g6; z)7r_qd%OPL?4Cs*<$*L+Q@>f8ioNYfHTic=;BU!tnP4@aSVeNLND;R1pl>x3XQTPA zS8;C%kb!_lK$N+3L9%+Wp+9XAyCv^3=Wx@oOa-LB!-{MU7#%qybspL_UzLtgRv|HU=gDk7FK`9;3<3{kx<5+5^N(4!O1iTpsq zq9Wd@3REs3P~Jfg+{Wid}r2qnmp8nK2h|L1<$vvtl$WGK9&195;k?9xB+ zljrzy-W;_%`}X$N|Kl~UDX|;V55~U8L@i|+5G@WYx>YJUKrl1E7{=4a`Jn z**=AOpQP4b!jF4^aFM_|7q|>DO>Xh9Lv7wSAXFoxD)im^jL(i)v`tdYH|MHGOqKPGTcDXFNt4gVui=SiM_w z*2wzTHyH4q=|A1-(BbMCdSofJf1nQ7l0UkoTQRUch zkn9^;eN2)Kjql2d71CLjr&b&gfNGx(l&((fl<|`m&eE3qLngTcfoW`E`HUt zP_4AzFX^M_8@|?+>LWef#QA>#1;JWoEF5oBwsfZ+jeqM{T2h;`LI%d?77x>ao0!3& z(_Q-H@DlIFV7o&yySP08oFU~u zXE*@mfT?F0c&~7T6#u9Rq47~9Qzm?xa?pEInlvXfkq>+b!Dr^{0dYv@URktM|BHnm z6`%>JuHS_ps+C7LxJsV}4g1Ew_9>wBhW)w4JJOXe3c#1x!++vd zU|CDwe_~{h_KgV_^-L29<59iA#wRL`%98gdd=6$il{ERev)-Q)N_Mfe7*Z1|cO*(z-dWT7&r|@Q)`kDzOYj#ERNL>}z zdE+7Om2vF^R8I#tf41uOFEFsus;%1L5+y6+EcVoHLD6w&e)ZSH;AC@9Z>!As)>Mu2 zZtmPn{r0IRCU^JW&Qy)Zas6Ca+j3Rd@z=a7!e;%PO;BNl`X%A_&YXI<(qZwH*Lg#P zvLDVw{pc7oE9*B=`6O>=w#p5DU3qntlPb84g1U^x>*FsD<=rRuCLI^l11&~yd2BgH zr#L2z+PPnVo#}|<8;0q(IrdJ5h_WdcnS>>GF51sjL$YoDXj$R)FE{l5TQ6wP>slr5 ziv3rfR!VjZ($C7n_B?vO2Z0^tipn?;03BPdEqsTo7CF(*~0m~&}i&ssZ^3HsH zc;T$4uje8=@AtA6GSqy!ofC9_A8lGm;qTWXyftMqugJ~fAe$OB9#mPjHK*~yQO{4{ zyZcA4tP+)%%Y!9<@0&#A0_3^w%`&H;s5F^3!LFln3erl-xY5OJX zi@@t`6PfcK{FRA%j^g1=gnsDe_*G`!eXL9r?n$cL)-20Oi$ILkZ4bGJ_7{HxN>H9OjUE}Z4EC9N!fPgfi5r`JmX2*2e;7q@y(*(4$F zYc(ndA)!h&hM^YsmJc6cYrC1Wr~8$_#Iy$de7U|*n=i32-lzK zbkyZ6-)TQ=9;LRO*!4i~{aDp(?{h|M?JjwKxIR8hvkTI8XBJujG9rX%KC1HjZukS) zo3hrT>2KGOKu2T5wt25mQ&BO`HQ}vg$)~?>$Xu7bG1ADmY0cCx0@9f;5P10Om?yxr!Mz2aA9w2KDf zRm>UZZDk6rukQ2nW=_kVCz+8eUH1*V0hnHeUR79o2^rTCjZNr;qe{@_Y#oDLeN+$` zA1%2+zI@wcTP|;3Z{=!O2mA-SZ+spD)y^UH8<|RSbUsmp#~#Ma8O8qmDsZOWOMM7P z7{9u@s+g&-elfjp%|z6L0q}Xw!`YPTCew9(xM3RQpq=PUq3T?oo5XkgG$d6{rD*fT zRlNG0v*?=t4A44G{S4P?@M|6jtG+=Sra-LspED{kZtjc+(B$**9}mf#ACuk3uCJ~s$P{UI#3)&>dG z#e7v$l_GYp{#;0}bRfykI$a?)^(wUp0|24)dh@!Z&^w0=|9TNF$Gzy}i!pS7TH!^V zT=0qxkl{Xv&&`c~Rsf1E#%+QG8}b}YqmHw`hr6u$sol5o)2vA^$=h(m!$MHe_TYD$ z_xOzy_H5StuJob=`Nb_oF@ze|`e*mG$1yRc52T9GJ~Ctq3Y9gf@>}kgIK`28`cTi$ zpMw-_ltVuPu^y{prjxY(&OyV!f-)D8#Us#?Oa}<_8U?5+v}|MXhI#7TNm)~2S8r_X zp+t_&E1IDsYUN$J*a+O!IVX1mH8>3&7Db$I`C@3c{_zC+UjKdneqi3tb;A6gX8$ds zj86g6D$Fsb<;Q~Oh$zb7`br_*ITCYCt;2J&`ctS+9>(-S_vnbxU$tZ~%q<4-R=#&VsR%g zXm>JQh&cOQUomqQv=f`x0cWs|-dR9XwlZyRECA%ZCIhZcQ@sl@dHz>Z#+<{EJJkiZ zATGX;gTr_XMwRZR!?xXqP$MHQS3f>Yv6!d61^H^(ZoE&!5!Ozt zr^nnhT{-{rMWuwk^w%XaWn-EXOl!&Q2Tkxug4w!<=Xj*uV7MR4xSt_WL&Ki3-Nrd< z9IJ(tyRc;$YKc6Jdk7&iSPau>>Vy`RyuX~|Uk}aszR%7NKa4sae858B%f4I4vZwNAUg#uFmc682pw}GVweFPw;s1k2&vIJ*l85|~x`Nv&JHd>9v%1-|Pk3F} zH_PA&G=CmGs+)XdF$Uq>`103K#JGY1rz2eIuERf0`bQ~^+z-`uGrFhWP@sGFxP3t> z=q&%eac=o;nELT$OX|tVue8m!t4z5~*y|w)hG=6&+Sax2YWIktGut_u(nFsVoZm;W z=9y8PxmPLvQGY#j!`m4L^_rh|d_AXL@9jPlc>e-iO2N^{_W5!{0Vl)|J?S2uO@^RV zJAIKv5R`vmTbX*F z@-XEpR!khkWYUqF%&PywrE^2{ExPCv)()%MWWdDyOofXdgAZzn``QYBDs1%5{c=cY z)P9o?_f&%aIOI2yBX^$KK3P?}k1qGg?pdQxhvL839oTq87ot{b#%48wyVRPkrAH=* z>&&^T4l^T35zu#sg7&KGG-F&$ltPaqG;LI1?Sbp-CIkwsy~45h>$9d@23$!-q#)f8 zO&0@>;otkI#TQzlP#U#`XWm*Vg}b!3Ki zu+Bk&j+4JmZf^djf7l+PJzh=vfAgp;ApQ}MNGJ^7PGU0A#FFNlMQf#ajz{N?@TO^F z*Yc88sIUVDQ9=5nH=RQA>uP4d2|(Sz!EM8<20BcP7Ue%-3SSrhwOlgs_Z9k`)zN*-k7Io-);{yIEpsj2$g7v<_BP5hCsN4$w$Ay;ujAe$=9e`!s)Pk1poA|f*!}a<^ zSL6YBNcWeL*$fiI8vXr|mAr-*$OwD7DT_8z;HOJxN z7g}Ub7X)E>k}!-jMQHQ#7-a&t>&2-^HsU>}pxnvtFx|1K9*VRN^Ly1s9k$FdkI>E# zggAb<@1+)JqQp+@XYeB8fb&p3HA*eWRE;F(sjgl-S6r#7NL9^0c28PwW9(r1j#6H> zL1{v-e^H0$m-kAvLGIHgmEG~Z!4bdN#A){for9?MTB>pcn_0gy4h%*l2uB;Q$@o^& zpa_Qts7uTJ&XxGclOcL2xSOlf{H;s?_U&P{+0`K^-ABc*NC-!-dkdAb%}Ma_#}0Q; zLE!VqF`qY8pr2!`zP1#GK`T4A8M)*sn@=0(Ih4cDnQ96rOrjST>i-{4U*Xnd*tfkg zV53Hf5(5bZm1YA*Z={N#h=R0)Fgm5AM@WMRNNxxc3Ic*b3rI+9sI+u!NXtY@{qFa9 z-{<=ab{yAr@A}1AKEy|6bmZJ=oA*+n{9}s5Rm|_`QE`Ic+Axeql&sUH^G(~E>KRvI zHS9wRO^}OB-qjzEe^H0DWWQT`=sY+^&1gwzJ8_hIMdOnhhpOm(t)@qjPO$z zP&4O59-?s%Cq+&8tbremC)m3>ka`K{s;e%A9d1{hZ3%(O3Lmmwo2da~D{3cCt=I!v z?UU7p!?G!aAQ}7rW5=xn)qFk7Z&|uHe-!5BtaB2ti2}`@l68jP55b5PF} z#rfu=)r}3~x`FMNuNErMDDEzeWHdtCjaxlJ_T3h$-pt8np>p# z>CQz>zR@9Sv6cqrob2_}8#|14G2{h*CW9l3tz4l6h0-?8-4ve+3%cjaz4tHkkXa8k zkDL&$+GNxu1IDzg(~?QE!964^8`1bZ4EmgYx@M8``r(4Vmc;JV!(iT+c)~_7I_Z|P zetjs}H!zkNNH`4J8&<{-p?uZ#Vf>Ke$%0qBI+rj8uzZJ>-0hk!+}cGcBl46KiW2Ha zPT}3W)ikZ9CR5$UZQ{@;3AT*Pm%lO#{|RRaT^coSRwPEAuD44I5HBy@5Bw+GFk$87%Gk2;x8Gf1vRQ26af} zPb;h7o2wDoQs=o%et9I)K0c{P0uixmVX+XV(Rg&(kH#|H00C)%ai7yHNZYH3Uwq>p zy0Bvwj;Y3Y6*ehc{dDSK^|rkLxq5$7>pEST3zAOoYfDWyV`)9{X7fLK1I{(M*n zzVk!1)!qJ%Z-&1($S6hUnNa+T+UWA%>|?C+oPhxy#*L-0inWjptgMU0U5LWO6lB=G zUdkr5{Y2yo!kPHWel@pPY{B|Z_f4%kDgopz$lZIx{l@U0Blt5OD{gs&7&pE(n*yi) z(ivFaLaaL|ASft}wl7)xjgD;94r%jPRahcb_}g>DY`bbacgdrd)^S8_XlgB@wY3F2 zm;es=O*tuQ`(w|mB)UfWHv4r6LvxQ0z8bZQE&`k4W2EcQd>C|ze-VhcFY}<~ou#JQ z;YZKE5K2oGM%D=Q77J+U1!5vC?|{|6(i?>o{Q@xOBqE@B^k&PEy(f%8MrAOj;n^=; z`0QJUg|Dlu7zdgSi8#H8D^>q*$G;}a`9t*;{pfSQ8@uf}aUBKdc;AFuPm6(@2je=Y_AaY$)jh&X z?+%^mIx0ic5oPmbAhQFOmip*5)H-)r2*5*lIn{j$w<&b+t zJ9C#zf=75q9c5Ewsy>A{pS5>YyGyneMYW9DPHCTp44vSgY7xe_Y1`cl)YtC9&Pq7m zLgyXd;K?(zE@2l~!LJtng(G>Zl0@H+S0YQ)c z3k7+yH4gT3SKftAqYUhZ?z&$5)QQr*;qsb0KhAmk{tm@ntzZE*&j(=M9VPZp7+d0h zNt*SOn1~bN5hL>=r~McdAN3cSoJvpZq4vIS(tSL2`jB^24!OObOxV-N*hIb=N?TzR zNfVW#CM7+8{6AA^CxO>CS9ho3(Gp@8k9V zlA#;m0pAg2!|-**{e7OI(n>hA7Zjc)7%|-hgn6FkVP`GLGb2I|=|;*4JM1xOFxs^t;cxNr#LwDV zeqGnnKazBxFY}iO(Fzfz4zb;Nmv5RddNMWA56?#hF{fgn*qa5>#q(24s#!}M#PlC4 zbRzxVb$taTSFA0@SMcm{fkqDuuLHSUhAN}><__^X68SIu9x{RcXq$fhaUGPe7Q2O- zeha|%$tQS6?{^roFlqpTa`?WWxURWa$005I_5OQf_h~w{gNM}{ZU#v8 z?l~vbugdB3=?%_c&3mqTmxstkmLK1P<^N=($IL&HO(mhpBvx z=V(n7@{Yq_qMzc3Zya?fVZt|+kU7BNCpktV8sLR{pHH# zs+;QNYO(bzTk8vyDORkv|0j7m%CXgxAUqph9TYa`4b z<6qR5GGWurUfZ^<#O+ui7H1=DADr}Xpg_`k720Y^D$_HjaW*UnVBHm}zp>yvmmd+I zw|vFkhRyC$v$M#z(^<#CVJ%Zjkb__wAyO0NB-p6s2`Utb_u{or8i=o40OcBKSTSpalyWnH z-SdgLswAtZzYI~f=@Np{b&PE;S_Ct&|hao}qwj)zWiK``!J~pMl+_>WoU9 zkC91FYZ3&EyK^xlR+_=YunJ-=S*v>PTYPJ8@2_5aOzuD>Gdal)34Q;#-4Z_VR zBMcw2Xz(mvl}1dG!`2&SUfwrOg7t-g@`v=lVeRzO1ru><=w~%ua@pQ5*4IT5kfPF} zk)J{~jptWb^}crPZM`pKa^LMsQe?xt`T|j)6VrDj z%}u-Q+5397w(1&A!=Us=$+ICrx4K1S3s!(%_C56i25&jGpS`}$?t%tJTI$1`e&SvB zT>1UIFR2T4nGo&Qkmq@2OB~uACb)B#sV|``PEW{G@J|FD)W}AbJ>q$>`oKpuVXu(I zntG-olhST-mdX<{>22!Emp+Q}mrOkEChfOk@7?({ zhP^1eA6Ft@P-Jw^m<>AK@E~x)T~ng|M4{mSnDt6Kn0;Ulm6r&H1AuY}_ZErt#jP(s zvP%IH6;a3c-Xehyr_Z&&F+6O|cf%e>&N~NCO>S&xQi&ZP+Urxlqz4aw7k0s;^pDA5 zdM+k>#%cEh>X3G}9o>&?btWuHmnFkzpjN|kg4$MSR!{4^!>QKZKMReVaMwxsJFV8OaS9{(=M5o8{Ee_Dtd9esLfNAKR~$!OP}bXP?D zOM?PhZtm0X*WJ1W;*14T%r6R~F4^!w?rcT}La^qd$Hba?wY<&!5EM4@U%5=r z%+hbxCAn_5+^2U$HJZ3i}=N zTy&afVlOi9M@QDvi_=^1Z;~bx-$<6gi{s)hCMO$Jn`XZ}o%OpJ8z} zk^kx+CNG1u_D5sPerxK##>?Qqq4JQ1*}iD!w32w+ZEhiZFG$To6CD#7Jqn^Rn^?w-KxicQq8}RTXr9;X?HYWW zr`btB>u+LVa6W-OM&QiUUO>|Ih?D_-ZiM?9PYJVv0MA(;z)ukD*vdlTIV+fw;?qyQ za$7*El6)`WEA%U_YeVHW-JjF_sf%6zS?V+%8OHh`o0$T=oG*@Y8hpD^I=ca)eH|WV zSKN@;e-;hd(#j^xc!ky(`Mi50bEtyh_f1129MG^Xo4dIJv7TIwE1O1LWce%QoX_j> zOV&`sGqMr>9H{t4v9_b1wGWA;`G@1ZmFh9`9+^e@DDg%?@+7eGTJHYt1SIJs5LJ4jTPL% zTJdM^UAoLEvcEWcTXPvJd-K!j)GzYoA!-J3nO7)p4dBys)W_I_jqk6G{bQ5*zD7~I z*Rm;}52F`|=aEf|sO}lRDhZE6=qX+k>z&Uv?@L3_kwOZ;K-F)5T}u&r880x%4<|9>^iXd;p&G)#&Llt z=NH_b!p-)VL9Kruxv zN40KpFA?lIGCrlE#~`0rS4iv4T<5Y65g}-AY+lt^)|T*48eCNAc+1JpN!>NN)bihA z03~xqnO*l{1Qz7U8~Auacy|e()cBKPFowYM9?HpLb&zzRI-0lH!1aXP;m^i}E{*dZ zYIE}oE}1GX2&9aJKgQrj_DfU#KWa?Pe1mrhqWgjkJTY?{X!niRbcN?bR_K|IZ;eO@ zds4nVfFc`oWAV8wB@`U}^x3q4aB|OX@B5-&WteY345?>dc3ELD0A$0eS!z6^yd-1K zC*Js;>0D8Z9pCAV-}_v!Y1bE@A>`gnG<$8W6%FX!>oy)CDh~B z=dBm9=-%E-3pnij`^Q6<5IA_Ol4UbJ?m53GP0>lQy@5s5DXse~j{cUFgEFg9XHx1aGj*sB~Cau^sF=KM5&^9B$rbiK%8@UwrynIe4tM(64kq`+Nko`4kP zZU3#jrq0fj&B$WFgHVI}rE^*kPSko`T97ElFzf)P1@9aNliX`vuWe{pfl@!%KK^wh z7V>+FBcZ!h&!vXKTejp9mjx?Y6=VyvB_X>c|g2s&<;WZM^70wum}-vY;XLYXOe9r6)f<2MAPjqoXI ztw+ja(`)2>W26{iaThM~ofSg}77awI32c5#G~QE!w>|1a@NlL%Y3*|sHt9SA9gDK! z9--xkq@vexjwbSd8=jBA1@a%o`s_yxiRfB$HXh_jT(V(QjMTb*>z1E%(&gC8Z+t6iNZi(yjt2E)`Yk zqYYJx18A9xZP+*)yZLgnPd+?SxXCL6ZYY z?3_$THSu!pX5fAt0r`ibVZj3+R(ZqbFQ-C?Ef;#XtJfP z7uTFsRC)7V=hPL6VvsFS2k!X~4DrQG7y~BMsg#JaozTfUJY4l^5+l)qqhNVP<{Yu( zPzluFvjQBQI? z7#Gpt4|y0U#GsuXs!(qtikW{2VblL-))_s}s(f|($cbCZ}xHt1G02E}3gFUY#Lk%+_g-Vr?df-C(NPeQN$62I@l_P{6+{E$B;ctnT8+eX}@r zLdIU+^`R}TcFYQ0VB12{BLP-^S`vs&j8G-)GB*}D zY+MV%DRZy(uWpxhr2UZ`{R~zwm2T$g zuRNKt^h!sldbdT6IL=DEHtzDzxQES%@@?-&7 z=l+Zbt-#1b_cTu&Zbi%h zHf>X~`c~XKkz?xS|IK#CxvVHVfz1(S6BaflwHCF=#0)zogAO62nKM0^Tn}%2$|_p% zu@_4lW5B$xudH1D@V#>XJSdc8YV4{r`nOP@bKnb@Ts=@V*P*8zY#a3Vk#7Y#je6NF zr|O9P`-m|tl-?aE{o7PD zY5TONx*<9hZgx0Ta^;sw4B4sJk>5V(kFGKVcJ!hpN2`~^`1?dEFm`%R<-&5Se2C`l z@80w&sd1ABEz@~-1a>wS@$6e3*+vG94%hr6>#`%=l~i94@)lDYOZJMvI6W5Bx3JQF z1YN1c62}fbE|5`$fBs$D>rth&_w&XfE_Hd2Vjt7=hlIj1jr>aPa;A$ytK?F57qnY8 zQ+(*PC=$Wv6G5&8=mnSd*5#U4AfvZ}6_o$B>IGojDaCp5$P&b-CmZ0eK=dsVTm|N4 zq}Fh7MiOZ2qV}FjJY1ixv9I47^Uc$ln9fPe_V^9YbKxRmkU$gXcD87?{3Pae#p6M* zCt@||8(^CKdEG?8q=L8xr2Z=UnZ-X92J~wM)^N4!rgsV#*)R>|FCc%8y$EUPEq>r${5rD4_ca?stw4DwT8G zr%<_lzeghXj)QJPjqa-=O6p##D)2oFr9h1`y6xwrr7qJA|MmejzZw+VzXNBF(rhhC zyn-bwC~~(K71LoR#y*o+ihi(R{Ihn|jyK$*D67HbpGf?jUBWBDDnBHY@fB6doDkxn z_)9>(=MhJx=KjUZywu6>z7l~b)K++x_1HrAueN`Kc$pT!jRChur>zy?QMr-DY=x=FTMNEFcMe=_f3RxUm=b zG>FxdNwRrq@e_c?UDKA_AW~{9e3W?t4Zb+IBmp{(N&k=)BDVsB4DBc9kGLjk;~38@ z-Ex5k{OAuBs4sZ46UB>B#REQfzOel1!tv#? zy&@jDK6FA?HtM`MmuvR!@v!v;`ZAJQt04RFu>2R2_niFM_b}HroZV!E0oMwvwxcS0 zkn|mXa*nsP|L|_}>o}tS>|cGt)L7>iMSJW-=Jz@-{%|0?EZKcC=CyOIGALY%`%cbR zb124~Wl#=vJ-)#gpnJr_xuP`Rxn)HD`Z64|f0ILz6gs#6G2nF#X-s<(|2#k$$>iUJ zJ4%gsZ~0J+}p;QrOun$x7w zcG&!sFtnq4(t`2-%r6XCpw#aOlQj3)AE*i;HM#usV73D;yz`w!R`4_(`~)c#vu3-n z`fXwn+hDqAyo}6BK6n8VoJRgY)|DS6{O!9p)*7EW6Lwku0N@mnWpA?tF9<6eT{`xd;HYWyG7$UOC>Orz$rVIc6kDljob| zv@fozCY@uOq}T9dNjUTfvIziy9x(a4==WMFYasISyZ_e%D-z$<2jGohRNdy7hOz0N zZwdCzR)M4WGL*_P8VruKo>KU9XT8fIhov=ln`=o#OjgnLtWhb=5&--pG!VI3A0dI;DeeXR;Xg})Z!tsW3-T!+%=5JDV)m)Zr zM+)>0r%j+WB20iYCZax*QLPooMM5;DC%kZ;QQoX8W#-RYxcVMe;)EoB@#EJ%q%^Y~ zsWg!^)t~wg%KiVziG}Q~5!yHrl;&z@gAul4 zTc|;4G%i zYyzwdEiqQ3N3(-JOm$O)&e)8b8-<=>?vqcJ zlX3=IR%$-k;hFHil{9~<{9k8+NHFeUj^90H?z`$r`zznW40jtCg3?3_JB4|=M;w0Q zADdB@T^Fvdk}gBHwo}eLG;@KGO9U@CMrIPzugPtF-@y}I-W`sN?uVs|UX;cdevNta zC^E<$@G&y^vNvbez!|NX2J8FtBUZ<|BEDM})c^%kB`@N<*qO<>lg<*DS1JO)h611O zctGR{?8ztHYRH7&YUa%a$U#E9TbtJOs`H`WnkdCB)JyAp!QvGrYt8dLG#`{;k5Q)z z1KFxiH#-6bU{jYN!$~if_F0A540On2e3*Zwy$K*3Q|PLDMJ*zs*pwUE?@?Oh@cjLn zKf8MBj)zJ@J1T@4PZHn{70}!fd_u^SO3k@WCP+ODQ*QaC*^zH8u*a5zaWRLd7Bf&& zQ&XRgn?TsKBV#YJX&7V)@{mC^m$TZ-8UoR4uIHhv0;k!vone~9FrnQc?hKg=kkn2o z4avDThr{N+!jUba|4RWJK#2jGE68s?WBtyrH1FMaDhIuUKlb84w3<6sqFW{4R<=Vzu_1L71BH)talqvjIN&^}mR#+WkIuo@`a-K=zs2Nki3g)J@M z{U06=YrSl5uFuSj1JNdV<ohd5glv9*0THsI-WCn>=HlG29CTegvc-*eN^ zZ^2{&mNX((#%Rehy_A}MF8oP$oyR|A-cqbndKLX!Hq^io?#n^quANR(L(2Ix>Y=u+2ze_l=+MhbGHoy7# z#PD{MarTwFFYjd0H9k$DD>zU8borB@_KEVHr5pd?QN@HhWMkMs&(?#jF!TTkeyh`V zjps{*^JsL=#tl!LTJGBh79}_|pF7E+#bcDwct7*{JYU{CD5p)o-!yu<|Br>TrPKQ( zP8=~$_A9igoJ*Pcq;#|C-!qF`t{CTx_p1V}T%~Nf6fgQ|A>2hN1MYx&c7HOC2V`SC z_!8yUOm(RP*T5_!EsGgVOUndX}`nV~1)6LH) zMc=Tswl?#ufJH!k^NSpi#k=Ap6ZcW)XCPqX`$zOn~d^7CuEe&VNi^y zQ;)xZMvXR=xzumvOvfL;CR(!SLgC1H`jjJbjakHDS-s0AR}AL)s_5^&eO}7Ub-R~_ zg_}hOn2PKFbKKX!{2LaEU~-uB^eteI9x$u(`ERpH>1Z^`G}Q-2e$7VnM&Ih$Za(s2 z^&6rnh}<7`*3@zaheoa+^?y(czWEIU1fI_+9qT(OW=1fwhHrQVX{v1v{q#Gqo*g4euj-<&?;A?`4Mfky zC{eS;(ZXwMQ{Q~PCF~MktTRBnNh|@xXlep*{)$lt#|vF?EGNCw$Nhf0v1OlCzS3>Y zYPWMza2r{B(+l(55$8kQ7(di`Z4{1jJI(U1Yy>6NNTH2=o#+O>(k|X5b zki>~0q=#MU{3R5loz|1rOn~cLM~6-@ht(5A&ZLE1?lbb$bIneUOqZ#xt=in< zu(=d-xg@fk9}98A96m9@&Tgk=+wtUd-;K;S<&+@gWy_|?LKY2>`QuMX>E+d~9MWXB z`QTIO&1$az871$#>H~MA^on4?amsp?ovr4corGrABO#pCr~6$WT~Iq&(Kn6%{78)k z_a9}sYhgdj@!V2j1}q5P8t+VzHWm(&&8BM}oeL`mNTsUc9B=Brz-rjG4xe7d=zOsi zjxA=9L^AMwR57ibD7=hb${2|0)|6W*Y{T-}(cjN?x}kM0bRp!kqAQER|D6AeW22}M zu7*K86Gki_^*m;|c~pSzjeJD~j2t6BzJIE4yulCiq#AUSOzg~iA5}kS4^&?Uycw*r zrsZhWZ}6?ZN>r|qef{M`oKMhEju`%x^UMUH<w<_0eZPTVcb<+7@29yxsOd_ZUtcN>_hM5$_ga1=84T<;+sGSSYa zuJ*Y=7^*>@7-d(FX2=3F`?C(gZTluvv3bUKIqJ0rmU?yJXHM-0V>9?)&?=8Y}61nSA( z>d}xvT}1S}N|F#Nd&A7a?t-ukFNQwkm}=0TkiW;>}6L7%C%dp1xhUesm zT)Iv?`EdhCRe4BY`_d-=q4IUwE+aKedP9Q1S_sg<_gOI~{dBaARv&l?SIIBJtR8!x zf!U_Z~w@Srg0#iPOTd;2!9?1*~!yd!KqVl4a-ZyGchsR02$`njM1|Zz-!yv ziCGLPebsc*gz4Ie^bITY?H9n)KXw7+Ijw@AZtzZT9boPA9>tyU4o>Ar6Q}!gDF;CS9FB9I9sB6PhC*`2S-O^kf6FMov@M!db&wpFYSb`0IEMLT0_Fu5`SS_Dj4Z zky=x}`ubg6ecF=h41pAsuPo_z*;0rTCmc!_HPRQM^rz77s}z)DZ){^>LgV)5dZ#>rMUvaB0>qQA)Dy4plt9DnTF~` z_MJPr(!?cAs?0iH$HrzKtRfbo>^ z05cJTS8^l)6`h`j?p9=iy>10(+W)*V*A-PT1R0bSt$N6HH)cWqD^-W4xqNM3=gGa;a8(0tJ6QI;|qe@9^%vo_g^K?UbUKT?FL&vi;)6(C7h)OD8|7LX3vt0GB-p;R&4W;tgv=|%yVv+Asp2(0>HDiqez1|O13l1--&Fyw8X2&Iro(UgTy!`(=9?OZmzDta#GqW@z z{jkfK0B0!?{?%%q7Zr45CM>>>jC?3yRI$4fx9xAueBqr4w&C5$cVDQ=l!yL!9$acI z5j^|~Ee`k#H6+LSZyv4Y$rVjWd@H2+)}13BJ)bz38iLVQIT}Ua9ZrP$f?T0mVH_9v zu|O<8um-%vhS^b+PS8uW@vY|xTv6=T(1K!1Z;FkWe7b3TJFgDfTv6dLaz)NE^xcul zPXWavo+JM?L?3LY9}|>&KG!rCReSiKeV=9I2WuH+mpVT;mVR5dsURny!!H)djQfKWx?91s;Tq{mNO%(xL(Gk}WW z>MJPqho^7C$oE4lj@~kC?vo>TL7!t1b3Geabw{{`IHupTEKKE#k*Rco+cV`fFu~Pv z=QB`^Lz1mGSUHi*{UTtj%vg_?T9{~fr1i`Z3IK;$wwo-OfZo0=NL|4#91 z%77*8vHfF30S4V4t#hnJJiI~eB0ok=nm)9Z2nL#+o$49d-f2;eNwC;X?9QAf1z@b0 z1OxpaClrQVXdG(EI%JV6fILgpA+_e0Lanx}y<1naCu|>iHVlNn*Wfp4>y*|O=C`yB z4HKp@^l?SmPDir(aoDHaHaQLSkTD?U>3(Q^*38z7uKZ4Z^tbWxt$=S+nbZ%J3CS^f zirgw>|KclM5yks=;y!+d$oXfHEnS9_$#%umVak@KuTH7k)#! zl0Bd{jJf%Q>NAr&%1fR-f3w>aM~e8&x|8Vwh>ax60IjSI&Oy-A?hBXTdsy3z4-s3B z@DDX-#^LYw%BA^MJQ)l)Xfsqc0Nre1*Gg=<(uF)gssP_)#6^rhs2bq$UgaTzSy&=+9=>))Z7Raz!b4 zFl?u5Wx|lzo*IyG{Xb1<{pSmJ0%-6$B z;+bJe{6V0cW$btmkRmvGEnr&lsfxixcYq@0Rfcmp4!?Fa6ERkW(&)=Z{n3mi*Z z!9YanuZCzBpAbOiXUO%B&&lf@d3$lgq6%N0#umf@#}R+7D?F!N?vW|%B1)HT5zd%j*P}%-k$;nq#y6s z_#AAjH*V0Wav=&?y>~Toy}b;Gi9W(VNv|AY-osJ4HYpfaiO`8}Qg({+82slYe>Sz- zWS)1Ee6#mSkabKDW%6Q|jSH#B=y&gCXxzq)l3DA`HCZ$6*-CHy39)DSSJFO%Lo15> ze#~#|eChHb5Hz;BGGW+d3_%=|H7M6w0;0-~T14qfnq?#lg?amMG6u{nOuq$C5IMpG zoO#6fXHHqB{~aREkO(0%xeG7kDYSU}YtSGEPAa}U*QC>r(he-J4SF&V-Ji|gnfd@K z(;cbQxp+nET*hKQxjXYSN4UP+8_v{jb+Qfgg4oWPHx$#`pSxzRv#(#;`ERSVq4~;( znC-?KoOYpa9fS(aIE$+cy~3GBt#t=w4NlAUMzn*Yy!bu6(ejhe=5<|rcG#j6P7CQ( zZg}kG7g^UR3r4#6+1v`yOvIZ)8$h0XP^AVh+Suukm-vphdU&^R*Mx1$YPPfzL|N=3 z7}Grf7Y^`I4ubg>_pHSdz^>rXdipKJuEI3TGDeJrP!l5#jK}9D&>scz(=65AjB=;{ z?8OH@R&Mp6Ywi+)ueN+iswk!_Z;4#QcsC8Nx#tqR!Vgn+K259rJb04ps3eU9(8d!ajt!3j(bghRFYwz_7 zXSZ{nQdnwvpC^gsqmS=hzy({5Re=Di4S}u3TcFS&2e01}Z7TgHnYV8S)TjbCc2Yj1 z*K84mO@H49R6D4yPRx#xK4Btr2}HcS;#2;6BbaOv6UYcyZ$lVdZn)$;I3#Z}v%q|v zuKdbI%Aw?OAj_w~-@SNRh`eQ*sta_qPnFjfPI@xSDg(!GLM6~y}sSws# zA3^-xA&*Zn+YGS<A#lVKKf%iLLs zkkTXqm=?G?yDHsE!I}qz+zkm)PXC$n@?}oi%aVUnTk zZx2?oZaVvK)YQ}{kByI;5x!eIl61h1jos9=2w$bGk3If1AX!^o{C9=6?q9*qUR$Uc zez3W?myPoF5CGYvGo(T_G`H2Ymq+{=a7@j7F}AzAzX0-jW9Y9HQ1~|!_hz!^``Lqz zE~>oYrhad~4?0>-t$hZ2S-d2?MA*4JL=u$$8%-)Jsd|qu2$xjtJLBDjn2_NYrmx}i zj1rsPbjV0LWyQ{bYM%2P{{rEX(ZQYNncI}!hpn~-V5nHDAXOSe$wqweT~-K1!*BDG zp>a$_qfz7Gnx91B1i;niSz++-Lc?duy=ylFHiS8B@>Ku-#hxYn(G9WLMdrbc544cR z7a1!bkGNgO-x(OV@AL@0Ez%XOze-^oRq5hO+cDepDcgZQy7B%B2;KS0qZ4+gJs+9-1qPG2f<8hbq?5 zWfd#^VwYC9eBCi;Ko)$=3C_P6VrUrRnk@k4&)KG`m%M%J)*b)yCAX@YmDSC&rJc_0 zV?}TGTHiM3czU`>3>qneNjK+?ojf0UZqe4wjn5UAP}YB3%e6;6lHnIB)(m=Z>hGbZ zsUEbwxtRUUhhzS}g~EHj_ecADXQpb(ySMG-j_u1|g2>Pt1-g$S*~vCG2D9zX!zTZ@ zQ-m5Ao4u>kS^IJwZNR_*gr zHFl6|9L3B)wCbUwESL7^4;|RC9{4zQ2gJ`}c_*Ttb2+c!B3YOC@cA{Yz>-{7=XE;O zCUuyR+Ms~%c)VsA8ATJh!Zq@|v4A!Cl8x&zAJX#f&z5ojLWOKs#{XM3Dh-@4lvwnf z;Th$t=U99!)yNa5e(3lTWOSi)@oC^1J00l)I)7RZ*S5xJ`$I}+GBc)_{k8-WR#W3n zdZHj(9m)72+lp^0m63)FvZM?D@`rPE_wCB*(5aZ%ClL)XL0lv&B;WOl?9G#I)#EQO z3_Chwdi?{RUavgQa{R^6MZU*M5TY&t7^(YL#gDA2%vnJ5lktEjF+ajA#5+SWR-XJMqE#H+dM-?)I5CCAdNVh*SP-K2Vs8Ka?VPXLIK%C(4B3>w~MUZhOf@vmF~Oy zR{hJY&6uzDZ>Dq*S@5o4QIUYsf&qaHRt`Ge3bT#r4I58kthsrX=*>lxf9_78FM0*& z6L>ZLlutDPuk1=RL(RL?NXI7v)?yd>JI6Yk!tzC&W!PkzPWCUpGOxA0pEnzfG`-7v z741sTAEoIA{=2_uV^9;~KWu^sq3U~|5PGTg!qj?B1;hoku&V-D?Bma8_&b;CkRRn4 zRR_O>gGWYP`kXaNsL`EZR$Q(gzCs+JUw1_X?oYW~i|JldbqOhmab8XC*N%L^i2|iU z{v4}LZ|)MrSlKXYgOBnw$O2d@{;>~e2wESMlw^|DRrv=0wB}7#&K4ftB+Giy@lG%V zWlHwF_l0$9(484s1u6Q^j!hhlYjb(&{_J9)8)jGoV;H%< zC`SfsO78M;hl=B+a!OJSWw|Rp>j2>S z_=|gAbW1pwTWj8^5D^?rdQAJLrbW4+4uU!>7-dsf_CtKM6NVGz~D{D?8nGzdp z17sCGF79HVlj;0e-or+HwII|S_=l$VtrxLWFHm!9Y3a)szcPPvtG*;s4PIJW35`Za zlp*Db%HN8==YeQ7bOF*Q({3YU&qkHUmatl%Dc2T4j*UPxIYeqeX@a=}iWHY^4rliV zqz2}2wIrX{hpj9Au<6Ci!-kq2Gve@J7u!k3Kf7gs7y7wRr{kV1&H+Ue55I*NJZuX& z$*(1Kr<*}H-weL~HzpA8==gEJA7+C%SG?z8N4Sf4>Zd-V9RGE53(HFV74B&Fn%WTG z%^7R=8iVn-5tK$ibkQ(BRynh{75{HoM@<%zC7BQ&58Xm(b0aw8M~u(YKe0&ctQuily|$Od;_hwr>``y_;*SClP@!1ndN8A3hfBK34*ST?;WboUh0E>tiw9Q| zsu$4np99xQYF!Nk7C&bE?e2#Cz8{;EKUNFTko4lR{lUxQkLdHe4zlD1=BG=GAB6j6 z`=zUEthN_A_rcVD^$iUEYtJA_>wMDL5{VQa^i_ta*RYc*#+I^HnSYz7r`y}MM%15k zKkeuO3|*DG!T=Yw@Gd3^(D15Y&5PB$f&wqmcRedZ%ii8)&u8D>j~|yS9rkW~68F08 zSNTYm$`aZf|Me64J|Hr#rc6t)`9yuKmXv?q>B5Sup*DT}jCr-VxaRzFbAfV<-#Izm zzi8Oo*9WHJ9iK73NhqCSiDM^CI{Z|NMb3r3Vxcr`NS{)=*|mNQE4nw=m7V+kZeh0+ z9TxskX67GMKJ>!C2CXR3D`PRLB0)dCdY0Ep-idXZqmP#d5&Tt^WUny+CgUHT#hN;r zyIeG|DG)@MVUx)jjgmU;S-x}UL(}E1X*De98vIb1-sGPbX~ll*mcKIY8=UDgtF|%Z zgVOv97X|pL-e-y(g%;m%f%v5dC8wS(W`PUrsbXE>@K~AFPo_?)Woz9ZSLJ|w_jH*m zsmrldrvF7)0jcpmqOqD(D2$vXPxMG$n`VXDMYe_jWYbGu>B5D2{v6@P;iIMJsK zX-4?1(NXup!$a)O6(=IuJ0@>PHO;Kn)Y}Vw&_^}5nzJgw9f$NaLypY~Z2^jxP~VU^ zo(gDE?9NmhYsbv*-xKR)FWjxE;GXsJd}yCB|8S7aO>G)n`pDRRZad1AS$$9w_HK;4 zHgA2jH9WJIb*!0L!k)z5Q z{oCed)k4tbUgzJZ94$nq)`MXUCPFm_HrNrWJ)aK0%AV%P7%XHU0FB(s~5QbJ`kh{R(^=U;_ z#FI(9{xejd#e|A;Oef7{Vk=*hn`+>K9%N>^=87Q}B0+PAix|@Fhr73kURrH4Pov%! zosq>_4wH65{EVA^JLIupO1B7>fr?*^6!O@#Wdouuj_nSY9wL^^1&-XaZF zXTw+><*uUDY(<~7q#Ui>EOUF(O+>vIRSJ^@o0Mrm-nna%H-6=+{2H#|@5#U(kPhpe zCE|$J_fw9RZ|*kjK15_%MG-uB>ClgZd6Li~Wpb0)bkd*`+rw@f9SOgJr$bAztw(I+ z#4Wu)gO~ZD=j8TE{_c5Z90e&+4O3^X_M+x*Jcp*=l5-D{=Po;CuSlN}m{=k}rF!I% zkGmUXr_}ya4d3+!3viXJZTu~0dY7n0rs6HKrdmw!#*kkMlqo+2V zZdjridK>L6^9w1><*c-9`D*YM;kGc8A&e+e^=c!c)Qu6-uhjcc{m-E1US1(97jhcH zgG5t!Jwh(@ZNk%+rp!;KcV+q@z2zA6BW`QKt@SjRAQR@c&x+rRxf4}fTeSoZYw-m2 ztdKHw;sv-OlLK?xJ?Q)Vbd;uLugC1qdn4c3SVn|?o5u1t;*l~GP90vPcDl)Z_jI-~ zw~w6{liT_{moaR*J>fvuOJLK0JeuZGL?$MUnis zE@S-+j(x`BeYUrHaq;I~5oVIiDTX}f#ug1<;@O8Aw0Pkg0UwF3j=A>?cx#+$3ZuFT z!q>IGMgRGr&KJxlfhdV(bfbz>>wIDoJVtqG(y4|NIgP3aMnq7$7{8Fm*HG z=+iUeq}ao^uBAlpWST3ny?R^K35Mf+6g-fgfo~gefL`{~F8w)KK=q)THp$b|a(f~w z^;3mkc$yBI-YG6t?V(Of6-%Msh1C+*<3iktAS~Y>vd!i7Pmm(g6=Rn#c(Avr2snM&uK0SD4YxOPvhHd<*T;8F3x~T|RT+p=M8SOl!r7rnkH$jDK)^`{qcj@5f;zl_++QVd_ok z(DR^Q^E**xs1DL4T3ozezbX(f$X-EF0lhMsWMK0DdVVIuj~k<(YS@>yKsyG3qA3a0 zzp5E3sDk_Sw!APKb8X>1@i+!KQJx^wuzfL5eS>1F4k6Xh@-Z%Ls z4mBO_AGT7U^*0s~)rQf5jX`QTCM?sd--DcM_0n1|T+=5Kz8raP$fem)Ho7?0C-5r^ zQ_;Ca6^p$ptsG)g24+5O;=`NKqQ|f{MCyrhT^TcB&cq~Fe^#-mb*!b-1!Kg_l&JtHO ze?~vakedyr0#i;CJkb@)r`18X!*eJr;0DQad{V@bSq@i_$QG}@3OaX!naCa(0cV1< zT9hT#s%`(?kc}KH2+Dt&NcFY21 z0}jLo3ipcT?0Ieo@T|88-NPm4*jEko7D12Gl;FawHYB+VwwC8hxtXQ^34yX@n%iN8 z16V0E%=6Qsf9fq|_R_)Uix-#7dxzotkir!x2d5W3pE=z|QOz)oKPrvsoPm<7f2iNK zW5oA!cCuEK{deDc)+OYkHObjGf)u{<;pvUUL4V?n$(5^x3$&3mY}sJncNNUJ~F2fnzU`y73wF_E_ieF z1h`=^%%xMKGqX;nNvORnJboaE22XN?6^6~Q#nM=_#jdYe{ya^O`bsmy5jzCoz*eLW zyHuKN6pVn`16*orTf8f%aZjHD2waDe3ho5JgaXp@Jy6h0!+GR+=wQPa*;k3Vn?3=!!KAeu#;)iHaP$8Y|NF&U;6VD4S2e~?) zNo3M1)By1eTYv;0+7f2``$XP{3r9=8HW2K*MoH&d-=oa)sX-+h3w3dQpY)mT{xEw? za`pFSoi4nBB<3KFppsV3Uv6bh3j|97>-waEvPn*;-=H0D7%|%DO zhuNxd12SnTIPnQ|nXp@F6nO5Qw~Yz<{U4PIxWx+p>POC9J3}WX7q_&utQO1W=;@$i zq{aS?-=mbhg>HXnahW5M`-U(sS6klmK~5^1$l`h=P>wT^xq4?mge6M2(|%<-=f*KS zR+{kgbnC17xuSN`Spr`H_ZQg=G|9;2z|SWU8uv}OWvkTWHO|knMi7HT&AhWq2guOq zQpRo{Kn<9X%p~suvEIEDp#qFc)UR%jcX8^+0GBZyNIx5KJea3YDah0oj@{|lMm-occ@Y61R zEM=CdBn43htaHN)E;`2oP)d^m;QW)ZSM^x5V4f7|iN)qL&%Bw3^zA-_h>5_SIE7wqKi!UsF~xg&`p zi(b#Ek7bn*GobzaKIqYr+;Lu@HUHr9=DglSoQ7;0Ar>+DHfkGm3}>{1h` zexwm8XUK$muKNpW(wsYtFOM@kdxHuew)=N2h@`m;*B~U2z@amhP25!~s z+Xv&Ayp)0U!z{ATXA#od{BC{zj+%bj+3f4_>PVw)=u1yG zsnEk`|7gl+=dX>hE>5fAM*u$xysM@Yf!!(hP_vJV=v-zZ-}TTwP!-gn!GS=K=rxC4 zuWUNkAQGa?ZT^-qNZU8|qN~I6+3ir1>a#@fxcyu&@f@w(({vBd3Pd}u> z_xg3*sB|sB#uM+o#Ur*kTNuG?VBD#mh@+CwZ8gag>H;D?C49>5E(yQ7!Rp*fMEyU{ zD6XLytOZc%6`9Sfp@IHj84))_qdIx87Z~>bOp)i9VJ&QPh;Vl3oU*%%%JXg94N`>O z$Gb&j#@^+kxBS~MWFsa9Z;m@Ex7@Cht!cM$b+wxPc&HG2RqnUw4Zx4LVef~jInnff z1h|m(&bVSNG;q(17&EcI)lj#B{!MhRMXR_sb0OTyB}9u*jS+GF^7Kv7?fpxyb&e~X z-gnI+EF@oE?7xq2C@GF|;mjW#rTEZkr+QSje()T59Kd}b-Ngr&x|BzZUClNf*1u{b z!;8V2!rW(N_t#l>nnx29I)DgeA-}wSln5w%o9`LQ_EPR9-X+XH41!YgfG*`sb;@aY z2As@wm9Sx0zf;&zOF-;uv!C2vqqK6|2z|3u|8^gFz)f$ktV$7<8xjVS3x>SM-2YS* z98ofaJoF?0L(}A(O2sg4Kr)8xG15sRtsU(JoOnu0^q} zoo{xeRt|;pG|0JnIn{eYU1?}cy)b3`d$Z)SV^k8#h3?LELy~=LiM%-fT9gYB)M=ka zZP(7Z%o#p<;`WRZ$2s9YX{~MkIw@SZRmLJC+xqt`4rvpG~lP~blpWGFKza|;zE88^X5NOT{9n6uk z>Xqrb?$aerT7Y~8Y&`3CWaJC=_q!AJ=ht;dm}_)SiBWELO!74HREeI1=+A|7NE5%u zN59SaG3JAjnso3fGeij&gDDGa=8kud(x-4vTyJ(%_5(^M2k(e75e=I@e959Hw88wM zw3kuN%gkGp*}B^=f8Yq_3h9Yid#iU9!ffxbe0FeVZBl8y6N%Yg{1jf8^oj?vkV1uE zKR?_sZr-;!Yii!7E5ueFxGt-VnyrhaBpG+#om3k1FQdk>Ou3LXm_su z0bU)1 z6!0nN8?C;qW;)i0b>OjIBd>}Hsm&+mOcN`6N5e$$71mRrTtKeFBaH62T5ugyHSgZEYo)zMzq*6l_@1OPB5P9u+Vo6aLF3^DY{zl@}sjTGy*$jGh)E;KY z`s#?iuC8uByZZ1eyyV`V=iOGtZnh3-4Xu+323$<6Tb`>3o}FB4N}rpyu{xYoX|;RnB$Nyt&08u9UiK zm_!FIU2PTMpj-44^eXl4rx$y;Dn5NnSo{+~PB38RQd`wIF>KtB{*ju-I7XK8YUAr` zW((cMK7_r8?V%#;UV{VoWCc-MTP=(l?qa6{3IrHIY zTEdw%{M34?Cd8qB&~9T$WrQw;qUfh2uAWadYh!QfKH>cv40M!!-K+D&G z5#Cr;+;7WR$|k0WYg-nP*;sI8OB^T%n73arKJ_XC`YlwzvvYN#lwsUG#PfALnm(t7hpZJk9;o*^S4XlibB!Z-FBDnn6aw0z^+dn-n zfB-Pt3zSwgM!bjE%FWaaRUj^V&^>BNUGil9DM=>0-|FvR+nWaGkXtl#P!Yh@PU&)F z59am#zeD}b9P_79RnrMZPPzP*OMl*pkfHXJfM^QJEbp?c*MB93v%iv9h6#7A0KQHqGhNx2#0l4Wzmt6~Uzmk`ZN?bs6s=tG@+lh;t9n%so+do7TcTctLN9tGj z8h{JB(^C22SqB+Ew={ulm}8ji+s?r^gp&ZNBE#Soj0jIv{jpzvdc>9-=>+@s$44*B z)}}ko*6M-^(~qF@|!LXQm_GTDZ1?T}*pJEb}lDA>bZcl1Ec+^b1u zkR5r+9C@v?m%l|~3fobywze9Qvy$1Avr!>St^or0V&%VP5uM;BqAbbHRxl!unhzWW zlt4Hr5{s8LUIg6zbdo_BOgtOc&TDAtnGE%B?TInj)%nx`b4D7U>us%j!zI~X<=M_E ze7nn%&CMy`MaB1#?1S?v07C@pMGBvN`o)z=Df1*#$xR&1aG$zlveA#qEoR7^f z?bv2z=;ZhR(xpK8ay<3Rp*!{(0%2#9GafWcBmjfVWdN8kJX{Y5j>vjt`jJvKtR}@= zx-d58ZJ2B;04LwO!{dI43HE`Uj+>!Fpv-h|0b@(#06C0lZfC-EN~zrVu8}Zc`&x>K zm8B(2wcnG*B>JU0VPUr5z?cvQoElXXgk2Ia z?6rkbb>A;i?+DdnZMOm?C486VKtnkgSvy1{2_kZ&v|9MTJ-X;-J$Vfvfv$or$o4^7 zREUcBF44MCxqM$u8qws)aP(Z@oH4c7xRLSHBICy=Z;-WhXW zJJR(DLR%6yv)<=mSJ ziIA79bWoJPZJv>VdnP*uWO(QSv=>Y32>MFVxbc>&$xG3E7`p0>nO2|ras4fJeIt@Q z^ZV*8ZYn5^NftXPy6gDeEjtPH^%NlZ`u0+K8FSI<`q=ov`d4Fz-gb5?J2#h#2BXIn z_ruJf50&eDExr@owZ`wDYdqkC;>e~!?vE31)u6|{fZ)Ni_JOGf#d6a*8IF(Z&JrF^ z`ul>0udCYp8ehriFR>}O_o3^5Px44AKteh8@-Wuji-R|ae#~NsYaIcQBTWF`a}c39 z?6p}maB56@uk_HLEYSb)yTY3-cSS3hG2R$P(h5>kagWZzl_Q!QGy}hVYQec^{QH4) z&UJmtX_#Dmxl<6U?m2U&Vuw}8$@qeMT$NzkK10A98$MPV^FsZCR#HH9ofJdmT`FyT z+WJqGft5!L9#2jGu@-mo$WL}fFQi8eA6QpW*pSw2R*Nk;N3Cxi?@&n|erUsL$?{NM zScDB9tv*jv!ad{Dua+zhz4MbZUed%_ry^(7Til3`$_Bqnzi8bj!cEEkxsa%}vhg+P ztNP7uoFmM7y=5wf`T>?ij@N)GfH6#%HeoM!bEb8Nq%d@@!$Sw_`emT$sjn~lJ+qU% zIoPYCXH>nsRl_5WD7N#S@0u8_@m->#{aj>5|EHF~h3z@VyfiVCQiHFVSdZe?=Q3-n z{|)%xd0!d`;25fRs$ZGXs=@d1RKQHG1TwdKUc1Y$b79Dr%K(5urz{Z9W0B#Z{%!fi zRZ!l99M|gL5O1sx5puS}^wHmRIr}Q;mg8AZlYJtNw1y7SI=Y=mexOv8XaAU?fy}kX zk32Ik8~DNHD^2tcwfN`YjNorSeNTWcZNEWJoTqi-y06e&!+%F4rJp#D;v?X|3(DEw#J z((?|!+m>Nwb%|m;=r*f&@7ut)#~c-BQzJq&+I*>pA0B?6#g}{fFtmK!7l*#W%5L3v zc9LJxD=`cvv$FGkIG}R-j|EL8+5DL6fsYVhICyE=4Y9T|I8O0sC{XtKAXz!5}KCyBRPeUB8GS9PO#bxw-}Q9cY#bcm*)Hw5xnQyl>QjQ9xK;E7F2 ziLvB5oBC2i8^GSAZQYvFOj1@0FS+|Zg1ecfGhoCSz~$=tm@yyFLU|`oO*MjU?#@1W zeRF+%3X8`cC7j}

~dgD2YE_YesR`JeHDmdc7J|O#H`9PBa%1Yw!;2@9xhRx3%oZ zF>XN2UHmlW705?>F4b+z+dSy0d~7VyJa*^*Qd~t51((ksPK-PzrK#Ef4(Zu3v0>cW zLIMJUx~bH4NOrB-6DHz(em>Oo+H*|E@q*mJ=#&8}Tvuh#*8aF~w$A;$49OM0b+;z} zGUmuxCj=TrIr6>gpf~wJ%@gphC3+d{tmwx|$hl1+2d?362I6CZze&^mO}(aWW4|H= z%>DnunTUovnD{GwIyr|(>1vZmL&iH}q5wH$Vt^;NmYPZoUiOnXVzS`H3sQ{BN-3Q~ zr1g^$E~2n3U=H?|0x(A^yWYMc=bxa`8M!L=`E^jHMy^ow`+|#$i$k(0PJ6i3*{qU^ z3W_!$(QR`hDT2;t3j49*Xq^eKSlN}Qh1y=1=%paT*N)GXg_0~DSGsKk+RC@f)C(Oh{*-4D&HzWI#q zuKV5g+0b9E@=xMrMot%*3T1>rsi~Z(hcRM5aW`K5c=_dyl@3+BkP^#C1bIbq#ONpV zlTW5)E)JxEq=lLv%`|JcHmU37xR~qeTTd^BizQiR?%EaQz9x!k1jd>LU#uP~FDwlF z6TeGS0p}JuyzkychWK2D$f}SvWpq`~Y!$_*+jew+PCQU3_R=RPbYl|>XFK)gm1eiP zV3;SiIS0zMf2c6gQ$kHI5YY8~1$tw0%-K*Y{vH|B5ebEhTNA-B$Xa46K-H3wMx0n{ z)I!Fy9EOO4`K1gx%%Qv?eN6{@p1cD^u$eAF%Od$$7T z<1jCtWAsxHWuQzEgTvu+#@ixLrc^`0HCh-AX56CJq0p^CC)g)5|1F*jBa~O?3MTIF z6z`y)Y&E~RbzB`o|LyKlY`VzH%_n)iVdR*rKQE|@6r&g`U-Qhh=ZDKBE9T-eX5+I1<|UdlAa#%>1$nASt8}yT^9No?x-5w* zOq?RX51(eoQOK0@9+Zj2nWFVXH5mykIX-t~-@3=eg1N)Le)%Vq25RvZds7Sq;wUQ# zy0CJ|8+qTAvx)`rdQo2wLM{lhq0;XqHVB)8H`KZEy1)1MO=$b(c8!)=XMjbys<_1e zPHdhQWQsj7`KZS*F4-i^%=)tO?>wrfae2)5ohX!UP5|Kod1=NqrYji&9r^Jw zI%g=^q))Je=2-P6rN3R=f(iqdwIw|862mg|q@P=~;uo(XV@|ve368$GNK!cy`aBW- zhcI?Fh?fd1vSryIlzgZdd)D!Xb?!-oB!e2eahJ@4fnOZBr5ZVPT;#r|76$Z=sJ1gw z(YiwMZZVyB$MlJ1yfx}A_ZT0*l8s>Yf2TY{JmnG3tU*)(Q3X_UP<$CSOoCo-C`KC5 zeFoOVJZDer9Ar^{m8UgE=k??Bji>^*orW(_rgG`!{AiVJ_}Kt^3TR;98DjLE` zF9#hQ%7295MsbC>Mi*N(JjFjuD$!=K(I8m7wiRYPKRGw03)W5GAy{u!6fO)e-+vo9 z4hQNdubjFTu)PWScA8$V=*`baG$n^n%pWFLs3a{df;5-4n8OlBwpFRZ-cKe@N6pPe zk{Kn>bFirRmVAD*#L@F^LXcHD082$Y-!YOsPoy87B4}MSZvza-3`84IhD^koL@nXG z;;u}yQ~r(dkqRw!NAF1whXU%dE{@$?j~xLQmmm;=CWj9{u)q157MJo+7GPuHw^~o7 zT9#6HaEDZHS^aQ{N3EJ4LMIXGgIPr`%PV(#uO58Z&$&;XFlPN0szWu`wD&pLM?sCa zTyNM1zIP5;yG`f&QpYak+tQU+OJW7}`MtKYCz59N)k!jW`RF@}Ec3YMbKcL4rKl3g zMv06m2MGtYGGJz4;Q@9}Hi}kV1k_K8v1{c45#?jBwzqJg{)+xYdYj1UY$}yk7}dbw zt>Z_!7nIKtJzT3cYxapyd0gy|DJ_0m!HW!|Y0ZoithoVs8(w9>>hFZ$`r*~xArswiOT^`TUr1$TX6|7e$|BSzIP)I~woa=I zzH{5FM($lQT#rZPj*#3T@^JO^_|S0{i$T5j=AQWJEOJsb-d#5R(Y54=IZ+TsaXD~R zD>8>ow6&XYZ3e07T2g`OO!89jR$%ZfOcaJ&@ee?ISQ>v9VI*e#!#&Ad!!4m^Dmkh~tCRUgzkhnblC%kL) z011_DPaDWUnX*wTCY>WB$mCyWf!QTmK~fBzUM~r5@+l?XrXPqC>}mUEQI-kuJv|2F zPhR>t|Li{CT>(5tBOrx!%(>2n_#RQY_N&FI?33K< zjS+y{HNsl@M+{b=I$v@AwHh@-V^A22oSohXOU0nJ){mfs7FWdJ$l(~%^2 zWm-hF!Xvmyp|-{VfY5gDu>v_c%ZhPaWF5in)6QcT7lVI)mAXf7$7!t3RmAKJWopr;|Ct&!7_W3xY6 z+q*^86&@Zj|NqmZ37e2nmzB{1RM7SgdfFH7+;Q8J$-r{}Et!;={jTlaXt;s(!|HD8 z!zu3lI1|o4x>3!w!V+fY<4^}?RL5}@yw!=EvmOPi0|GqdS7yb-dS3Vp(?twF$M}yn zW?X9$<`L9y6-{NrKXuQ!jj;Q9QRAUz0!91H%dLOX(J5)klGF=8Fgvp4NT~Oo%p$9M0yw zR6vo@`6QBE>1N&t4-p)4{w(|5-FX8Nx@-Z|f-xK)UhDawd065t6Y(Z8ir-mAjuSki zSo--@^}qT4pM)P5B@0YUVvNfWPGr=|Pnlp4PyU7LDSaMfZF~s@G#Yc#y~KFD13K~0 zvdGb3R#og45EQW)8MnAG`MDB3C59!!Wm~A+og5l7gI`#H&_zG)pho z=ND?2&CHHfgO#8Nkn1JSN?#nZ0n4pZLHkhTB}e%jjVFB3u!-+sYdzR#4;oECO(G+8 zru-ePVxO5;MgBJ&WA5wVx+Lx|RVTDh8Rt$;`gXYet-qYR>0VYwK4 zE$)cHUWK6Y0yt-|cjgQTNWKxilX~*(w4vr9^C^V4lTqyo2Z!)bYsSWQ#$XCZRF}}A zq=;B`k|(fps$xuo`WUrl-Zj*}|LMox@ASYm@BKhnQiV4FuG-q9U-fzBBzU%B*p8I= z*2atCXwY)TSWFDDSkDvMiB>XtP|DTRK@O~8enpO<=flTlWqq%jwfUAs>y`Tmk~Vx& z1%K}xIqrw0Use?W(xIr0p9zJVn9>^l^gzT0${rTokyU-kNVOf2bFiVa5U=qUf9Nuik z*)4~nx_jJv)y|(xP&vYkB)!*6$<+g`Wc_tW0~8SO*YNFC4X@>H_E);k`h1<9Qy=+s zHy=z6)8I^z$+NsoK*U0yDC=A9fB}U0r?0(SL@5UYGOyv6HF84&j_(Fu?#KxyUNigK zvnOotWocQzSgs*}3(s$Jhn2H<$pH{LK=f}Y0B`(Gnu1VXk;q1ZtD2##`A;stTct(x zQJL4=5-dl5AX9|Q9i(5oNkp-0bLi3N(Fw8N5vycIEF0Ka+;i=-5HKk+ z0oR7m9{LIPRhGuYbOJQ~1tXPcCHk@zgeFf%qH9>^kDi1&+J?nsyS+Q2RVs@Sh*VbQg3)Ti8E#hQk}1Gj9+5qU z%oQhRQSTAgIwX+dDV!j5^hf($EsmKX0L9;6T;lJe(oB|K+cWJ(%`kuxfq4x--7UvlyL4xn-*mQ_@cb8)@+euov zrOezMNaPBKNXoT9nsN0kA!(Go5K^1O!{#h%Jk!M5!SdQ`tM~+BTQx!pF?BBtI+;rU zoHHcuw#`dqy4pP{7`WKiQBv9UhqI+Kdt0(u)N)dWLKDJr_L&VE-4+#{ zPT>#tH?th-4?W*i1mq0?+<5pMqXuv+{&?8Uf1|9>28MIH<6h$#n7Y^#KcgL|UB~M` z!mxiNLHAh`Hn`Y9G{nscaQ!9xAoYhn(VeQrcqoT5QdnKLAv`7xbOVefnkVlKZw`p(1Ji?przBNY;7>Y?&-UmswZ1U50J z(0x@J*bgs@0C_1W;*U15udJkBLU*dwxfp6ZKQLHUm4=zo>3r#;zTY|@M>qE*rc`j^ zlcVtYgN-@e@_lJf1{$v2hT2MPKGYMKN>@Sub3c_>lA23YYp>ParTjnBCT4fvQzzp?z|yBk-e#^;RqOS2w3)07BWh90BQlgKZ(ShS=Ft%ts?Rh5LOod1kV)-h9_d; zW7dsmS4=d>-p~QDtXUSbOf1-^>$*)HCXH{XNp6H^y-=zC{plgq@9_8SPG0Vr1G500 zP-oBT=eSGt+x_I7VS)gr4ajk1f z*1*6Qh?}&H+@yswNAEj<2+7GZDD7D`aY@U564F|=`GiXmDH!y4=4Oooxc?C1J_Fo~+>LAUmM`z0-C0Am|5 zceT3Uj7tHL>;61=OA-iY?TY*&sy9fXv)S%RNqpqpC>fB~uw!WG26Ya96h`DiyvZPD*d3rjxbN7oUrBxRr+V2}juQN#I*PIs)YeI6ix zhVpDSw!xJQzVI(uk-1mgkj+9^-H%~Rjn}vq%Y8^r)h~fA_CX9!xMjG0_WQfSrdW5uYq`NUJ=ONj+ z{7_-#R@m*@Ui10Ezt_>?iYCm-^`$n$*YJTDjJz3{slqy?j_IIG0pEPI>hdxv?9l*% zJz|C&^8&d^;5|ceSc<#cgQ$cJiD!Ny(E{N-18}QDNB`MD^_juJ7 z2tS^}yU18MIl)I^moeH9UQQNleJ-0-^_(A~j#7I*-a)s|LORe3Ian>;^0 zs<5$Yb>*SiC6Kw*OxOC%%^ls}oG`mzQBhSjb7Fb_z8&lD*^}i=`RS)hzS}cr%io4S z+EkTWRIf!}udc54-I}sbW%t>ds`pqO7{6X++v0Hnu6cfO$NAzorOZ6!aA;tgd*t`) z;Y8&x!=V@7>EV}W-|v^r+aC0b=%tEV$TvP27s-oHOnjdhlKDm~VP~Ng4s4hfDcUje zX!3io^~CQBn>U1nZbZ8^ z-Mcq?qmsq<-o1NouFM-=ncTY<5yaViGGF-)qZ}dvd4(g65;pr-n*cff71pMy9g~ z#&jd_Gdd(JCQr5ti#r6hRRc1KVC8~eyFfy8GUVD;Nq-_Gg*mv;v@sNbfrbx?wi&y9 zMZ=^wt5oD6)SIUd|G1o;G1M4ma>xNx9gsR18#&nb4x45>f9IH*lG{-n=Zd$dE`jLs z-hj?g6^^Kh)zWVvb2Hw}fJ(c~&1I8rjjNe&HcdYFw=HQ@S|{qtUe?_Q5WWRpDEZ#s zo}KO|GeEVzX&L(@+r)Fz{2J_&#}N=Hw?b=hok68AzZLqxzj1fx1J%!aCUx6(w=%`T3=MAIHgFf&@)atQw9Q`h>BNGOP1Xfy zb}RFU?Du%R z9&X#!wU>GAF6MiOffD~F!z+4C@&N0_S*L;DGx1~<+&`>u)6_7W%g|YTDC*b=F*sGb zMFb*1c>}iMNAy#26czkF`D+}SOnsJOxw}5nAwz$tGCN4Q`zjH3>`0EuLZU~$Ouvay zcz@XLMX|e=w-B3`1=IH%vEO^UMXp2Vkq1Rz<7(R#BZVHINY-;5I*eQ!noagCHeM+T!=6Z33<&Wkmb{j2eX{#6axjQTHJ{%4E)skPOJ%WgJ^{%?!`ssvt-b@)Brdyau*%o>}YeT z`>@VQk*Qi}N{Tx}80?kt#_`zA*?{RC4>`ev2u^SjL zf^Q>wfInx`;r{Ete4GvlU}YnGC*F`-Z!c6D9lcm60}-%7=%w%+%b%p5q>`f9s#sP5OD z*Q?=!UvhgN&>^5LMt>AlbL_=-uaWm=87q<341+(`46{saFo~V0e{Y$5nd@B1eAg}^ zU{WewX8xW^^Rqj!E^MPds25P-qnYbZC+FGw+Kix>;W1CLp_x=osg!(8`I==53ED2B zYJ45(n9savT!1ZEFPP@UE4gVtG>8B(EB(@WY%EvzD2h?_uFNi92lbCX0H?!*S?T=g z$HwShzK&yBmg?mTf+KX!`&O>=0*0B(-SFm|+zT=~HG1%Gm_2aJRDq7%FzDy2*T5PK}vpg`j zUGa&uh{o0zI6BUskEqe6EO<<@>uD5TVPB9J>>Ls z`L($lY0eS~<6r!X8~5c4H+hb~G)K$xWt}qf9*!m6&i&P&ZmpL~v3Zgf-9(xX-bk%G zyeH65cZwXoOHpKkwDC<-zTZ!G@{0vZ7&L1ebe;ZkW&A}Pog^ElA0_}zTZz%*OSIPI zs+(Rly#2hh*Jel3+*Nu~s6;8chTKfn$J5pP<JVnnEYe#mi&Q*aBwzV4A@pYWYqGD@|jOW;p7DCQTQu zp5E!`gV98yN++W5Ri;#e@|XGIVpm%Eva{(=HRqcL5B>-;K{jUViyYRAzta`v(Gw|# zHj_8CzmbQT9ZwSng2%tqn131b&O8{SdE!IP2qsQ679I@T5$ZJo)h+N; z^^=wec@Pc;x$<7S(2eqAD#Hu+F=T@kK`=Ajj2xW3Cml3T+W{D51U^wS&KJo3|@Zq!Le%9ntUIP`0?}}}@ zDea@u-ngKSrPiKwBS1PIS_m5BNZi6{+>KM@Vnyg|d}c;=V$ZBf{&X_p>ywvO=%uq# zB8VfuE?En(dqzduG}1|9F}nL zHwA03;V-x4z&d3iXqp|fMRjkq&s?CJbUF<}DmjLBzo{<7kFlt3Dzm@{XXMKJaxVe}@0%#jh<7y}r%eX;Ds3+ke!Jknn zv1#l=lIIpnEVZx$2<5sbAM=uyoB)>HkgNqG=<9VJC+a2gE!5qb8=+24L?f7an*`Fq zmWS21Ad@m(R@i_R3=@O|eFv7!rOZd*scIc|-MDwGl2Mj4o{<+pv7LQ=R*!22h_3ji zDUir=OTW0UuptVDlYfp;rG7H#gJJbkAg=erQ;!CFJ&3-%9gq~={mW#^pRE@@1uYZ0 zfE+R?svWy+-t48NU9O75mq$SEBg_6YG=(zJ`LI(K`b*xYpn$pD!!5bbl#}+Rijoe+ zCfztYv+D30d9s2}Ph9h*r89`FYi`uq694PJ`6CocVh{x~jmcd?m1a;#9J#fSDSF=7 z<3(hV#yV)|S?*&tC*MBbVTM&z{ANK+Rs~j2yZ3}n)CzO^&3}MVFyf!ZqX3q|HM8hB zU%&u{09^uK;GjRXDg*Ze*>PZADQ0cc;= zL%>WoPekgwaD}^QHoqB*+mbh{_(FvHmjGT&fu&scV$zfK7dgMKK^-*JRi@!(j z4|e7l%eH!mghmx|zyHTd>^+LurS^=yBB+*9wQ7`7BeAJH8(S%*Ev+52s6B$3HEOS* z_TH&cyHshv@B6+#zsKYEA9%z$?{m)ex~}Va-@|hA6{$z{umUbf26UqkgHs{L{L5iZ z#nH+c{}VNh8a-31V>9=7_IWwfRQB;z)Q=x*_wMO0h3fmWEIO9&P{q^s4Uc!0@y95D zw&N;Wl9|xk_*JUlo=Jof0w^bJlzB?~yeL$&abe0T4rFh(=v=ummaW(KcEvCy3KaJ( zb~=eyRwIPg2b|^y&f5Xum2`i8x%Mj$_e}k#O^-8quEHhs%b+@s3*()2XI^&XPp+k{ zl8ELy2Wc3IHm*h)cW2!0eRqE+)`Obi7ciQ@QlbbsK6OWUjPSs^?2`YvM%wFfgVeJI zo2jRrAMB`3ns`0XQ8xF&OxelH-bVl3QosJk`!3?A)gK+QI6jN9uns8&YZ@_jFJ^ew z+o%sie*#TZ*wB@w!BhYxS-EWYYY8&SW^aFS?j_3zLrbZFiZke{gJN!OweA|lA+$-g z*c#lI`3DG!llfi~;Mn<_a8gJN-Ts4=ZZ8-WlwKqGQ8rN4XhJ|8SCAF~E-<$KCbvk9 z5ZMxanSGq6;po1Ik;1+@i#(*%+8ZF@^wImFt2?;$@-@40v)=GX3+9WG{7aEQq_{Oy zBV1&b2^&ZH!v1jo*C$Zu4?c%Y3 z9hI?vLDb?;!a~DdtmH{NZ4VuRd~%mXhif%a9a-pPBeR`cficxE4|P2O&xk|dW=BU~Z(n`qA%ZE<7?`o1RmiWD`z=49?;3KzjJR!g zSuy1!D);9l8HLi-ok*S?@PBOoNmPWm}k) zuMV?Fe^)4dk6v4xpEscbKvJg;JorH4<%Z)IP~LY3twm+YLI^WDr^+9LCb2~5zq)0u z8u;%7%_cYOSu+(`Y>`=oX)4nu!k`<6_URIg?pdS0u#V<;`|i>uL(0sf(_3@MUqx8T z7hvV8l4{fFw>R{%{ySW<0eTxn#L7BXyBw3eEt~=)l|SVgpiVsU zJL0e@{2$y!47y?m|N3I<&*N}PI77tp8fm6bmxL@L9-^ALinz@d^oQ^zQZhenj8+{o z>;-eB7iypBsu zf?|BgCFo%2y~NW~_`DWs@mjJ-=HvA;p9&$)z3WF@QUOzh0Fkw}736&MA2m+CL1U1O zuk~1n9_s5gOV1QJ*1G;NZJD-SpGhrXz;8xE*#WKg$83W21Ve&5I(bDy^+2!8v;DAk zsw`~{(^bh)FkSF2O7oD__B2>}EIEHp?Q-^tA0QuQGDU-PxY!N<$uLBtUi#ingHw=6 zAid=$uDMyMwDaoKW4@n?ImnAYEfHvWL5LsnDUavt_N57fnvdyv3qqDSnm?I3j$!Aw ztiv!wO9>?vLm@f&8iPu`X-gfE$)5V^SsG!L`okQ=zPC44Kyh{i#rLReKeC zRT&vUqO1JSEe!JVw?vkSfn|$-EiXMQJG*P@)MDg9Yk^zsD>dr)OdXiw{X4!ddXVZD zRUf*^k_!!pvjcv%+PzNmy4`bx8O&e8t#S^jD_1bW3v=XKzn8JEkRk8--2SE!9n}xc zN8Yj+-+3AP!&xwx$Ye=Ufp;OOIWX$h6;(b~Nuk~UQF5w=uHsSl05HFx;qJja0xBQu z`vNHG-b5FD^I(i@_v(vL7=0W$Om@Of;6aAqAjl=Pa3FcEDv`=Ls++Q5xNp%eGdz4J zUs$;$v$IpwRJ~ZFFO`~ZL;7^|G&0wAL1f(X3~`}4`QDHf(q32Gm1MxScXf586y#uA zqtaF& zYAQeaNkc(1@9@58_4LiT-mAQY1qyP`sPvjV{>5!mZfp@L5;SjP6LOH6wyLm;4?zRj zTViah)1?JyBfL!5`rH6(XIgT%c7_-gsDR3m#y^@IY@KzOYYiGv$p~Cr;Yl0 z{iy*SM40_XkiMT^>#Y~^oSq4Ny%(Nub7st&!(7qED+{1Btk5HpHrgV zFWmR~K$65yr4SI0QFNn6&}g%06=sa%zneJ!5PFevR7~s3Z^*&Hd-3YT4ymnlk`}rQ z9gv48y%484o6dDKwwf`l*ntxw~(QBbfv zloHOTjj7irG1nq|%d&Pw_9Dvf@}PI=?~FFHC>Wf7$CA$0o<2O-o+LxePpW`8*DQxt8z z>C6ogJiwSKM}tSFah*NEM|APmc2~?&w1Oo8{*@a^j;m0NS~VmSq~j`^>*FtSXPq;D zK1CY0QR8C#gq_SDNOUimbHo)D1iDe}n3tEJ^jVf=xb<&k{?@Q6o#06p?|LN{3(g|g zNlwlmPJV!AjZP<0WmE-W#tOc8^p_){c)XL=eun9Cs&4aML&;DjeRky>V(8S3E8`c{ zGFB_rO5q*PWl(uRm+qeA$NCIIp5$E4Y1;I(kuAxwmxCVYUXKLB^+6dHd5PJ@*1mI% zuMX5$o6oUCk>DHx{EwGOgYXTV!^OGb`yeXii#JJNz?l6$D!kCHIzOP`OGHqY27zyl z+2?pbv^-xBvq`|}ZN>FWql&rD?&N(W1)iMhgt*6lzijAM7VaCfk`(%oX)uKMqN#1+ zI|9+;WS09XUWx=Xag#)xlTou{5uz@69FpBr$?tmxws1c8m16vC2z9qfzJ`35xsLs` zpBC64@#)YgCa>nRP?#AcZa%*W1k^O#T3&8f+foRH%mc?$`*y?xH*(1B1J%u0w=g!u zvU8`R`3r5InP8?G^{q@t;m_Y^HAc^mWTbYiryoOvvVKrL&>LEH60=HW54+*fQNYbr z*ZRThUgMy6L>7-51oNA;zz)?W%h0^!`%42yADRvZW1M8Y8CCqJg6lGlv;Dq?n0CG? z1G~LV7=r8Rn2=%Fc^MHv#_53&ASSAp4JNPr9f+9LO$!0xDdo!0Bi|ICS2`tEHz0JSf{Z54*y)CELMttDu}c z_|BKY9g_WrKUPPPAx?3sNF$_9JYQxLD3FtlFrNgc3G#LJy$3oVmOHfzyPz$MI>F=x z7QEpEoLeLFdGs&c*4*0_adn`p+o8z%+2hUxxo0+=x?RkTDls~8w3XV9OgA^(On10s z<4E8w2T^ssq!;Di;{Cs8Gt!_wg#jDyP0L!nKAn+A9E1CqOZD4ecapW(m+Ms7iL6jJ z!$07sk>jvg?~Vuo0xG4I70LK?`VcdUGa5Mr-s8J=F(vMh2v?go)uE9P#c(uy#2wtb z=Ht;dDSRlpyWi^D&w6OST279Nw>);zLqO`H2L>XQ4eUrQ?<1`$)*bCM_Nu7BWG<-0 zgkbqdlXZ>h1nsC{Oda)>39wK_q^X{~|DzfG-;aj`0GVf2mKQ2nFgy1)C$wxh<8u!t z&|Q$UQ>|zF>;ObTh4-QKCMi1)Biz+1 z2|YS{CXHT!}9;Jn!r0qT0Klw);!$4*A}gIjs-s^_4Y`=BUK2PF^C)NQ3<&3;D@#R?`OQ ziWHfQuy3zogJ9_Jvhtm}zX`d<$(h}6h?06*<0#`k5}&n+xM$ObHc%@sJrEyU>&VDs z<Nr-QKCidShbU{6z=zyt5H-T{B;Q#IV zC=e=(+joJK3e#v~{7+J{BH-6E5ek#Dd-Y(!Y(jXU^-K!diOP?ZJgZQejuumaf=cDwL%^QgNa3qmE81nZT!8Peo!_XDZa{!1{c3C zfALDHi_qau3j_>8QSYu+KjuEClS2rii%72u0wnX3vd4#-XQ>f&n7M-+8qMgw%_q6; zu5I3!7NLmPPdKBXaVG*Q?Rs06Hof++9O74lZh)Gut=k3+-w-55E zYd*lB2+jxG|xCl@~jwv4IQ^`oLH3OLNMMY!(KHKrM8-u?;T~R>xpg zlr;OZZFbX+NBr!T-pPQ%%ZWA!`9q@c`=F6)Ml@g6TT(&L$Y#XAQ=fUc6a?Fbc`iKt zUis5B26-Kp*x0=H4flW^fg^V_w3O!#z56^js5#-SC8j>g5FQqtL_5#RLhT<9K}Kd?__%2yr}JxEDlt7e$X}*hs@*pj3KL4ank-yWD%Do>Cy)p(SI4Ms8{{y z>4{Ee>rIs^TKH>kt|F%Sv-Aq1ABP#;uB2~4Vz$d~%OhjczRuOX*-;(2_~|T%mh)!N zV25|liex>Fd{?oPv6D84xS-#dZK?}U1hu7NeU77b6@u^FQ>`;5No=~MnQ7J%o9aBM zu;_6J!M;ASfZ!&K;xn@9y)Z~)4qogT`18(%P7c+Ll&Zf67f)~9HpJBNJ$Fk4d(OS1 zXDgmx{U*Ber4Z}vy`yq!r~s0DA~J3Z*#P2vy$RE+VJF08#(SLf*b$5e|J*<$w+*P$ zz)ZR6;1$h1vf8$E%6?QDH@?XpHNY(-zcJ$_QaLI!(0A?1?nT zsT`E*l3~(tXbda678|e0{M`DOfBgwnn0ps3TFt>4ND`1^)*Ks~7Rb=;rh07$tns-6 zUgg41a{Ms_ZTFs2>bpgm3YR~sX+Xk((<4*fd|efzD%@H$@w3#GA{k4E@bwi|Qh>jm zq~-EcobIm-Sj{IG}@ zXhoJgF;hvaks63}b<*-khsPGmQ00kTE^5aUY3J7yPo>`L?L*;*%TaH@*!^wQOrcg5w7)jAz=`2*eT7jf`$*g4Tp1%e*wHJm z!p_|sLi`V~G_;KYJTmnDA&pC70>%=IC58ck^ttu*Ki;3HFz?^2*w&D5L{)zC`0=8o zhCxo`TRt=D$B@KbMG($%J%^Nb*)|}65Mp^btQmOd8Pfd{RN+TPi9Gf}zotZ~xJa^< z{3?IdZF%68`ulA^dAjD*^+!+c5@MLw5=(4J(1}~2d@Hn}B0B85=TTRJLS${h&hY}Esa#~0)Hd7(_3tg8ceWJt{Pk@2@-Cl$x zV3qrgOYxB}$@ZzHgt_~Z`nU9xdec;>S;+jmeMA<-MHze+Ng zn9JPD#^N^~-%4nE{34*)#?XbU9SbK2&1_5N?)deW_3e)?CZ z*cyuiu@MYi{H0qpgg|PceGk@IyXVf~WnU|sGM1GH&WNRwZ7M|`Kht>lP~OlvPDuY_ zVPgdL^sdJ@OtJIwhY$Xzk>qNxzevJD$cp`n7JvTzBWpkkX9)e9Er+)Nc;Q9NYqV-F ziYenX@fDq6d|4QU5SSf|r%KN?DgMIXgEO7bji-o`5bEC%sMPyA?Yggi(R3CW|qNvC*sZhLl z65WZmpZ4us{!tE1j*L&$b&JSlk2s88kYO}YY_6GM%1#C-D-Y&9vx2ezi$EL)A%1z!*rs95?1fk zW4bof!YBRc!_-JHrp!kM_E~E)q4AbM<_zvLsQj@Y;q-hgc_w% z_cmAqxfj_mB{bpEw%+Y>XvM|fIZmx{YJL8Ur|RD`jl9Xfyv9)n3b;k6u1G^o{B_-B zPzNuRSiyv7B!;Ie(iM{23VaTTP+~maJV$xj^A)giC5r`69g)Mzq7~K{#N6DAvKoqr zp?pKXx27{qm*By|&?rgRaZ;cww5K#}CH@EY=^mtWTQ>e#veMN)+R+EoxlK(!=D+IF zc#x6F8(pC2G4{&ijbQyBJ@8d|-h(k65s^aS8ooLJ+4S+Gc_j4?ZyG*7j_uK>^Vue1 zNCJLL5;W4k>cGm6<38P-PY6dqnN*%VD9eem#5d)v+NNFnT)Oy~y?h_lO^6$*t~-`t z962R^zCila2zW>kxa8K^bDt6dR723)NI8o62`ClA*-Yo?Vir#$DwWUrwYm>~OZJU7Y_B_>k2@E}WA|!(Qt& zpJJXt<2}UT-iC}aMP`&p{iGldWJ$2b*bxg?Ty;k3N~UrWf2p{rtfF~6S447OC!~}6 z36*rAEzUnML@DlYmvY6F^DG1t2B?s(YWKvTt1{Ku(A&O?PsZ3W&HA}8X-MW_EUw_3} z^@)edXwFgX=2@c(&C1$ddeMfqLo+K!Nb}tU$Y?-#OKps1GtO~_SRE-cLD%QUsRPD^ z+PcX3_bpfOT@Mc_Rq(ufhVgmqmgFd(4Tbah6clp%LhPeWJRO`oUK>3tChnunf{1lV z@j-CF4N0uACJ2mabX$hLB+XOQ#Mvj=%Ls;+^5VoQ`#cUDhK@FGFSIPtAO0N^p01o4 z*Hxgz?3}P62w=y^b(Rr8b5|kHCvdRZ9SLT1#8fa^vXncCtKjdM+be#h-$fS%kmsG} ztd@N_We35;>qJpRcnuFTyEwMHfy9^!aC0EetW-4I-;m#bcO5hS(?&^hcKQmCchUU#n8%?)GzFKD7*b3pHXX`OMeHMAFy#OD z^r!hm_Rh1wwR;P*5;E^`ZmBEi;<3R3bvF2xH{hgVo<!>AU58e=f zj7y`hNSGEm1kh?%MC5rfIA;I$sb91Sc{v`vAKK5QNt=$ePuL}&ukB`ehM$egIMwh- z4EXm4HP|7jN%T~0C6G7%oE(5#{FS7K+Vb%4%j>ZB7d#fq4T08clU zK>P0g89l&4$M*o0#rZ@SJ*_H>{+oIU&bvr^!K})Fc6#OY4v0fW*Ux59aHOb6h+t4Y zJIihSKkg|yvE@B7tn^Xnh=G(Smh{U6WFyT2WDxhNti`QycCWv_$X z>KwUFGlccOI^I7%*gFjzvE|WP+9CSC3*Q?2Dc>U_BuIZxCg5V-x!OX6+6Z(s3`HgoC5z3Y=Mq1j^iUh}6{%GJQb?T-9DZEkmt6d{)+^(7X(db)( z9Ej$Ic3;l!rORviDr~2f2pP$gb_NJL1>bwu1afDQC7P7ZlW816|Fn%6Y(`;;(3}$j zX%oZv@1kh6spHe{+iZ?`Gvih}PNb;>z9Z?Gx8ZsJbRz8!($noM6)btHvA?KKDsK6Q zm<$Gg;CnJoq?1LoBvU*?%LXr8n(nl_4n6$&*wk*P7An%DIK!HpPIr@ZnejB!VnHl= znv+RNuHL^CE%!3}zOv@1=h>Ulj>Oov#l<5roU9qS4XlV^$M96PV8~Y+av_TR0d*0| zkwWgPxKHK0KuNweQQQv-z$L$Jc#PY@O` zTK!1Aw${nlUY93ZLo+Idne4Rhjxq>Pxv9K3C6#_MNam%CX7m%|L3q|bQLf;}X$R2I zK~Uy(o!F!Nreu;7BSf!ieqQSLDiH z;I5zFYCx(g14p?-&2gbj=;^y%gifTLr~^aRF9*rW;7aXNmuMhC4t10>q$Vr~A|0n# z(j`^;Gh(@%m^*hb&^9{i7gcrBXSv&4O3`c3Dzk7t&um64Xr4{sl1*fWDarULL{|co z+44*}d&7ExDmO9k^RCj6TEMZ`GbH(DE1UITK)Hb!KNtVejvYb&K@w+YYtf@w5EH zoRO@UyJ`rw)b<}m$7U$9t3?fv7H7y{+$hNCoUmbNrxu~(a;_}XuLQslWQ0rXfn9jY zx89jagp+uWbWW2yDh1N^;a(j6H$>J)RBmXlV2qOf#G%%4`7;%r3tj%LD}=ZfMn@_) zVE^*XZ5RZB6G$)G+}-!9RqxRY)Ka`sx;UYQ88%E)4S5~W>5244$RzE&QauPoIf0pc zN1tm$n_Vmov6NAD#@hBVx5gyv#_Q-OK>kgfT^e6wy8o;GM@=}zXGo*Ot@6TOgQ=z2 ziRI61RB?B4ExT2nCd+BMG%)moi(c{a9XTSD)o#UmCF7?7g~X5QQViYwv0hMS)r5gi z8S__KxaQ~HQBm3Th#n(0(r~%@7lGGY;4|J1OHM3+*tFVzg0|i1b34SiAr}x|Hj@{= zJkNd1;Sa`9SldMLDuXP+FygSF3$aFQZFY+spK=tVj=YF5H8BcfNj?zdK^}9@&BSN0 zFqKaLc$ROeDvM!Gf?m*LRt|O}^EO&jZzz>oL^`R|NYQ42Q3fp!61`B-k^^IpNR>_{ zfcIQMv_kF+8+ZRSnyK=k_j`b2(d2HpQ7Q*1mD;5J`<2<}=~Mo%wBN0k7)C}Jvob+X zGM(4FuCG}aTJrInZD7pK)r$vYm;lXQ;izrl4-GdpZwb3ox=@QAK2qr^yfU%Sn|A_;rxhT@pJ zU$P}URI;V;02I~`j7fS|-;~u~H+nfLL5|_SH!tP8=0be8D%`s_QcY)k$JAvNl{dGe zACUt^iSLF13hJp2INl(N^$J2b(g` zM_cmwzE5;5rrweSy*&0)1A*iAl?HLVZW~qY-LzdI-)_uDtZ7f^ExzE z$>bXk9~%|xy;Hj+a^V~*T;KNx&ap=WpN0GbXKuUhf9!7#?VET4LV5kZ?Ni=|3ghe! zYasRIvofyEw?NEFXA|SeMe*dIc?8r)wbPCjmBr3@cPM_Fn*T6pfYkDaZ87?LtBF<4 zH{~GQNT_LxMh3@MI4(i$LMf#P8N~?sB`q!k{D9+84G*-5#pHtxh0Us#NWY1O`X7u% zS$^y~C5nG6LX{-Z*Za`yyt zLmKx#mBu-hd}PcaFVDZVJOY8Y(8-m;1euNJd@SkvN(7^9r$F~cHgM~xKAuv0EW~ib z81Rk4C$Ik5mKVX0g>lY8KA}?9 z!7z>JBMbZfCo?tNHXozh@YJ9+w0H8%1stilB$A5wR1DSGJn}>-$l)Hu% z$D;erTaY}5LgJ2tAks0_a2Wv2xEtG{Bs(bXWpH(%enKM&koQAcr@)9Rt-j~YxvBUM zt1=Hp2t6123RZpAja(FdlKX@8++q@nRUqxym9Dk_nu`!1tQp-dAxE82Ofyw3@v!fF z#IPi6EE$u*`=B#o`sqEJ%xs@F(#&&_0eb46XY;9tt9Q~vp4PsSsG??o8J(YHJ8fw5l!t<|hu3%q?>?$OqnHq@HHXxvDvgd(uJA9d z%R=%+2Y#VgY3*}VAoZ4%y;o>02&u6oaf>aqYDrt~pZj%Tx{N^5T5|aFl*;#R@N|s@ zEi|mD?;O{#B0y}#O(liN%FM8O_Rah~Y;Ts%8z_h1Ps@F7hs^!x5kl0x%z)9D*et-v zphk1Ugn1n<$X3B~`ie*loxZj|n3uNG|N5G7u2mZ(mSams%{rPQ!;0cq+q_F~=8&jy zN)E_u44IG{xt)KW-$c>dn;=VKD(0vGC&Y?Zl`U&QZVl#~`A^U@%WKg9OGW1=&ZQWh ztt9sMp7@+1|H2ti@bBI&hMqw!kp==?3QW^57~gXxtsQ@(LWKK1`y+Q<*i+9FBe5KZ z33#G##s9JV`m|(A9tsqs(0v$Yv|G=J7F0?xV9-J4LHHL&H5!vr$~-jcy}c+-F$H+Z zFM!PW+=;ZCppD#|HLi#>>K1ObzSCD}j%t-n#&W^L!E-}9AXb&@fA4NiLH*@ZzK2o6 z(g2Y@L9R0Bs;z>J_dzel4}{VGtfhcKk{@Exv?#OmZeCnT(x3B`v!r0(tTs=FzQHv@ zJZv9%XYF)Bg;m&?@TQBxb8nb}2(T>{rdm&Oizu*)S^jgS|44C9t1d2uT)CKkP;Eil zll}H)I7BEpXxa`*mmG3W&G_m8yKexsPI0zJN;5N2v#C3@e$E{C0)lq~Dbd9C#`XGm zB$Rbh15ojNdxoQOX;dIvaO?+r*qp_6#zPK(%x-hXIW{Fr)X7FMd^)PFDg<5zUZLeH!6{@EJzd)j#Cp^OG0N-bJ0#dMzP2~r6EtZ72}?F?yoVwPY{RAFK-vIo(J62sauoXRoA1!Zj(+uyW`dVhzxIL3QsH{z_TLZV@gim1w#Pf zWv+M3IbO4nnGVcgQG%e+ncrk8wVj{1-I^gP|G&<`s>z3iGKUmF&EdIzZQ!7j8-SPXI=8a>!S zik|IjF`fCSJ2;xo2_P0x2^b{Oj|gWP0vrfv7>WNr&*qRons_gyCH&f(h#yMsvw3{8 zaz_C>Xcb!*OS+`MGv-pqw>3OP0P_+xZxDsO7)q&y?j-|Y1igMQRFPrY*egb1D(jcy zlyIxN!Kd4Ps=Z^?b>fPkGqtwas-)=MCG+aMp#lk^TB1zv+|=V!MuIC`u|NYYH4zRZ zb9p_rCPkrs(a@hu{~W0~hJC6T3ae+V&xt>HfdM#p7ZI7QZ8hhwJ<3qu>uk6l)y z-;-U|?DE9d5i=fBd6r>^_>YO<=WmY_T;N#t(gR<@5OV44#14znV_FwoMhAbND0T;BEd#nfEGGP{S9h@BX@ z5pw23aHj)$8fqst#V(%~=ekl!fEmJ0wS?yPg2is03Z6SD&NiT~&F*nNkQx6u@|LM>O$SSW7Pz?%=X}4t{Vy!ie)@i% zU}OII(yy2T_xuEX>d4WR*53jibwsEs?|Y+hKmXmTAo~31oc^XxIMQS6_ZK$z@G7H* z({`x)o$|#eH*dUHUGC1WQOWbMME`VlMW*ULG+?KOg_z7@CY<=8D&dM#oT%;{?+jdb zLwpLjrKVe*{r*Cu_FtbwQ07}uGrthozl?|YqqT0TeA-7zhM^ju@CL_a!Q48+akXKT zpv8^9rkGf2&1E!*V}j0Iz^x`+`Dt@{kmfM&UJCt$Pv|cME57E5@JCJPa`V>?BGkiN zm7q+51VUeiU(#UgT{1^5*Q|iIX`Z*>EI#YHTzxwF#^xWNeR*PM1&Q!(R@kl1m49x` z4pAq^h^^EdGiUA>(O{681JszN>NH$wUW8LC>IVHqt!O{CE?<3SE5c{Ye*};Q$JF%v z?Y9!l#Anom&;tDgMy?6frjt>Rl8a)AtYNObKW@d(F&B4?hFYIAz1pwa-J>_o-?7Yg zF2{eLdqIr1>{o2%+kb`U;9oSB@dx3!oNOg!49)rSn$jt#VNNn)P}y1BhtXf%Pbg6q zW4ds?Rlxlyox7y#IYRYJZ?f;$aA&cpiZ*7O0xm+YN{4wEs?CG{{Tw3&{J|4Ybzf7u zb;DS`M4BR>fT@Yf9ckp4Qa30wvbjx^dw+LORP>211I*N)QG<&BHG{m9@b}*x1uu*~ zO*1h}?#w`Of{k(iaFw^g-@_-457~0k8NzJx_~LE!&%?m`R;D1lE&M~=680VP;4Ig5;M=uCjB=>yetCf6~a&#+pI)TXv zl3JlnHrvd2!cJ!vDzXJ7jhL;?(_FlS@Yxd_1-ntknynMPR)U>OThU2$tqr^d4h6V3 z%nLJ<^`#9{UIz-Mx)ycmjpz;LEJ3Y*Bw2C&@=pdn+0HX$k;KmITUp1y?Eh#pV+EUA zZNN%%6f_S-`Bt7!SzONjqF1BTs2gW*S}-LU6f3o8 zN@AnrsAvA|r_;?x4EhZjoxJDv&974b9g99m+>&v9yyUI#ylK6)wcl19 z&;ox&(Pptx3k&s>^lz5#@waFY2HR2P#gtrkKeufvy6y%%eJ}}^Z{y_;9vy&{2m#z9 zGd&?ryjeria*itZIDg7X{{0=hvmXq<0RJdg3i`aIh83%dB^`A18y#;0t zd>6S77EX1*7=-z_ZT<2BV$5wP_VHjYW&ZrOQb1$*U=$Rz9T`X^frc10~ zohMH;tb;hAtpUFU)OA^(v|leXE*Zz4#1)Q1pr~p(HD2wxJ}ZdI%11RzVciTGkB6JXyVMe=;|@rI1XK4v0&!5m#WfR z!a>2-)DmL{bpd~8tdG3RDW(?qj;hx3+FJY4-*3($re#tb04fSEQypJrT< zlGY`Os{h6~Elh-rL!y|b@rYwNmSBlO)ObikDDFyrf=oT}4G}>p#z%+x^(!p|nQe6x z@{_`oV;S`gU7rn>L1m1q0$Y|v=>Ep*VCr#cPnc543uz1`1d^9dM<2?`P9cjQc(1%( z?-lr;%fl{t>GV#+e6jL{p0^MU{b-jOr z*tx&QpyEcTA}1#9rkAY3SHhJ+s@6&u;+FClWaC&?i}_qFdlj2lV&VDJ@47M*s+$gS znY_nJ5G5Cl)4^+`e`TvMy8Wb`y$S%|9pAoQ95l3}9Mh?;JeSkeS)PdiM^iHQQwKRDHxx68m}Fpi|li>imi_U5L0%l?ns? zIDnXJlnQwcZWbN>^iedbN#hBA{!JzT`7U3S@zf;^q}`+yeXnjas!w4uyE#G&6gu0^ zQ{vhFZi|~h*$Ok{Tf4%inGxlv1Z?S+z$PoE+Q;80P9DDk7-hy1K%AW*E3wxA2 zA$;s}kv?3$Q(KCPv}tCPxcVlOJ3yE>g09@%E3?eJpBXj+ox+?p{|%>yzM>}_jNBd3 zQt%CkNZt+K(c3`QIh6XgSBo<22Vs5v2PgQVYw z^uEt8i$~V2)M5?qXjd$uRPZPqnaeIIc6R;UJ;5$hHCgpKWY1p2ug!tC#Tl3{>(7p5 zejp!P1r!qj!PZR1mFlxowrB}`DBF#gN?%Uc2|UKNyv}_o6fzvKJ=F8^DcxV7?%cb} znHWzoMd%K42V)zG%NdQb$n>v%lY3?AEUdSkB($&!I>_>H5er9+zG+1rv3d#2N0j?^ z&+ipjP`69j11}4+Yn4l7c(G{Q2knueo4@<--suZ<`0BQy*lf0i_kwEFm90QYBqJQB z7P=3R!_FR68DF@L6wY;f+HHyM=Q)bg2G_?qAqU(oI7Sh_UJcm%f=UPsse1 z{`6xN{oyya;#lDL?ivUqQ)U<-(0ogi?N0`2T&aRvBDqv@$j^bdG5usy^UX^Mw>lBsOEer4BfPk>^2OuNFeKJ=3rk( zgx4MSRqwmVCb1R@FWL~-VTj(um=d&M^c%GuaxW|hd>8mG$K3z0kYdKa$CB#MB#CrM zT?r}TB^tbMbdTHs%v?S>5Xm~TOth9Bpi--@Yu@|v>eVY8SWKlif*FyR`{>$`ex0lC zs5d+R_PIu!AzF4d`!cFLsH13FafW4;%}53&FRZ|ut!aNb>5}jZ`oB9S9U&&`2~C^| zUSQ3qrc(w^CC#vgDlJ(xelje{!SlFB4zkHct{C5=Z3r~q9#u29 z{PA$(@6vdk(?DzF7|>aMYrMwOjb2Kb>&ix5iW(TTf0)lB)X!qK&Z`~xIxF!fBMXZB z`UHQlj(nHot2YGBdsL7%#}EE3P4y*A`4}nZOMzkKdPkIFsmzMe=hyX$c0|~#9?lX- z4MkK6-2qwWu2G`s&f_R{tOd~98I+LdayaBTDGu(EFN0M%%neTswjtoHBUWEagBRpiNG?&dhrM=zb^ znGakc7#3D|)%;2WIXd?lMc=2wLd1^uCxwQvV-n`GV&J+T7blgcXywkaEaS3P=1TvV zUk;`-D=9~RVyB?l+x}4z;R+~V==$L|2rtVjH$HL#njYE903u&a9a|)ZRjDBy4~5<2aU7HRxp1SwOJzOC&Fz1?y_)H@2BWrrI(kq%him%L+)} zT^;-((RBW$?&0LN`>q>0mh0{-I|8C}uXZZC+Us5alx)t{$$LtC!X3$g^fQ)T);)voMoeE~ z7Lj{3K6R0q{L$rHSSF#oquxl4NN3jZelU5@&e(-YZXT6TmfwzMw>C%bPn81#UY z6f+*`ogB&aV3{h zezZENUMP+_Qo_tD6Hch~urO-z+DiW;m$Zg+=m;9Y$ur9wKa%+dYDNPu))N>5W0F^E zAvyH}RH+=JZ){$Kb2iHAhc!>?I_@>o3xcutpkc(m(%vj6$p zvbkIQ`&^q!1xWRe__rer!P!zkO^21OsE1R4d`c*bXhmn&%KOjo5fR0cWHFHhxAKk% zIhWWxKiPWWiw7x%=XZ3*`^FNOIFtnsEo7pqYxU`QZNe@%s;<9`w|;y1%hOVn-BJzq zn~DIYyO3J}k29PrfI6RKyT39NY5lxt$RFo!^m$7${!g}Wn*Jc%7(^xILpIS#2gHH9 zQ^irZ3^Npmfyy>&^9{#G%=mQ0Z^*XKlyp~ximy$BU-%s{D1&da(!M{?*wylGYiaMk zb3Ep8UAPwo1fbAndgqlzPb?KUp)55}_Rhiz*-Uan( zI1SnEXus=U$iPZlZ95KnYt26JXmf3{VSG7dAIC1XaJF1l6VB2=+lY-yAZovW4; z(zEpS|M7Gl{#3^Q`#;CQIo7e)amdJCWjn$-Hl>o4nGue?$w?km#S4HH!G6b z_vPs=v*=i{k8MB48coi{@uz2Tc<6O} zHhqL}ZXL8L_y2LzB9e|W-+q% z(O3cEY8f;%DrIglr%3u=tK71f(zRmO>Yk^g){CCf!@hfv!iM6$k*v*YI3bG1^peC) ztv9ctqwlHQKCT~aYduY}Xy66SJ1G(3QcLr$#1v&qLaLLqldG~_BN!s4Wmsj1%SW>6 zBF|f+>7!!|oWnijkqAC={E&vZC4Ao2bPLHimdQZ`=xdwW?}$MxC@ytrGQ2$cotruz z-1ZhD{`)cqx6>8Aufx9iLMf|Uq3QACsR-qm&+}y^JCsk(_9^`>_^@iN0s=LvzVbog zHMEGoa|%p93V?i+U#g=Qxq1jJp}YXnHWx2kdrL0q2Ak+g5$#4f^A4z#i)_A(?5?g} zD0+_Pe>=@vcaa&$+J-RbkY^S+ncYShC)L71s2r;6dlIv?Ee0Y*qNsuqK0&s!QTULR zen!TiP4i5R<*q*&$z0MO9+#efPp-L|Z-z?=JCR}lD%Eb962~`0V-#PqkZ0`XDEbwS zQ-@3fVCDHuPdZ}I17ATY0+`^2H*(*8d}rxVX;uZHf11rZ4kjq5R9|dt=MuWDV6RVK z?(^kyMyT2)3lnl#^!Lu&E}%dMbmpe+?9YGXfl1L>+|_fnvEZMu?dIi7$-5U_nVjrb z94%qudTZq6*KT{UuBh@(sT!fSq!&rKv5&?xygw3wc3xm0&DTfgZLVuyQQDV3NFF`c z2R-f*FWA;ci+?Cya=C}3zQOKPyWB07Df#Mg-0+v#%Cl2wGQ*4I1O?v}bntZz>|{(x z*vOMTNYRt84B}L9&{@}VIjmXT>Gh?Y>Pd3_{0P0qxLae7TYpp#{D_Iw=bEe@B?1@s zYD4XVR)D4;5vkrEJsSCDLy0-MZuI*QUk_M$%R^{jTmT!F3&t{E>p*i8!`XITM>@_F zOSA9H=&h29MgO3^A@~m*ugENIk6u@;evFMPN)HRO^1&B;Wzt|@29*~iy;ycA4we#i zE?RdgIxK8u+`1O<=ew_-BIJ8i8C#vczT~vufC{x@e`n&=R^Gq_L2(1$eW`32($}a* zS6t}v|D7BtMN(o#fqWU(O9nS>w9_7U)5fm;h%0yPcc(q-}b^ z)ZW?h2cdS~ltKxnCW|_efO%SV9OOR;T#ufyN-52R9i=OZ4KTV}wLg~+SMchOqbwNm z&=UoK>V~bs`zn@7*!pPv+qO}cneNpY$k(LaVb|Zu(`1rPZ5N`TBL^4E`i*LqGaDh; zXPH6Ge|}`^a0NyB-0~r-nT1lo~*4d?hWaDwSZIqbqmmDNg^o$ z-v>GauURS90=(PXp|AvUIUTuW@{Ih9jKYl6x)eJ0@1SZ;feLUq<;yhbA#!QJy?B-r zhUdMe#bg$>dQwbuiT4|ZtAA~JI6h=7B%{T2?A9)kPi@)etE36hL3 zTZwMt=MD!uF}4JSE>{VqB+u9ctCYs{FHF)9*{SnZ*9HRCt3xpH#A(n-j*9vl6WjHM zfxUZph?#T9+fP7|$j30VA;m(k+T1jG(W$+wx5rm|2QJC?;L3Gx5O0YlXVadYjJ*kTvDl{6tsKh zu%I*P84{lj}cF|pz>(RHl8m#cnCxzdT>xLP-EL5DPf)c4n*6Y!w9S{2z)a~Dch z_*gA!RIPbhkg%e!%U(Up!^%@r&=XW)Co8Kt$j87zv!eKyL!b7*6^kE9IX-8$jp+fF z+l9_CYl$kgMOJW`Z-|SC?Q4Z^9Degs zVV4?a!d^Y|T~W(B-N|BLim~2W?MtL_>!>*Wul%uaURc)+sw2D5o->zC=8!)BNty9 zWZLW&fl&e?p=>(otLRmqswzb`rg$myber9AGJ>VjrkWGz@tpAk^}rPnx$3`d$kD8k zvmz({j(Dgxmq{YFN!+1;dN***rOrx5wpG#;9Pj#_{=LcX+RUo6il%MLL~t^smLpyV zmZwdO4O8%VC#=APJVJ{@I+z`@pvgfF(&F?Nyj$4iLr=@{lAWf5Lm9B#*WtHCaCppt zgllr5iR5ohV6MFMDV~}8<%JKyjA8J(ZyDr-{8c`I@l(CUv;&N|&9=n1H*R|}ufBbd zl=6#vIjHCLgS5p|#>F;Ij^E|}2Eu*z4WJ*s#2VpR48=whHa%bU5VPz`v4OC>zF5qQmmMuhsy8d!E$pwA3xa&l%0~H1b z5PxxDIwh{qLWmN^RQEm@bwZ-x*~A`S0+4-1n%M!l2Kq;16^F&VVHbu#5qU*%B~BZe4en^H1JmDY$8iUY`wsAa#)~lY}KxAKU3KH`$LBa?I&- z+LSd;9yCP}-v*+;{MjG!{9MBp`V=&Oy$LK=8>lpPGfT1*n(GF)n%=!ZdM-|nKv#F{ z*^Qz)mBSN!kvAS)+v4q_d)M0W`rfrgxFPd~UG#B@w6Zq$mh{0Z`nkXvsgB%S$i;5m z!5v?`ZgPR?P*dBbGIv)7 zNCpz`Ci1{kh48;Y}F?v^*tjgB@ zPxq?1!+2wx#-REr=dTL!CkT4Ni6KrqzP5=ma~2+YTBq5b!DnL~9v|&yB%6PJLzI61 zW$+-=*rqOISmF*Ce^3?@=`|2pXf|?re!XhvC7i&NGVtzxLjljAiVBV8P;%x~MQf$p z06Ae#e)96PR^rTjUsmw)S8BAZ4ov&)Qt$&0P9jj-rS{>V-|wJ_TKQ_-4P{S*A%%## z52(H|7CvFCvKNhuIb-i1GRFro!pmA*EJiDnMQX1n??$(Of(d!eZ1>vjzX7AHdtSxJ z$Mh<7b9!fIfQSqM?~ zg(PylhPUjLGiqA*2L(ReFb(_M=KYDXK5Z>Ip_3{c@38+UDKKV7AfqEcl{dzo zI{Pc-t=d)0#H7bBvnGG=KeAJ}*blqSh6L}F3eKOo>}oQT2NYD1%6Qq;EtqCZtAJzi zqp|<(tU2-Tg1-SfvMbj$28Z-opA!2&mMRgi$&9;nWXg_EgzIn+Ve4~|1R=n=zA!#w zelBqZIL6J|Fn|v0U@-!TXGTAhq$~EGy>HX7juyDwkFXoC~T`2;+ z*Aj@4f&qOoF1)_}I?5;3C3G>m+i2#M)W0{(K_iHKpP7y z-zZZuvZ|q4LrdvhVp-b^|0~o(Op_uY7bLu|583@2mKWl&G&yx1;Q^HIGOd1e-#jZ9 zZ!)GLpmu0Wyh~qdR-1fN5|H;3q4(6~dAEJ@WbW(-Ik1e{Y3Ee2AP){r3a zUG!O? zmZN&~=#CNQSLvc^D!v8PSExzHD8m^Ja(pUBs3tTq!7q#%zR=xvsU|mKf1*9@8pp<+`U5zPawjK_vMJ0SJwvLN8pQq-BfY(#x?y z8`FVRkYxxRKN2CDaRmS=8`K7t;myfLWGTjW}`KK~MHWzxtzSrKu2y(BOO zW3WSN{40yD?vjE4Ub15H(1ErXC6=WXh^l)+{dol#5l~ot9yc-O|6wT+rSbq{;PY)k zsQal{3HW^*i;vVIzc}hWaUpPy6Xk-?VgGIF)HQPNifrsvMcSO^+fJ^lwi?7(UVSq{oN_kBwcDW?U~K5YBg+M`Tl+q`Qhp!*yT zh(0eZKpm&NorjobUW3t;ct+6_UB8FuHr=_gIwnMrjxm%perG_pIo{`GV2lWW=;D&- z<-@V5F0j+*!s5@j_-;Atlk)M>Psm@!j_9p;6gJJ{wTC$-c;y&8slGp|ao+Q3PT)G8 z`-C_BBjE-2h5HD;i>!Yg=*lr9x&MD3dB{W11zBpia2MSRE<>5zKvqfdLJSTfJU`?x z1|m?U02pX5Z|XIN6gf%)g|gRm+@_Wj_XBEFKp?1ARHI7{ek8YTojUiY0zYv7dIgsg zSNOHu-@c4+2-X6yJ<;DC>MEMeL13r6IMCZ5wa@WEPRQ$KUBC-KenAP6T+S)=-2X$9 z-2|AoBFcZx(W^)Y2_nUoS5n?}4@X3A$%*7b2gY47b>Swkk?wAt$N(|MtzNA<2~*|Y zcR+^glyE{a)83=w#o*u_k)f5w(tMjmkG;5}=WKY3l3!oe50Pm9K-Hi|{MIL2p*j^_ zdT&Q!@m|JqrBK^c+p~-(E!;5{EEq18XC)0~)mP1`loCdFK5vuZtH0R47VSQ^P{)Ru z>^;q70vga(>7M!Ar;EQ03(pE#Qx||>Pe({ChyR*KZ%i%*2*2lxvL!;y-mG12ME&^` zq=X1{j-&=&+@`L-#4+`MznZj*UuQ+~Xj2k7#s+ARVvl~PCX@7lPIw_? z_rD)#jIRPl4;THB^1+S^gydk%4Dt-?ko@Q2u#Tr=(wL~rg8Qav@0x54V>>cErim?K zZD5UvYY~*MYU9_ZKXdZuJNMZuFH0u$2UFsm(Bj`{W%EYP=c#quLtB(;HbzyIVK<~D;|a3Y>6_`XliQoRZV?oS>$ar!jh z@R)M#)>f14!ToC2E|V3D5Ryqh)#-c*Mg%1vD1%Lbix74KPzwQCL6y81 zwXaEFlf|p&Y$paoQqLj!#jUs188vIq`3knSi!bicz6I6-PqHOAPXO zD&M0|p*#qKl^1H#mdyt1)33VAbC|Mg z6$D*lCQP)or7LgV1Yq4Ia#_8SX8ZkHr-c@8UwjEVbNF$iK>34zMAMUx1MA9T$4`ni zSyt+qR0zAKB9;;WrzJum*NYu3&N%{3OK5={<-;}9^(o@pw+I0Z43^VoA8VcApS|vX zYc+bV6RQ+Aibbwx&Eq!@<^a4+N1=UUsM73%ZoK$0awBbb|V)z8##HWq=gUUc&y z4KQH>IqzuTy_E073J{r1XF3AhEmvg74QVa?(qU9Svj?cl;RrVL!ZWO{sC(tZlNzOg z@(LiG&`>~UqA$`^%torGd`yGSRwkN}6-YF8CbwR(&AVAORHt19Es6Z0N=bV0qLGP_ zFdHJ~%@N_;q|$x8ofc1Dl>{MnkmJL4*@}%l%%v^hYX~wD0(3TRb~;*0Nvw-;Bp~wD z*el~48_(E>w|)%p{QcG-AsVTG%K~9xmY~` z1g>VvDL%lHLC_EEG{2n$JaEJ=lhLJT9t_2F!H!D-;2V%h$%;8s%unBB8-0DM z{iLnoU~0#Zs>YI%$yNWQeIKWv%iy!YxTT*Te#$@c;w9sL9yxZSFyV95G;6mJSPs%& z`7IS}m{$;UY;B`jl^3%QV9@KEMh-@E#bcg;2r!flg<()Mky88wpiP^{_Yw)ywQP7O z7(mRxaQ&fsSCCi9k|D_yHUqq@pfi_?i}UO2?dowA=1NZ)=n;NFLWJ!|h1?);N@sYw z!H!3UfzaKo)Bv|aHF#{PXbOBzvbS4oD%ix-bi>3bXy9)f&Cfcqx7WoUoMFWN`@Ep8 z8E+GnS{Oq*`$Ko~an2*Z;?h`GiB^ZD%Wlh?N;&Rv@RX_JTQ7R{XdRTTcAMyUzKBCS zG`RL<6I6L4%0GIcNyCxUZL)RkFJQX;fu!Fqwr_?+kG!q#1TS8EQFWBFT5VE08GSeE z)?loV8-1bY%Y8+!)oi6bQ@uAtd{fpDX888u$iIev+<3{$TM^N*V-gc5EUI#PuNFvHu&{O%5YIEtoROq*(=W5WPg18*onws##;hk}nLWILPMS{Iz{3NbfxrRn zZ-J0Ml7`0miV5q$>|nx(F}Ogo{knoe{||%hm#<`oyk4wE2Sx4&T7TyO2mBU+UEIvd zK);qHy44s%+A|C70S6t$M2~0AT;gwEFS}>tYviD zh^KS)Y#dva@=0cO?BM=f*~g}-iGwA-@%_fzRo_7`SsyzGQ%>Cd$p=0Hp&;R#^^^e3 zt(k);)n43 zZ6I%eldZmB6h2;G!+n7U{m+!HqeF>^(3&MS*Avm-a(GCThJWgeVxpVm*!=Sr8Q~H9 zZ!sy3O#gC#9z6B$_9MAW09v8oCqf}TLI^HNpZhn4yoky>6<6-62`98!Jkk`BA(km} zEU01;>{^Z*J)>2PvJP>0n|N+$MW_?#;`e}-lE~`EpseAj%Y2T3ej2s0v4MmZizVi^ z0S0F>Cr{eqC^+QU-#y@R^m%Fjt0uMvrVD?%Hf6`KJ*=B+^FN@ELL0{ z?_lw{EJ*T#8~@x3R2*gs0c-~v<~OG8j$srNGWa)%PqQ3_3LI-u)gNvT(fJ{_3@C|H zQ;JT;QPD6cQ9`s86I>8fCLiE*_kkH|SM94SESbB*4aihy%SGRfB_3O=jTRosa?nZK z%+}X%L1O)1nUfQ*s;QmjoW~s;61Ymp)JnBgC$y23r?fgs_sH`#%ko4!X)3!@)H#V8 zv7-FkkI%~;NOn_;0lvf_^N3)3B7~5gojnsez4Vvc{|CJMbwcI_5bjDPbiDg{uUUN| zRzsP1ep|!xo-nkLO63&O0+LdC?&es*es%k9^))MGM((^YDQT zV;7CWoC^MAp4ME_)ofXKf__9MXZo zW{t9=g5D^MykkqzBD-mM40Ev~eQgEc4x4TZPTz-4)KQfjKl1|5& z!B7xJxV4MSShU+Zz};n(r78YTFJ~LYS&&O-qEbM3S zTCoa`7XCnc&1Hd?dUwTT{Q8?zUW-8wkf-DrN;&&Mctv<+4k$i@l1vlqp7uE<+0 zF+Ju%pn7D8?VY)8u@HC0RkSc;G1y!;%c01TBK<@7;V z*GUkoQPY`{$p^6E+k?e2!`}X2|JrMe9X^}gIa&*TxZ5!N={?2*7F~8$!Q9*>uSzIB z-4hhxcSn{e))2-PLy5QFykVvqXHgk>DGWX11qbwWYp_46jT93&c;{T1)E73uQN-kJ zdX|$+$zYH^Y&3US$&tIS(_H!b{TZ{{&LGCTDD0cc6#A4&h1P|Rw~P^J*cjNBYI=`CTYgNsR@f}q*X0!}i8SlxOIyX|SCB~5u_{`r_UT7dAGoUcp!_tUijmy#IroSEeWonq z`3b(ml?wj*UF`PQZqEL3(meykYk384hEoQc3Tmj%?hJc?c7KhW^YI`lK@L*Pq((W74lSb*&nD9zLFZ4kfn+6YLFop$aY7(hb8 z3YtqVEXw5+VbVH)k<9`Nu-nZ*hKxrwx3GoQoL}O5W!Ky0L}^F5a*O!3?&W;GQIEF( zVLeM1QP(#F;^$3%heiS4=3034fC5r%r09mcF26d-9mDYFCwBZeQ?`Cl@~PpOQr0 z^pSlQ7dpeZ#*y)Tc*jeFm{O?Drh7Q$K6)V@0F1hTvkiUNECzR7*DBJ+bKkr}uJ8vy zvO+K;zu;h^GNP)aGFky&f0sOY6>0KOK;5KJgD;Ud$@C+a_$V4qt78C zQ{4dUUfi${p#6qR;(`{5gOnkkv&;XsKF%ZKX?GZZW8lpp^x6rgy23QE=3*l$*ERC3 z$o24J$>uu%p?eGs@WBmFTzKKABjI;*RPQLFHs)nR#OP}ujFA-<`H?)Vs&)p^hZ>iM zZ^%gNO;58g6MR4;*W?C6Z@g?N387Mtry#EO(vn|T60pkXo=+n8$WhGkDJ+674PXijD$Sb0$M2vBqpsqC zYt>0x2HQ`j;{rL+MIcEhG}6TwSt0bVX7XW8XaEaPx(CL( zpr4>nVmQk3CK7dVvrqdr46tG+NM5BwHO+`qR(s41U7`G4K+A6}h;~mp-k2qR73>XA z+xitji@l%215e&BPmcaZSx&IV){0YNPv$bczj0~Zk#N9lua`eM{%z>k5nQw>u7~+#gfH zIT!9w4C4=@Jz8A%R;q(;{~h)ik6z$)x-R>YR>IMc%Rzmp0JG3FW|@@w#yPfz5#F4u zl%VqVP|iPerS=f1D$qDVNlezl&ulXBp^R2HRY(n!#!*0z7hP6zUQSUr4XvwfMN!X- zvFGc+{`*^@bX+;(43&55hNx}VxbSXfYV@Hg- zqRgVA*=L>>D{s8N+?qW7r4d9J-rB=@m3p<)Zm*!@ALJDy&bqZ8a-w?%JwN)r z6M3Om-xuix!T+x7yY{})l@%@*ZIT2uf?E0Y2r*px$3OxDC6kg@)XYtA69RPii2{zG z08PVimVa~al^n=O`fm7UZwkDyyn)l-Z{J>njA+cr}d{D8DDxgq6Q;U&r}na_kWR9_$N=whbn zvScMY@X1o?7EYFCDzFiM_!opNb>T%U&yARTr=fWH`o+_0eQ^$h%CCm~O?}kj$papY z#-Z(RD@S5)i#0_TPx&8@ELQ&F?I1>Ey#3FpaW=m6lNS^Uz10rc;tbV6vIJ~W7oU!) z1d!+0&_J!8GRp_;k@5L;VYh1*;(AB-_`I?>Yty3lzTFK0Ik!Z^{w4`416*`pPy~-d z#U}(v_ho0GW9C@Mc20xn2Ota4!F7EkPbj4( zulSb=+R6`t6@t_nE$xWBiN*`=U=?p_57uzSeDd(Y+iQNTVg4aC#o6$kK~b3L)#~

EY>Uo!vPXAC3RiO~!%(Kcv79gB%f<$dS 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� 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

*93tLY^nvOn{;4fv(>kiKKMb(Ip^dy_kh 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 JO7~&p{{itzxf%cf literal 0 HcmV?d00001 diff --git a/app/screens/sign-in-screen/slogan-zh.svg b/app/screens/sign-in-screen/slogan-zh.svg deleted file mode 100644 index 9b5da993..00000000 --- a/app/screens/sign-in-screen/slogan-zh.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - From afa079f6df2a5db2afca81b5e51e0444d880bc45 Mon Sep 17 00:00:00 2001 From: "Ng Wing Tat, David" Date: Fri, 13 Oct 2023 18:20:30 +0800 Subject: [PATCH 20/29] =?UTF-8?q?=F0=9F=94=96=20Bump=20version=20to=200.35?= =?UTF-8?q?.0(343)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 4 ++-- android/app/build.gradle | 4 ++-- ios/LikeCoinApp.xcodeproj/project.pbxproj | 8 ++++---- ios/LikerLandShare/Info.plist | 4 ++-- package.json | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 4ae47e50..474074cd 100644 --- a/.env +++ b/.env @@ -12,10 +12,10 @@ INIT_APP_TIMEOUT=10000 ROOT_STATE_STORAGE_KEY=root # Same as MARKETING_VERSION in iOS / version in Android -APP_MARKETING_VERSION=0.34.0 +APP_MARKETING_VERSION=0.35.0 # Same as CURRENT_PROJECT_VERSION in iOS / version code in Android -APP_VERSION=342 +APP_VERSION=343 # APP_VERSION must be greater or equal to the this value # without forcing user to update the app diff --git a/android/app/build.gradle b/android/app/build.gradle index 891ea1a8..0a58dfcc 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -142,8 +142,8 @@ android { applicationId "com.oice" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 342 - versionName "0.34.0" + versionCode 343 + versionName "0.35.0" missingDimensionStrategy 'react-native-camera', 'general' missingDimensionStrategy 'store', 'play' buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index 639d3751..836d0faa 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -586,7 +586,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; - CURRENT_PROJECT_VERSION = 342; + CURRENT_PROJECT_VERSION = 343; DEVELOPMENT_TEAM = 6VG4638588; ENABLE_BITCODE = NO; HEADER_SEARCH_PATHS = ( @@ -655,7 +655,7 @@ INFOPLIST_FILE = LikeCoinApp/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 0.34.0; + MARKETING_VERSION = 0.35.0; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -678,7 +678,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; - CURRENT_PROJECT_VERSION = 342; + CURRENT_PROJECT_VERSION = 343; DEVELOPMENT_TEAM = 6VG4638588; HEADER_SEARCH_PATHS = ( "$(inherited)", @@ -746,7 +746,7 @@ INFOPLIST_FILE = LikeCoinApp/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 0.34.0; + MARKETING_VERSION = 0.35.0; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", diff --git a/ios/LikerLandShare/Info.plist b/ios/LikerLandShare/Info.plist index 66fbbc42..534aa07b 100644 --- a/ios/LikerLandShare/Info.plist +++ b/ios/LikerLandShare/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 0.34.0 + 0.35.0 CFBundleVersion - 342 + 343 NSAppTransportSecurity NSAllowsArbitraryLoads diff --git a/package.json b/package.json index 342417dd..21f6ab43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "likecoin-app", - "version": "0.34.0", + "version": "0.35.0", "private": true, "engine": { "node": ">=16" From a026e02bc93e7420ae7679146c01c1723041ddac Mon Sep 17 00:00:00 2001 From: "Ng Wing Tat, David" Date: Fri, 13 Oct 2023 19:49:02 +0800 Subject: [PATCH 21/29] =?UTF-8?q?=F0=9F=94=A7=20Update=20`targetSdkVersion?= =?UTF-8?q?`=20to=2033?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/build.gradle | 4 ++-- ios/Podfile.lock | 4 ++-- package.json | 2 +- yarn.lock | 7 ++++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index a54c843a..8a4b901f 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,8 +6,8 @@ buildscript { kotlinVersion = "1.6.0" buildToolsVersion = "31.0.0" minSdkVersion = 21 - compileSdkVersion = 31 - targetSdkVersion = 31 + compileSdkVersion = 33 + targetSdkVersion = 33 if (System.properties['os.arch'] == "aarch64") { // For M1 Users we need to use the NDK 24 which added support for aarch64 diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 9f160561..0f21a909 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -453,7 +453,7 @@ PODS: - React-Core - react-native-encrypted-storage (4.0.3): - React-Core - - react-native-image-picker (4.8.1): + - react-native-image-picker (7.0.1): - React-Core - react-native-image-sequence (0.7.0): - React @@ -966,7 +966,7 @@ SPEC CHECKSUMS: react-native-camera: 21cf4ed26cf432ceb1fae959aa6924943fd6f714 react-native-cookies: f54fcded06bb0cda05c11d86788020b43528a26c react-native-encrypted-storage: db300a3f2f0aba1e818417c1c0a6be549038deb7 - react-native-image-picker: 5640333245b448b0e64172576ea27760f4134099 + react-native-image-picker: 1569cfade34b3a011191ce262423e6ce2f8db5a1 react-native-image-sequence: b4cc7ce0ee9eeec7574b005e06059b3f7f818d96 react-native-randombytes: 3638d24759d67c68f6ccba60c52a7a8a8faa6a23 react-native-safe-area-context: 68b07eabfb0d14547d36f6929c0e98d818064f02 diff --git a/package.json b/package.json index 21f6ab43..4588e22e 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "react-native-fast-image": "^8.3.2", "react-native-gesture-handler": "^2.6.0", "react-native-iap": "^7.5.6", - "react-native-image-picker": "https://github.com/likecoin/react-native-image-picker#5e2f78f5e3f893b13a67482471655e1ebb75ad3b", + "react-native-image-picker": "^7.0.1", "react-native-image-sequence": "^0.7.0", "react-native-keychain": "3.1.3", "react-native-linear-gradient": "^2.5.6", diff --git a/yarn.lock b/yarn.lock index 9f996374..29361cbb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15134,9 +15134,10 @@ react-native-iap@^7.5.6: dependencies: dooboolab-welcome "1.3.2" -"react-native-image-picker@https://github.com/likecoin/react-native-image-picker#5e2f78f5e3f893b13a67482471655e1ebb75ad3b": - version "4.8.1" - resolved "https://github.com/likecoin/react-native-image-picker#5e2f78f5e3f893b13a67482471655e1ebb75ad3b" +react-native-image-picker@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/react-native-image-picker/-/react-native-image-picker-7.0.1.tgz#8e7c778fe31867f2facb9e3a8fb21a5d020c5df1" + integrity sha512-WACwhGCGlHvRzwFS4OjVKbkVMLx95f6g3ouaZ1IQM1LO7zq4Ytn1iBkOja8KkutV10E9B+IitgoWL3VUpuRl7Q== react-native-image-sequence@^0.7.0: version "0.7.0" From 6104692fd468734d3cde0081cb986c89803c73e4 Mon Sep 17 00:00:00 2001 From: "Ng Wing Tat, David" Date: Sat, 14 Oct 2023 01:23:57 +0800 Subject: [PATCH 22/29] =?UTF-8?q?=F0=9F=92=A9=20Fix=20logout=20crash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/root-store/root-store.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/root-store/root-store.ts b/app/models/root-store/root-store.ts index 5f9e58f8..ec9954e1 100644 --- a/app/models/root-store/root-store.ts +++ b/app/models/root-store/root-store.ts @@ -1,4 +1,4 @@ -import { Alert } from "react-native" +import { Alert, NativeModules } from "react-native" import { flow, Instance, SnapshotOut, types } from "mobx-state-tree" import { withEnvironment } from "../extensions" @@ -86,7 +86,7 @@ export const RootStoreModel = types */ reset: flow(function*() { self.isShowUnauthenticatedAlert = false - self.navigationStore.navigateTo({ routeName: "Auth" }) + // self.navigationStore.navigateTo({ routeName: "Auth" }) self.creatorsFollowStore.reset() self.civicLikerStakingStore.reset() self.contentBookmarksStore.reset() @@ -99,6 +99,8 @@ export const RootStoreModel = types self.mySuperLikeFeedStore.reset() self.transferStore.reset() self.walletConnectStore.reset() + // HACK: reload app to logout due react-navigation issue + NativeModules.DevSettings.reload() }), })) .actions(self => ({ From 297c71143ca02299f7ceeb17f73fef1185b1e061 Mon Sep 17 00:00:00 2001 From: "Ng Wing Tat, David" Date: Sat, 14 Oct 2023 01:24:47 +0800 Subject: [PATCH 23/29] =?UTF-8?q?=F0=9F=94=96=20Bump=20build=20number=20to?= =?UTF-8?q?=20344?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- android/app/build.gradle | 2 +- ios/LikeCoinApp.xcodeproj/project.pbxproj | 4 ++-- ios/LikerLandShare/Info.plist | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.env b/.env index 474074cd..aa346714 100644 --- a/.env +++ b/.env @@ -15,7 +15,7 @@ ROOT_STATE_STORAGE_KEY=root APP_MARKETING_VERSION=0.35.0 # Same as CURRENT_PROJECT_VERSION in iOS / version code in Android -APP_VERSION=343 +APP_VERSION=344 # APP_VERSION must be greater or equal to the this value # without forcing user to update the app diff --git a/android/app/build.gradle b/android/app/build.gradle index 0a58dfcc..4bdd850b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -142,7 +142,7 @@ android { applicationId "com.oice" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 343 + versionCode 344 versionName "0.35.0" missingDimensionStrategy 'react-native-camera', 'general' missingDimensionStrategy 'store', 'play' diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index 836d0faa..80237c7a 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -586,7 +586,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; - CURRENT_PROJECT_VERSION = 343; + CURRENT_PROJECT_VERSION = 344; DEVELOPMENT_TEAM = 6VG4638588; ENABLE_BITCODE = NO; HEADER_SEARCH_PATHS = ( @@ -678,7 +678,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; - CURRENT_PROJECT_VERSION = 343; + CURRENT_PROJECT_VERSION = 344; DEVELOPMENT_TEAM = 6VG4638588; HEADER_SEARCH_PATHS = ( "$(inherited)", diff --git a/ios/LikerLandShare/Info.plist b/ios/LikerLandShare/Info.plist index 534aa07b..1a2df42f 100644 --- a/ios/LikerLandShare/Info.plist +++ b/ios/LikerLandShare/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 0.35.0 CFBundleVersion - 343 + 344 NSAppTransportSecurity NSAllowsArbitraryLoads From 7ed299b138db40085406f0007d698f34b1272772 Mon Sep 17 00:00:00 2001 From: "Ng Wing Tat, David" Date: Sun, 15 Oct 2023 17:41:10 +0800 Subject: [PATCH 24/29] =?UTF-8?q?=E2=8F=AA=20Revert=20"=F0=9F=92=A9=20Fix?= =?UTF-8?q?=20logout=20crash"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/root-store/root-store.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/models/root-store/root-store.ts b/app/models/root-store/root-store.ts index ec9954e1..5f9e58f8 100644 --- a/app/models/root-store/root-store.ts +++ b/app/models/root-store/root-store.ts @@ -1,4 +1,4 @@ -import { Alert, NativeModules } from "react-native" +import { Alert } from "react-native" import { flow, Instance, SnapshotOut, types } from "mobx-state-tree" import { withEnvironment } from "../extensions" @@ -86,7 +86,7 @@ export const RootStoreModel = types */ reset: flow(function*() { self.isShowUnauthenticatedAlert = false - // self.navigationStore.navigateTo({ routeName: "Auth" }) + self.navigationStore.navigateTo({ routeName: "Auth" }) self.creatorsFollowStore.reset() self.civicLikerStakingStore.reset() self.contentBookmarksStore.reset() @@ -99,8 +99,6 @@ export const RootStoreModel = types self.mySuperLikeFeedStore.reset() self.transferStore.reset() self.walletConnectStore.reset() - // HACK: reload app to logout due react-navigation issue - NativeModules.DevSettings.reload() }), })) .actions(self => ({ From 16e2dffa90b8d6de5c04d7025537906ce3bde423 Mon Sep 17 00:00:00 2001 From: "Ng Wing Tat, David" Date: Sun, 15 Oct 2023 20:59:44 +0800 Subject: [PATCH 25/29] =?UTF-8?q?=E2=8F=AA=20Revert=20RN=200.70=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 2 +- android/app/build.gradle | 39 +- android/app/src/main/jni/Android.mk | 48 ++ android/app/src/main/jni/CMakeLists.txt | 7 - .../jni/MainApplicationModuleProvider.cpp | 10 +- .../main/jni/MainApplicationModuleProvider.h | 2 +- ...nApplicationTurboModuleManagerDelegate.cpp | 8 +- ...ainApplicationTurboModuleManagerDelegate.h | 8 +- .../src/main/jni/MainComponentsRegistry.cpp | 4 - android/build.gradle | 1 + android/gradle/wrapper/gradle-wrapper.jar | Bin 59821 -> 59536 bytes app/app.tsx | 10 +- app/screens/reader-screen/reader-screen.tsx | 10 +- ios/LikeCoinApp.xcodeproj/project.pbxproj | 8 +- ios/Podfile | 20 +- ios/Podfile.lock | 539 ++++++++-------- package.json | 22 +- test/__snapshots__/storyshots.test.ts.snap | 33 + yarn.lock | 608 +++++++++--------- 19 files changed, 714 insertions(+), 665 deletions(-) create mode 100644 android/app/src/main/jni/Android.mk delete mode 100644 android/app/src/main/jni/CMakeLists.txt diff --git a/Gemfile b/Gemfile index 1142b1b2..7922c9a5 100644 --- a/Gemfile +++ b/Gemfile @@ -3,4 +3,4 @@ source 'https://rubygems.org' # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version ruby '>= 2.6.10' -gem 'cocoapods', '>= 1.11.3' +gem 'cocoapods', '>= 1.11.2' diff --git a/android/app/build.gradle b/android/app/build.gradle index 4bdd850b..3f1d312f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -4,7 +4,6 @@ apply plugin: "com.google.firebase.firebase-perf" apply plugin: "io.sentry.android.gradle" import com.android.build.OutputFile -import org.apache.tools.ant.taskdefs.condition.Os /** * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets @@ -82,7 +81,7 @@ import org.apache.tools.ant.taskdefs.condition.Os */ project.ext.react = [ - enableHermes: true, // clean and rebuild if changing + enableHermes: false, // clean and rebuild if changing ] apply from: "../../node_modules/react-native/react.gradle" @@ -149,14 +148,22 @@ android { buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() if (isNewArchitectureEnabled()) { - // We configure the CMake build only if you decide to opt-in for the New Architecture. + // We configure the NDK build only if you decide to opt-in for the New Architecture. externalNativeBuild { - cmake { - arguments "-DPROJECT_BUILD_DIR=$buildDir", - "-DREACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", - "-DREACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", - "-DNODE_MODULES_DIR=$rootDir/../node_modules", - "-DANDROID_STL=c++_shared" + ndkBuild { + arguments "APP_PLATFORM=android-21", + "APP_STL=c++_shared", + "NDK_TOOLCHAIN_VERSION=clang", + "GENERATED_SRC_DIR=$buildDir/generated/source", + "PROJECT_BUILD_DIR=$buildDir", + "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", + "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", + "NODE_MODULES_DIR=$rootDir/../node_modules" + cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" + cppFlags "-std=c++17" + // Make sure this target name is the same you specify inside the + // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. + targets "oice_appmodules" } } if (!enableSeparateBuildPerCPUArchitecture) { @@ -170,8 +177,8 @@ android { if (isNewArchitectureEnabled()) { // We configure the NDK build only if you decide to opt-in for the New Architecture. externalNativeBuild { - cmake { - path "$projectDir/src/main/jni/CMakeLists.txt" + ndkBuild { + path "$projectDir/src/main/jni/Android.mk" } } def reactAndroidProjectDir = project(':ReactAndroid').projectDir @@ -193,15 +200,15 @@ android { preReleaseBuild.dependsOn(packageReactNdkReleaseLibs) // Due to a bug inside AGP, we have to explicitly set a dependency - // between configureCMakeDebug* tasks and the preBuild tasks. + // between configureNdkBuild* tasks and the preBuild tasks. // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732 - configureCMakeRelWithDebInfo.dependsOn(preReleaseBuild) - configureCMakeDebug.dependsOn(preDebugBuild) + configureNdkBuildRelease.dependsOn(preReleaseBuild) + configureNdkBuildDebug.dependsOn(preDebugBuild) reactNativeArchitectures().each { architecture -> - tasks.findByName("configureCMakeDebug[${architecture}]")?.configure { + tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure { dependsOn("preDebugBuild") } - tasks.findByName("configureCMakeRelWithDebInfo[${architecture}]")?.configure { + tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure { dependsOn("preReleaseBuild") } } diff --git a/android/app/src/main/jni/Android.mk b/android/app/src/main/jni/Android.mk new file mode 100644 index 00000000..86dbb9f8 --- /dev/null +++ b/android/app/src/main/jni/Android.mk @@ -0,0 +1,48 @@ +THIS_DIR := $(call my-dir) + +include $(REACT_ANDROID_DIR)/Android-prebuilt.mk + +# If you wish to add a custom TurboModule or Fabric component in your app you +# will have to include the following autogenerated makefile. +# include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk +include $(CLEAR_VARS) + +LOCAL_PATH := $(THIS_DIR) + +# You can customize the name of your application .so file here. +LOCAL_MODULE := oice_appmodules + +LOCAL_C_INCLUDES := $(LOCAL_PATH) +LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) + +# If you wish to add a custom TurboModule or Fabric component in your app you +# will have to uncomment those lines to include the generated source +# files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni) +# +# LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni +# LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp) +# LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni + +# Here you should add any native library you wish to depend on. +LOCAL_SHARED_LIBRARIES := \ + libfabricjni \ + libfbjni \ + libfolly_runtime \ + libglog \ + libjsi \ + libreact_codegen_rncore \ + libreact_debug \ + libreact_nativemodule_core \ + libreact_render_componentregistry \ + libreact_render_core \ + libreact_render_debug \ + libreact_render_graphics \ + librrc_view \ + libruntimeexecutor \ + libturbomodulejsijni \ + libyoga + +LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall + +include $(BUILD_SHARED_LIBRARY) diff --git a/android/app/src/main/jni/CMakeLists.txt b/android/app/src/main/jni/CMakeLists.txt deleted file mode 100644 index 9f7cab4a..00000000 --- a/android/app/src/main/jni/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.13) - -# Define the library name here. -project(oice_appmodules) - -# This file includes all the necessary to let you build your application with the New Architecture. -include(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake) diff --git a/android/app/src/main/jni/MainApplicationModuleProvider.cpp b/android/app/src/main/jni/MainApplicationModuleProvider.cpp index 26162dd8..0ac23cc6 100644 --- a/android/app/src/main/jni/MainApplicationModuleProvider.cpp +++ b/android/app/src/main/jni/MainApplicationModuleProvider.cpp @@ -1,13 +1,12 @@ #include "MainApplicationModuleProvider.h" -#include #include namespace facebook { namespace react { std::shared_ptr MainApplicationModuleProvider( - const std::string &moduleName, + const std::string moduleName, const JavaTurboModule::InitParams ¶ms) { // Here you can provide your own module provider for TurboModules coming from // either your application or from external libraries. The approach to follow @@ -18,13 +17,6 @@ std::shared_ptr MainApplicationModuleProvider( // return module; // } // return rncore_ModuleProvider(moduleName, params); - - // Module providers autolinked by RN CLI - auto rncli_module = rncli_ModuleProvider(moduleName, params); - if (rncli_module != nullptr) { - return rncli_module; - } - return rncore_ModuleProvider(moduleName, params); } diff --git a/android/app/src/main/jni/MainApplicationModuleProvider.h b/android/app/src/main/jni/MainApplicationModuleProvider.h index b38ccf53..0fa43fa6 100644 --- a/android/app/src/main/jni/MainApplicationModuleProvider.h +++ b/android/app/src/main/jni/MainApplicationModuleProvider.h @@ -9,7 +9,7 @@ namespace facebook { namespace react { std::shared_ptr MainApplicationModuleProvider( - const std::string &moduleName, + const std::string moduleName, const JavaTurboModule::InitParams ¶ms); } // namespace react diff --git a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp index 5fd688c5..dbbdc3d1 100644 --- a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +++ b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp @@ -22,21 +22,21 @@ void MainApplicationTurboModuleManagerDelegate::registerNatives() { std::shared_ptr MainApplicationTurboModuleManagerDelegate::getTurboModule( - const std::string &name, - const std::shared_ptr &jsInvoker) { + const std::string name, + const std::shared_ptr jsInvoker) { // Not implemented yet: provide pure-C++ NativeModules here. return nullptr; } std::shared_ptr MainApplicationTurboModuleManagerDelegate::getTurboModule( - const std::string &name, + const std::string name, const JavaTurboModule::InitParams ¶ms) { return MainApplicationModuleProvider(name, params); } bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule( - const std::string &name) { + std::string name) { return getTurboModule(name, nullptr) != nullptr || getTurboModule(name, {.moduleName = name}) != nullptr; } diff --git a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h index 85fe8168..1392d325 100644 --- a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +++ b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h @@ -21,17 +21,17 @@ class MainApplicationTurboModuleManagerDelegate static void registerNatives(); std::shared_ptr getTurboModule( - const std::string &name, - const std::shared_ptr &jsInvoker) override; + const std::string name, + const std::shared_ptr jsInvoker) override; std::shared_ptr getTurboModule( - const std::string &name, + const std::string name, const JavaTurboModule::InitParams ¶ms) override; /** * Test-only method. Allows user to verify whether a TurboModule can be * created by instances of this class. */ - bool canCreateTurboModule(const std::string &name); + bool canCreateTurboModule(std::string name); }; } // namespace react diff --git a/android/app/src/main/jni/MainComponentsRegistry.cpp b/android/app/src/main/jni/MainComponentsRegistry.cpp index 54f598a4..8f7edffd 100644 --- a/android/app/src/main/jni/MainComponentsRegistry.cpp +++ b/android/app/src/main/jni/MainComponentsRegistry.cpp @@ -4,7 +4,6 @@ #include #include #include -#include namespace facebook { namespace react { @@ -15,9 +14,6 @@ std::shared_ptr MainComponentsRegistry::sharedProviderRegistry() { auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); - // Autolinked providers registered by RN CLI - rncli_registerProviders(providerRegistry); - // Custom Fabric Components go here. You can register custom // components coming from your App or from 3rd party libraries here. // diff --git a/android/build.gradle b/android/build.gradle index 8a4b901f..183d2545 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,3 +1,4 @@ +import org.apache.tools.ant.taskdefs.condition.Os // Top-level build file where you can add configuration options common to all sub-projects/modules. diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index 41d9927a4d4fb3f96a785543079b8df6723c946b..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch delta 8722 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 delta 8958 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 { initTimer?: number - openUrlHandler?: EmitterSubscription - /** * When the component is mounted. This happens asynchronously and simply * re-renders when we're good to go. @@ -78,7 +75,7 @@ export class App extends React.Component<{}, AppState> { this.state.rootStore?.userStore.checkTrackingStatus() - this.openUrlHandler = Linking.addEventListener('url', this._onOpenURL) + Linking.addEventListener('url', this._onOpenURL) try { const url = await Linking.getInitialURL() if (!url) return @@ -89,10 +86,7 @@ export class App extends React.Component<{}, AppState> { } componentWillUnmount() { - if (this.openUrlHandler) { - this.openUrlHandler.remove() - this.openUrlHandler = null - } + Linking.removeEventListener('url', this._onOpenURL) } startInitTimer = () => { diff --git a/app/screens/reader-screen/reader-screen.tsx b/app/screens/reader-screen/reader-screen.tsx index 8e616877..9db6a0b7 100644 --- a/app/screens/reader-screen/reader-screen.tsx +++ b/app/screens/reader-screen/reader-screen.tsx @@ -2,7 +2,6 @@ import * as React from "react" import { AppState, AppStateStatus, - NativeEventSubscription, } from "react-native" import { inject } from "mobx-react" import styled from "styled-components/native" @@ -30,8 +29,6 @@ const Screen = styled(ScreenBase)` export class ReaderScreen extends React.Component { appState = AppState.currentState - appStateChangeHandler?: NativeEventSubscription - superLikeScreen = React.createRef() state = { @@ -40,14 +37,11 @@ export class ReaderScreen extends React.Component { componentDidMount() { this.props.contentBookmarksListStore.fetch() - this.appStateChangeHandler = AppState.addEventListener("change", this.handleAppStateChange) + AppState.addEventListener("change", this.handleAppStateChange) } componentWillUnmount() { - if (this.appStateChangeHandler) { - this.appStateChangeHandler.remove() - this.appStateChangeHandler = null - } + AppState.removeEventListener("change", this.handleAppStateChange) } private handleAppStateChange = (nextAppState: AppStateStatus) => { diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index 80237c7a..1f008925 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -327,14 +327,12 @@ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -794,7 +792,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -863,7 +861,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -898,6 +896,7 @@ buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; @@ -926,6 +925,7 @@ buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; diff --git a/ios/Podfile b/ios/Podfile index 7290d897..02ea062a 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -4,6 +4,8 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ platform :ios, '12.4' install! 'cocoapods', :deterministic_uuids => false +production = ENV["PRODUCTION"] == "1" + target 'LikeCoinApp' do config = use_native_modules! @@ -12,15 +14,10 @@ target 'LikeCoinApp' do use_react_native!( :path => config[:reactNativePath], - # Hermes is now enabled by default. Disable by setting this flag to false. - # Upcoming versions of React Native may rely on get_default_flags(), but - # we make it explicit here to aid in the React Native upgrade process. - :hermes_enabled => true, + # to enable hermes on iOS, change `false` to `true` and then install pods + :production => production, + :hermes_enabled => flags[:hermes_enabled], :fabric_enabled => flags[:fabric_enabled], - # Enables Flipper. - # - # Note that if you have use_frameworks! enabled, Flipper will not work and - # you should disable the next line. :flipper_configuration => FlipperConfiguration.enabled, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." @@ -32,12 +29,7 @@ target 'LikeCoinApp' do end post_install do |installer| - react_native_post_install( - installer, - # Set `mac_catalyst_enabled` to `true` in order to apply patches - # necessary for Mac Catalyst builds - :mac_catalyst_enabled => false - ) + react_native_post_install(installer) __apply_Xcode_12_5_M1_post_install_workaround(installer) installer.pods_project.targets.each do |target| target.build_configurations.each do |config| diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 0f21a909..b801366c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -5,14 +5,14 @@ PODS: - React - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.70.12) - - FBReactNativeSpec (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 0.70.12) - - RCTTypeSafety (= 0.70.12) - - React-Core (= 0.70.12) - - React-jsi (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) + - FBLazyVector (0.69.12) + - FBReactNativeSpec (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.12) + - RCTTypeSafety (= 0.69.12) + - React-Core (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) - Firebase/Analytics (7.11.0): - Firebase/Core - Firebase/Core (7.11.0): @@ -191,7 +191,6 @@ PODS: - GoogleUtilities/Logger - GoogleUtilities/UserDefaults (7.3.1): - GoogleUtilities/Logger - - hermes-engine (0.70.12) - libevent (2.1.12) - libwebp (1.2.0): - libwebp/demux (= 1.2.0) @@ -210,231 +209,214 @@ PODS: - OpenSSL-Universal (1.1.1100) - PromisesObjC (1.2.12) - Protobuf (3.14.0) - - RCT-Folly (2021.07.22.00): + - RCT-Folly (2021.06.28.00-v2): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Default (= 2021.07.22.00) - - RCT-Folly/Default (2021.07.22.00): + - RCT-Folly/Default (= 2021.06.28.00-v2) + - RCT-Folly/Default (2021.06.28.00-v2): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Futures (2021.07.22.00): - - boost - - DoubleConversion - - fmt (~> 6.2.1) + - RCTRequired (0.69.12) + - RCTTypeSafety (0.69.12): + - FBLazyVector (= 0.69.12) + - RCTRequired (= 0.69.12) + - React-Core (= 0.69.12) + - React (0.69.12): + - React-Core (= 0.69.12) + - React-Core/DevSupport (= 0.69.12) + - React-Core/RCTWebSocket (= 0.69.12) + - React-RCTActionSheet (= 0.69.12) + - React-RCTAnimation (= 0.69.12) + - React-RCTBlob (= 0.69.12) + - React-RCTImage (= 0.69.12) + - React-RCTLinking (= 0.69.12) + - React-RCTNetwork (= 0.69.12) + - React-RCTSettings (= 0.69.12) + - React-RCTText (= 0.69.12) + - React-RCTVibration (= 0.69.12) + - React-bridging (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsi (= 0.69.12) + - React-callinvoker (0.69.12) + - React-Codegen (0.69.12): + - FBReactNativeSpec (= 0.69.12) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.12) + - RCTTypeSafety (= 0.69.12) + - React-Core (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-Core (0.69.12): - glog - - libevent - - RCTRequired (0.70.12) - - RCTTypeSafety (0.70.12): - - FBLazyVector (= 0.70.12) - - RCTRequired (= 0.70.12) - - React-Core (= 0.70.12) - - React (0.70.12): - - React-Core (= 0.70.12) - - React-Core/DevSupport (= 0.70.12) - - React-Core/RCTWebSocket (= 0.70.12) - - React-RCTActionSheet (= 0.70.12) - - React-RCTAnimation (= 0.70.12) - - React-RCTBlob (= 0.70.12) - - React-RCTImage (= 0.70.12) - - React-RCTLinking (= 0.70.12) - - React-RCTNetwork (= 0.70.12) - - React-RCTSettings (= 0.70.12) - - React-RCTText (= 0.70.12) - - React-RCTVibration (= 0.70.12) - - React-bridging (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - React-jsi (= 0.70.12) - - React-callinvoker (0.70.12) - - React-Codegen (0.70.12): - - FBReactNativeSpec (= 0.70.12) - - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 0.70.12) - - RCTTypeSafety (= 0.70.12) - - React-Core (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-Core (0.70.12): - - glog - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.70.12) - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.69.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/CoreModulesHeaders (0.70.12): + - React-Core/CoreModulesHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/Default (0.70.12): + - React-Core/Default (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - RCT-Folly (= 2021.06.28.00-v2) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/DevSupport (0.70.12): + - React-Core/DevSupport (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.70.12) - - React-Core/RCTWebSocket (= 0.70.12) - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-jsinspector (= 0.70.12) - - React-perflogger (= 0.70.12) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.69.12) + - React-Core/RCTWebSocket (= 0.69.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-jsinspector (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTActionSheetHeaders (0.70.12): + - React-Core/RCTActionSheetHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTAnimationHeaders (0.70.12): + - React-Core/RCTAnimationHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTBlobHeaders (0.70.12): + - React-Core/RCTBlobHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTImageHeaders (0.70.12): + - React-Core/RCTImageHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTLinkingHeaders (0.70.12): + - React-Core/RCTLinkingHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTNetworkHeaders (0.70.12): + - React-Core/RCTNetworkHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTSettingsHeaders (0.70.12): + - React-Core/RCTSettingsHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTTextHeaders (0.70.12): + - React-Core/RCTTextHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTVibrationHeaders (0.70.12): + - React-Core/RCTVibrationHeaders (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-Core/RCTWebSocket (0.70.12): + - React-Core/RCTWebSocket (0.69.12): - glog - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.70.12) - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-perflogger (= 0.70.12) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.69.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsiexecutor (= 0.69.12) + - React-perflogger (= 0.69.12) - Yoga - - React-CoreModules (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.70.12) - - React-Codegen (= 0.70.12) - - React-Core/CoreModulesHeaders (= 0.70.12) - - React-jsi (= 0.70.12) - - React-RCTImage (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-cxxreact (0.70.12): + - React-CoreModules (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/CoreModulesHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - React-RCTImage (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-cxxreact (0.69.12): - boost (= 1.76.0) - DoubleConversion - glog - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsinspector (= 0.70.12) - - React-logger (= 0.70.12) - - React-perflogger (= 0.70.12) - - React-runtimeexecutor (= 0.70.12) - - React-hermes (0.70.12): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - RCT-Folly/Futures (= 2021.07.22.00) - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-jsiexecutor (= 0.70.12) - - React-jsinspector (= 0.70.12) - - React-perflogger (= 0.70.12) - - React-jsi (0.70.12): + - RCT-Folly (= 2021.06.28.00-v2) + - React-callinvoker (= 0.69.12) + - React-jsi (= 0.69.12) + - React-jsinspector (= 0.69.12) + - React-logger (= 0.69.12) + - React-perflogger (= 0.69.12) + - React-runtimeexecutor (= 0.69.12) + - React-jsi (0.69.12): - boost (= 1.76.0) - DoubleConversion - glog - - RCT-Folly (= 2021.07.22.00) - - React-jsi/Default (= 0.70.12) - - React-jsi/Default (0.70.12): + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsi/Default (= 0.69.12) + - React-jsi/Default (0.69.12): - boost (= 1.76.0) - DoubleConversion - glog - - RCT-Folly (= 2021.07.22.00) - - React-jsiexecutor (0.70.12): + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsiexecutor (0.69.12): - DoubleConversion - glog - - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-perflogger (= 0.70.12) - - React-jsinspector (0.70.12) - - React-logger (0.70.12): + - RCT-Folly (= 2021.06.28.00-v2) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-perflogger (= 0.69.12) + - React-jsinspector (0.69.12) + - React-logger (0.69.12): - glog - react-native-authcore (1.0.0): - React @@ -471,72 +453,72 @@ PODS: - React - react-native-webview (11.26.1): - React-Core - - React-perflogger (0.70.12) - - React-RCTActionSheet (0.70.12): - - React-Core/RCTActionSheetHeaders (= 0.70.12) - - React-RCTAnimation (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.70.12) - - React-Codegen (= 0.70.12) - - React-Core/RCTAnimationHeaders (= 0.70.12) - - React-jsi (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-RCTBlob (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.70.12) - - React-Core/RCTBlobHeaders (= 0.70.12) - - React-Core/RCTWebSocket (= 0.70.12) - - React-jsi (= 0.70.12) - - React-RCTNetwork (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-RCTImage (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.70.12) - - React-Codegen (= 0.70.12) - - React-Core/RCTImageHeaders (= 0.70.12) - - React-jsi (= 0.70.12) - - React-RCTNetwork (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-RCTLinking (0.70.12): - - React-Codegen (= 0.70.12) - - React-Core/RCTLinkingHeaders (= 0.70.12) - - React-jsi (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-RCTNetwork (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.70.12) - - React-Codegen (= 0.70.12) - - React-Core/RCTNetworkHeaders (= 0.70.12) - - React-jsi (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-RCTSettings (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.70.12) - - React-Codegen (= 0.70.12) - - React-Core/RCTSettingsHeaders (= 0.70.12) - - React-jsi (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-RCTText (0.70.12): - - React-Core/RCTTextHeaders (= 0.70.12) - - React-RCTVibration (0.70.12): - - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.70.12) - - React-Core/RCTVibrationHeaders (= 0.70.12) - - React-jsi (= 0.70.12) - - ReactCommon/turbomodule/core (= 0.70.12) - - React-runtimeexecutor (0.70.12): - - React-jsi (= 0.70.12) - - ReactCommon/turbomodule/core (0.70.12): + - React-perflogger (0.69.12) + - React-RCTActionSheet (0.69.12): + - React-Core/RCTActionSheetHeaders (= 0.69.12) + - React-RCTAnimation (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/RCTAnimationHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTBlob (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - React-Codegen (= 0.69.12) + - React-Core/RCTBlobHeaders (= 0.69.12) + - React-Core/RCTWebSocket (= 0.69.12) + - React-jsi (= 0.69.12) + - React-RCTNetwork (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTImage (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/RCTImageHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - React-RCTNetwork (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTLinking (0.69.12): + - React-Codegen (= 0.69.12) + - React-Core/RCTLinkingHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTNetwork (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/RCTNetworkHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTSettings (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.69.12) + - React-Codegen (= 0.69.12) + - React-Core/RCTSettingsHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-RCTText (0.69.12): + - React-Core/RCTTextHeaders (= 0.69.12) + - React-RCTVibration (0.69.12): + - RCT-Folly (= 2021.06.28.00-v2) + - React-Codegen (= 0.69.12) + - React-Core/RCTVibrationHeaders (= 0.69.12) + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (= 0.69.12) + - React-runtimeexecutor (0.69.12): + - React-jsi (= 0.69.12) + - ReactCommon/turbomodule/core (0.69.12): - DoubleConversion - glog - - RCT-Folly (= 2021.07.22.00) - - React-bridging (= 0.70.12) - - React-callinvoker (= 0.70.12) - - React-Core (= 0.70.12) - - React-cxxreact (= 0.70.12) - - React-jsi (= 0.70.12) - - React-logger (= 0.70.12) - - React-perflogger (= 0.70.12) + - RCT-Folly (= 2021.06.28.00-v2) + - React-bridging (= 0.69.12) + - React-callinvoker (= 0.69.12) + - React-Core (= 0.69.12) + - React-cxxreact (= 0.69.12) + - React-jsi (= 0.69.12) + - React-logger (= 0.69.12) + - React-perflogger (= 0.69.12) - ReactNativeShareExtension (2.0.0): - React - RNCAsyncStorage (1.19.0): @@ -662,8 +644,6 @@ DEPENDENCIES: - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) - - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) @@ -677,7 +657,6 @@ DEPENDENCIES: - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) @@ -782,8 +761,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" - hermes-engine: - :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -804,8 +781,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../node_modules/react-native/ReactCommon/cxxreact" - React-hermes: - :path: "../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: @@ -912,9 +887,9 @@ SPEC CHECKSUMS: BranchSDK: ce28650272c658fcdb66675769e670ef83845d17 BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 - FBLazyVector: ad10768c7e516954e6f26b7e923eb27cda4f9895 - FBReactNativeSpec: e957ece605f33719f85d08ebb85bc862e968098b + DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 + FBLazyVector: 6fab494fa11340bd4206edaebed07279a6bafad4 + FBReactNativeSpec: 76d7b03876b0ad0b86bc5c84d23af8e64db8e096 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseABTesting: e66f1f80747792630d9b292966de206d5df9853b FirebaseAnalytics: cd3bd84d722a24a8923918af8af8e5236f615d77 @@ -935,32 +910,30 @@ SPEC CHECKSUMS: Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b + glog: 5337263514dd6f09803962437687240c5dc39aa4 GoogleAppMeasurement: fd19169c3034975cb934e865e5667bfdce59df7f GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: e1d9ed4e544fc32a93e00e721400cbc3f377200d - hermes-engine: 9ae9c0a1ad0ca69b7e3abc1533b6beb01a3ba4ef libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libwebp: e90b9c01d99205d03b6bb8f2c8c415e5a4ef66f0 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 Protobuf: 0cde852566359049847168e51bd1c690e0f70056 - RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda - RCTRequired: 1ec311d9574032834439a18d3bffcaa3b55109a7 - RCTTypeSafety: 711ee78f0aedbc3cd2870c4a838b1e332470d1fd - React: 04bbca489deec39a10ff9b671fdfc28f390b18d4 - React-bridging: 9873291a42e92403d6819498b9eda22ab8f1330d - React-callinvoker: a24dfff19ecf1c7afe283c21783f9266a05452a1 - React-Codegen: 9c8c438b22697f336d4b07018beda7b29fe20059 - React-Core: e6d02d5186afb4c53fe9a72f46b19bee06289007 - React-CoreModules: 9a183975c84272bde87e949a66192857efa82c68 - React-cxxreact: 6993f3ad248e69f03a0a4b55cf94d3e3d7457c29 - React-hermes: 077da24641ea4b63a137e0d2ba98e67f48f5eb7a - React-jsi: da00dbc79cbb1a9d45a7a0f957a89601b5c75e14 - React-jsiexecutor: 8ab6379cd3abec21019c9fed3c506750f905bb3c - React-jsinspector: ffb090a5d57aab834dee2791b1867a17bf37f26f - React-logger: 00be0dc9dacb7b23f3ab4d78aadccb4b72f24b31 + RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 + RCTRequired: b9e53f0512019150020156fa0dacd6583ab838be + RCTTypeSafety: 04b72202bef8302802610dee70bb9407a245b64c + React: 59288a7ca8104eb8002f01378606fe42eeabf4b5 + React-bridging: b042b8c217f04e568409786de5f221793be49c31 + React-callinvoker: c7b83d582112e2d5a049dc46abf4c64d871b5c45 + React-Codegen: 5747238d0446e3ab1deb967e749a2bfde6a5c866 + React-Core: d8e1250039d47112513757038d9d9f9b638565c6 + React-CoreModules: 63cceb0040ec2b43a258113193be91f934b37f1b + React-cxxreact: 429404aac55d8bffca77328002452fc7fa8b29e8 + React-jsi: a8f60feb519ac00085eb9a39d20eaa65c96b51ea + React-jsiexecutor: ce0b9aa647bdf94126eb2ee1f235d329eb8c0aec + React-jsinspector: f275698149311abc8c32ebb97797d6b97c44adde + React-logger: da69d7f1c9501c78cd60776d52a60d7fa5e4d9c2 react-native-authcore: cca08325158d4979caff295a8cd064733b78264f react-native-branch: f50f269fa6d2e1b8025c7fc8ebfe4872678abe53 react-native-camera: 21cf4ed26cf432ceb1fae959aa6924943fd6f714 @@ -973,18 +946,18 @@ SPEC CHECKSUMS: react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457 react-native-tracking-transparency: 25ff1ff866e338c137c818bdec20526bb05ffcc1 react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1 - React-perflogger: c0b9c0ab8cbaf732694cd776645b3161d128784d - React-RCTActionSheet: c2b26d0be4e6e48ed6b4666345da16c8f7933b7b - React-RCTAnimation: cc36ff278cd41365c98eeec3c8d1fa86e2fc2392 - React-RCTBlob: 648b946caa1daaf4f7fef1c2e6ed64d8b658598c - React-RCTImage: 9e57ebc138ac6df26d5382a3de644a80b74806e9 - React-RCTLinking: 0f23d86615eb7782cd59703ff476be9f278ada00 - React-RCTNetwork: bedf8874619b6b21b30085eb6562be280c481a1b - React-RCTSettings: 969e0d42aca4b4965fad006fc835d67b30be03a8 - React-RCTText: bfff536e94ff407cf53470f271ba50976768fa50 - React-RCTVibration: 89e72d020ee2848022ee214f0542facafe91110a - React-runtimeexecutor: 6bedb63b3de0c5c3bb3cc44595431e2a91c24da2 - ReactCommon: 2642dd48fe3def7738d85f747c05fdd8c3a47950 + React-perflogger: 5ade0a1627352f1647d283e78331819bb46cceae + React-RCTActionSheet: 8e94f1e46e09c7035b81fe56c0ed8d78f3ccd340 + React-RCTAnimation: bf2af72f03cf16528db9a830be69fa04b341a1b7 + React-RCTBlob: 4d076b8bb55e631ad1280280ecba674fb1e46d16 + React-RCTImage: 073dcc1689466851fe120c7f8a3cfe3db0196c9f + React-RCTLinking: 8872818dc894a17bf17cb4b120f76917bf2e9f0a + React-RCTNetwork: 1e9c873f4a210784a4fb752194cb595502112464 + React-RCTSettings: 1475a717c54f4a9ed627dffffad2470c4b15a419 + React-RCTText: ed34088172126f84130eea859d62fedca0dd7975 + React-RCTVibration: c9cd9f21bbcb3b9c6deedbb66f13e373f57dd795 + React-runtimeexecutor: ea78653fbc68bd6f2d3f5e7e311bc5a9dc8bfeca + ReactCommon: f4bb9e5209ea5c3c6ab25e100895119e58d6e50a ReactNativeShareExtension: 589ed96a7823b475e630d7987a0958bff9804ee6 RNCAsyncStorage: 4b98ac3c64efa4e35c1197cb0c5ca5e9f5d4c666 RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 @@ -1002,7 +975,7 @@ SPEC CHECKSUMS: RNKeychain: c658833a9cb2cbcba6423bdd6e16cce59e27da0e RNLocalize: 62a949d2ec5bee0eb8f39a80a48f01e2f4f67080 RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a - RNReanimated: bec7736122a268883bdede07f1bf9cf4b40158db + RNReanimated: c6f8f70e96dd6ca21b65aef9b3e4efe4965db905 RNScreens: 50ffe2fa2342eabb2d0afbe19f7c1af286bc7fb3 RNSentry: 9f0447b3ce13806f544903748de423259ead8552 RNSVG: 80584470ff1ffc7994923ea135a3e5ad825546b9 @@ -1011,9 +984,9 @@ SPEC CHECKSUMS: Sentry: c7a86f43510a7d5678d4de28d78c28ab351d295b SentryPrivate: 2eaabf598a46d4b9b8822aef766df2a84caf2e6f SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: bb774af243598f7f860127c6e9ac7b62fb6519c4 + Yoga: 8a90b50af67eaa9fe94fd03e550bfeab06096873 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 6cb58b0b2dd9e6800ef90d02d05bd7cb16c1d383 +PODFILE CHECKSUM: d9b2a461088f22814944d0aada45a2219af51f50 COCOAPODS: 1.12.1 diff --git a/package.json b/package.json index 4588e22e..5195d2e8 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@json-rpc-tools/utils": "1.7.6", "@likecoin/authcore-js": "^0.3.0-like.0", "@likecoin/secretd-js": "^0.4.3", - "@react-native-async-storage/async-storage": "^1.17.10", + "@react-native-async-storage/async-storage": "^1.17.7", "@react-native-community/masked-view": "^0.1.11", "@react-native-cookies/cookies": "^6.2.1", "@react-native-firebase/analytics": "11.5.0", @@ -61,9 +61,9 @@ "postinstall-postinstall": "^2.1.0", "process": "^0.11.10", "ramda": "0.29.0", - "react": "18.1.0", + "react": "18.0.0", "react-content-loader": "^4.3.4", - "react-native": "^0.70.0", + "react-native": "^0.69.0", "react-native-actions-sheet": "^0.4.8", "react-native-authcore": "git+https://github.com/likecoin/react-native-authcore#ffa57a75cbdc4db463ef4d7ad45641b6c234b7e9", "react-native-branch": "^5.8.0", @@ -73,7 +73,7 @@ "react-native-encrypted-storage": "^4.0.3", "react-native-exit-app": "^1.1.0", "react-native-fast-image": "^8.3.2", - "react-native-gesture-handler": "^2.6.0", + "react-native-gesture-handler": "^2.5.0", "react-native-iap": "^7.5.6", "react-native-image-picker": "^7.0.1", "react-native-image-sequence": "^0.7.0", @@ -83,9 +83,9 @@ "react-native-qrcode-svg": "^6.2.0", "react-native-randombytes": "^3.5.3", "react-native-rate": "^1.2.12", - "react-native-reanimated": "^2.10.0", - "react-native-safe-area-context": "^4.4.1", - "react-native-screens": "^3.18.2", + "react-native-reanimated": "^2.9.0", + "react-native-safe-area-context": "^4.3.1", + "react-native-screens": "^3.14.1", "react-native-share-extension": "git+https://github.com/likecoin/react-native-share-extension#d82e2cd02b782272422da15cd484c8cbe931a6ab", "react-native-snap-carousel": "^3.9.0", "react-native-splash-screen": "^3.3.0", @@ -121,8 +121,8 @@ "@types/jest": "24.0.16", "@types/jsonwebtoken": "^9.0.0", "@types/ramda": "0.26.18", - "@types/react": "18.0.38", - "@types/react-native": "^0.70.0", + "@types/react": "18.0.0", + "@types/react-native": "^0.69.0", "@types/react-native-share-extension": "^2.0.1", "@types/react-test-renderer": "16.8.3", "@types/styled-components": "^5.1.9", @@ -144,7 +144,7 @@ "ignite-bowser": "^4.6.2", "jest": "^24.9.0", "jetifier": "^1.6.1", - "metro-react-native-babel-preset": "0.72.4", + "metro-react-native-babel-preset": "^0.70.3", "npm-run-all": "4.1.5", "patch-package": "^7.0.0", "postinstall-prepare": "1.0.1", @@ -153,7 +153,7 @@ "react-native-dotenv": "^0.2.0", "react-native-svg-transformer": "^0.13.0", "react-powerplug": "1.0.0", - "react-test-renderer": "18.1.0", + "react-test-renderer": "18.0.0", "rimraf": "2.6.3", "solidarity": "2.3.1", "typescript": "3.9.10" diff --git a/test/__snapshots__/storyshots.test.ts.snap b/test/__snapshots__/storyshots.test.ts.snap index e607365b..3ce15cf6 100644 --- a/test/__snapshots__/storyshots.test.ts.snap +++ b/test/__snapshots__/storyshots.test.ts.snap @@ -16,6 +16,7 @@ exports[`Storyshots Avatar Behavior 1`] = ` } > Date: Mon, 16 Oct 2023 01:06:39 +0800 Subject: [PATCH 26/29] =?UTF-8?q?=F0=9F=94=96=20Bump=20build=20number=20to?= =?UTF-8?q?=20345?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- android/app/build.gradle | 2 +- ios/LikeCoinApp.xcodeproj/project.pbxproj | 4 ++-- ios/LikerLandShare/Info.plist | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.env b/.env index aa346714..c5de4d84 100644 --- a/.env +++ b/.env @@ -15,7 +15,7 @@ ROOT_STATE_STORAGE_KEY=root APP_MARKETING_VERSION=0.35.0 # Same as CURRENT_PROJECT_VERSION in iOS / version code in Android -APP_VERSION=344 +APP_VERSION=345 # APP_VERSION must be greater or equal to the this value # without forcing user to update the app diff --git a/android/app/build.gradle b/android/app/build.gradle index 3f1d312f..88b299e8 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -141,7 +141,7 @@ android { applicationId "com.oice" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 344 + versionCode 345 versionName "0.35.0" missingDimensionStrategy 'react-native-camera', 'general' missingDimensionStrategy 'store', 'play' diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index 1f008925..73362237 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -584,7 +584,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; - CURRENT_PROJECT_VERSION = 344; + CURRENT_PROJECT_VERSION = 345; DEVELOPMENT_TEAM = 6VG4638588; ENABLE_BITCODE = NO; HEADER_SEARCH_PATHS = ( @@ -676,7 +676,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; - CURRENT_PROJECT_VERSION = 344; + CURRENT_PROJECT_VERSION = 345; DEVELOPMENT_TEAM = 6VG4638588; HEADER_SEARCH_PATHS = ( "$(inherited)", diff --git a/ios/LikerLandShare/Info.plist b/ios/LikerLandShare/Info.plist index 1a2df42f..ac60af06 100644 --- a/ios/LikerLandShare/Info.plist +++ b/ios/LikerLandShare/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 0.35.0 CFBundleVersion - 344 + 345 NSAppTransportSecurity NSAllowsArbitraryLoads From a761e328bbdc7c282eff6221c472bcfd3d7cd4c3 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 16 Oct 2023 13:09:59 +0800 Subject: [PATCH 27/29] =?UTF-8?q?=E2=AC=87=EF=B8=8F=20Downgrade=20AGP=20to?= =?UTF-8?q?=20=207.1.1=20(rn@0.69=20stock)=20to=20mitigate=20js=20bundle?= =?UTF-8?q?=20issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/build.gradle | 2 +- android/gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 183d2545..72f79471 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -24,7 +24,7 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:7.4.2") + classpath("com.android.tools.build:gradle:7.1.1") classpath("com.facebook.react:react-native-gradle-plugin") classpath("de.undercouch:gradle-download-task:5.0.1") // NOTE: Do not place your application dependencies here; they belong diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 2ec77e51..669386b8 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 1a4aa766786576e04f6b8b390d057f67e909b8e1 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 16 Oct 2023 13:13:25 +0800 Subject: [PATCH 28/29] =?UTF-8?q?=F0=9F=94=96=20Bump=20build=20number=20to?= =?UTF-8?q?=20346?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- android/app/build.gradle | 2 +- ios/LikeCoinApp.xcodeproj/project.pbxproj | 4 ++-- ios/LikerLandShare/Info.plist | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.env b/.env index c5de4d84..c5712d77 100644 --- a/.env +++ b/.env @@ -15,7 +15,7 @@ ROOT_STATE_STORAGE_KEY=root APP_MARKETING_VERSION=0.35.0 # Same as CURRENT_PROJECT_VERSION in iOS / version code in Android -APP_VERSION=345 +APP_VERSION=346 # APP_VERSION must be greater or equal to the this value # without forcing user to update the app diff --git a/android/app/build.gradle b/android/app/build.gradle index 88b299e8..12e63b01 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -141,7 +141,7 @@ android { applicationId "com.oice" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 345 + versionCode 346 versionName "0.35.0" missingDimensionStrategy 'react-native-camera', 'general' missingDimensionStrategy 'store', 'play' diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index 73362237..ac32abf2 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -584,7 +584,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; - CURRENT_PROJECT_VERSION = 345; + CURRENT_PROJECT_VERSION = 346; DEVELOPMENT_TEAM = 6VG4638588; ENABLE_BITCODE = NO; HEADER_SEARCH_PATHS = ( @@ -676,7 +676,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = LikeCoinApp/LikeCoinApp.entitlements; - CURRENT_PROJECT_VERSION = 345; + CURRENT_PROJECT_VERSION = 346; DEVELOPMENT_TEAM = 6VG4638588; HEADER_SEARCH_PATHS = ( "$(inherited)", diff --git a/ios/LikerLandShare/Info.plist b/ios/LikerLandShare/Info.plist index ac60af06..d96e3715 100644 --- a/ios/LikerLandShare/Info.plist +++ b/ios/LikerLandShare/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 0.35.0 CFBundleVersion - 345 + 346 NSAppTransportSecurity NSAllowsArbitraryLoads From 445f82eecbcaf764e3f49ff13b5148b66e1c2981 Mon Sep 17 00:00:00 2001 From: William Chong Date: Mon, 16 Oct 2023 17:24:25 +0800 Subject: [PATCH 29/29] =?UTF-8?q?=F0=9F=91=BD=EF=B8=8F=20Fix=20Xcode=2015?= =?UTF-8?q?=20cycle=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/LikeCoinApp.xcodeproj/project.pbxproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ios/LikeCoinApp.xcodeproj/project.pbxproj b/ios/LikeCoinApp.xcodeproj/project.pbxproj index ac32abf2..704b6f46 100644 --- a/ios/LikeCoinApp.xcodeproj/project.pbxproj +++ b/ios/LikeCoinApp.xcodeproj/project.pbxproj @@ -193,12 +193,12 @@ 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 83FE4EA924064FE50073E6EA /* Embed App Extensions */, + 512FB86A807CF2F0E223B7FC /* [CP] Copy Pods Resources */, + 09C796459E8C77EEA8ED34FC /* [CP] Embed Pods Frameworks */, 3D2512B725CD2D4100DE881D /* Copy Google plist */, C76FA05B0208092CE895C07A /* [CP-User] [RNFB] Core Configuration */, CA245B537CEDD94F185A0102 /* [CP-User] [RNFB] Crashlytics Configuration */, - 512FB86A807CF2F0E223B7FC /* [CP] Copy Pods Resources */, - 83FE4EA924064FE50073E6EA /* Embed App Extensions */, - 09C796459E8C77EEA8ED34FC /* [CP] Embed Pods Frameworks */, 855FB6D36CB74DD790214ED0 /* Upload Debug Symbols to Sentry */, ); buildRules = (