From e1612cb7e5db393fd255412632af7d4449c9cad4 Mon Sep 17 00:00:00 2001 From: mlassauzay-pass <240954952+mlassauzay-pass@users.noreply.github.com> Date: Tue, 18 Nov 2025 11:41:09 +0100 Subject: [PATCH] (PC-38594) chore(RN): Bump RN from 0.78 to 0.80 - update zustand because of : https://github.com/pmndrs/zustand/releases/tag/4.5.7 - fix typescript errors due to setTimeout() and setInterval() - fix removeGeneratedStorageKey.native.test.ts - fix ConsentSettings.native.test.tsx - move from react-native-fast-image 8.6.3 (no longer maintained) to @d11/react-native-fast-image 8.13.0 to supported RN 0.80 - upgrade react-native-reanimated from 3.18.0 to 4.1.5 to support RN 0.80 Add react-native-worklets lib, It has been separated from Reanimated but remains necessary - upgrade @gorhom/bottom-sheet from 4.6.3 to 5.2.6 for compatibility reason - upgrade react-native-maps from 1.23.12 to 1.26.0 because of error : Unimplemented component: - patch react-native-date-picker (seems to no longer be maintained) because of RNDatePickerManager does not conform to RCTModuleProvider - upgrade react-native-gesture-handler from 2.26.0 to 2.29.1 for compatibility reason. `TouchableOpacity` and `TouchableWithoutFeedback` are deprecated and no longer seems to work in tests --- .eslintrc.js | 2 +- Gemfile | 6 + Gemfile.lock | 7 + .../{ => @d11}/react-native-fast-image.tsx | 4 +- __mocks__/react-native-gesture-handler.ts | 10 + ...tyFiltersModal.native.test.tsx.native-snap | 1 - ...uitSignupModal.native.test.tsx.native-snap | 1 - ...ailResendModal.native.test.tsx.native-snap | 1 - ...CookiesConsent.native.test.tsx.native-snap | 1 - .../VideoModal.native.test.tsx.native-snap | 1 - .../DMSModal.native.test.tsx.native-snap | 1 - ...tityCheckModal.native.test.tsx.native-snap | 1 - ...tReceivedModal.native.test.tsx.native-snap | 2 - ...ationTipsModal.native.test.tsx.native-snap | 1 - ...eLocationModal.native.test.tsx.native-snap | 1 - ...hLocationModal.native.test.tsx.native-snap | 1 - ...pLocationModal.native.test.tsx.native-snap | 1 - ...ficationsModal.native.test.tsx.native-snap | 1 - ...ficationsModal.native.test.tsx.native-snap | 1 - ...oriteAuthModal.native.test.tsx.native-snap | 1 - ...ationAuthModal.native.test.tsx.native-snap | 1 - ...redCreditModal.native.test.tsx.native-snap | 1 - ...ormationCredit.native.test.tsx.native-snap | 806 ++++--- ...ategoriesModal.native.test.tsx.native-snap | 1 - ...atesHoursModal.native.test.tsx.native-snap | 1 - .../OfferDuoModal.native.test.tsx.native-snap | 1 - .../PriceModal.native.test.tsx.native-snap | 1 - .../VenueModal.native.test.tsx.native-snap | 1 - .../ShareAppModal.native.test.tsx.native-snap | 1 - ...pModalVersionA.native.test.tsx.native-snap | 1 - ...pModalVersionB.native.test.tsx.native-snap | 1 - ...LoggedOutModal.native.test.tsx.native-snap | 1 - ...sSettingsModal.native.test.tsx.native-snap | 1 - ...scriptionModal.native.test.tsx.native-snap | 1 - ...onSuccessModal.native.test.tsx.native-snap | 6 - ...firmationModal.native.test.tsx.native-snap | 1 - .../Venue/Venue.native.test.tsx.native-snap | 3 + ...ctivationModal.native.test.tsx.native-snap | 1 - ...rocessingModal.native.test.tsx.native-snap | 1 - ...nticationModal.native.test.tsx.native-snap | 1 - ...plicationModal.native.test.tsx.native-snap | 1 - ...scriptionModal.native.test.tsx.native-snap | 3 - .../AppModal.native.test.tsx.native-snap | 9 - ...MarketingModal.native.test.tsx.native-snap | 1 - android/app/proguard-rules.pro | 2 +- .../java/com/passculture/MainApplication.kt | 10 +- android/build.gradle | 2 +- android/gradle/wrapper/gradle-wrapper.jar | Bin 43583 -> 43764 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/gradlew | 7 +- android/gradlew.bat | 10 +- babel.config.js | 2 +- doc/bump-react-native.md | 33 +- ios/AppDelegate.h | 8 +- ios/AppDelegate.mm | 44 +- ios/PassCulture.xcodeproj/project.pbxproj | 10 + ios/PassCulture/AppDelegate.swift | 52 +- ios/PassCulture/Info.plist | 24 +- ios/Podfile.lock | 2029 ++++++++++++----- jest.config.js | 2 + jest.web.config.js | 3 +- jest/jest.setup.ts | 11 +- package.json | 41 +- patches/react-native-date-picker+5.0.13.patch | 174 ++ ....patch => react-native-maps+1.26.18.patch} | 3 +- src/features/auth/context/AuthWrapper.tsx | 4 +- .../AfterSignupEmailValidationBuffer.tsx | 2 +- .../bookOffer/helpers/useRotatingText.ts | 2 +- .../pages/BookingNotFound/BookingNotFound.tsx | 2 +- .../removeGeneratedStorageKey.native.test.ts | 7 +- src/features/home/pages/GenericHome.tsx | 2 +- .../eduConnect/NotEligibleEduConnect.tsx | 2 +- .../offer/components/OfferBodyImage.tsx | 4 +- .../OfferContent/OfferContentBase.tsx | 2 +- .../VideoSection/VideoSection.native.test.tsx | 2 +- .../OfferImageCarouselItem.tsx | 2 +- .../components/PinchableBox/PinchableBox.tsx | 6 +- .../offer/pages/Offer/Offer.native.test.tsx | 6 +- .../pages/OfferNotFound/OfferNotFound.tsx | 2 +- .../ConsentSettings.native.test.tsx | 3 + .../OpeningHoursStatus/OpeningHoursStatus.tsx | 2 +- .../venue/pages/Venue/Venue.native.test.tsx | 1 + .../pages/VenueNotFound/VenueNotFound.tsx | 2 +- .../VenueMapBottomSheet.tsx | 1 - src/libs/hooks/useIsFalseWithDelay.ts | 2 +- src/libs/hooks/useShowReview.ts | 2 +- src/libs/hooks/useTimer.ts | 2 +- src/libs/network/OfflineModeContainer.tsx | 2 +- .../resizing-image-on-demand/FastImage.tsx | 4 +- .../keyboard/useKeyboardEvents.native.test.ts | 109 +- .../modals/AppModal.native.test.tsx | 46 +- src/ui/components/tiles/OfferImage.tsx | 4 +- src/ui/designSystem/SelectableAsset.tsx | 4 +- tsconfig.json | 2 +- vite.config.js | 2 +- yarn.lock | 1164 +++++----- 96 files changed, 2859 insertions(+), 1898 deletions(-) rename __mocks__/{ => @d11}/react-native-fast-image.tsx (76%) create mode 100644 __mocks__/react-native-gesture-handler.ts create mode 100644 patches/react-native-date-picker+5.0.13.patch rename patches/{react-native-maps+1.23.12.patch => react-native-maps+1.26.18.patch} (99%) diff --git a/.eslintrc.js b/.eslintrc.js index dab3d0d68be4..64486505ea88 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -190,7 +190,7 @@ module.exports = { message: 'use modal.spacing from theme/index.ts', }, { - name: 'react-native-fast-image', + name: '@d11/react-native-fast-image', importNames: ['default'], message: 'If images come from our backend, use libs/resizing-image-on-demand/FastImage instead. Otherwise you can use react-native-fast-image', diff --git a/Gemfile b/Gemfile index 0e6d67563d4c..27a4a685ce3e 100644 --- a/Gemfile +++ b/Gemfile @@ -9,5 +9,11 @@ gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0' gem 'xcodeproj', '< 1.26.0' gem 'concurrent-ruby', '< 1.3.4' +# Ruby 3.4.0 has removed some libraries from the standard library. +gem 'bigdecimal' +gem 'logger' +gem 'benchmark' +gem 'mutex_m' + plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') eval_gemfile(plugins_path) if File.exist?(plugins_path) diff --git a/Gemfile.lock b/Gemfile.lock index 9b8b673c6186..1b93ad4787c7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -43,6 +43,8 @@ GEM aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) base64 (0.2.0) + benchmark (0.1.0) + bigdecimal (2.0.0) claide (1.1.0) cocoapods (1.14.3) addressable (~> 2.8) @@ -231,6 +233,7 @@ GEM json (2.7.6) jwt (2.10.1) base64 + logger (1.4.2) mini_magick (4.13.2) mini_mime (1.1.5) minitest (5.25.4) @@ -302,12 +305,16 @@ PLATFORMS DEPENDENCIES activesupport (>= 6.1.7.5, != 7.1.0) + benchmark + bigdecimal cocoapods (>= 1.13, != 1.15.1, != 1.15.0) concurrent-ruby (< 1.3.4) fastlane fastlane-plugin-appcenter fastlane-plugin-firebase_app_distribution fastlane-plugin-load_json! + logger + mutex_m xcodeproj (< 1.26.0) RUBY VERSION diff --git a/__mocks__/react-native-fast-image.tsx b/__mocks__/@d11/react-native-fast-image.tsx similarity index 76% rename from __mocks__/react-native-fast-image.tsx rename to __mocks__/@d11/react-native-fast-image.tsx index 817f6529a4e4..e0a001768bfc 100644 --- a/__mocks__/react-native-fast-image.tsx +++ b/__mocks__/@d11/react-native-fast-image.tsx @@ -1,6 +1,6 @@ -import React, { useEffect } from 'react' // eslint-disable-next-line no-restricted-imports -import FImage, { FastImageProps, OnLoadEvent } from 'react-native-fast-image' +import FImage, { FastImageProps, OnLoadEvent } from '@d11/react-native-fast-image' +import React, { useEffect } from 'react' function FastImage(props: FastImageProps) { useEffect(() => { diff --git a/__mocks__/react-native-gesture-handler.ts b/__mocks__/react-native-gesture-handler.ts new file mode 100644 index 000000000000..9f1e494fc2e3 --- /dev/null +++ b/__mocks__/react-native-gesture-handler.ts @@ -0,0 +1,10 @@ +// TODO(PC-39019): no need this mock if Touchables from rngh are no longer used + +const rngh = jest.requireActual('react-native-gesture-handler') +const rn = jest.requireActual('react-native') + +module.exports = { + ...rngh, + TouchableOpacity: rn.TouchableOpacity, + TouchableWithoutFeedback: rn.TouchableWithoutFeedback, +} diff --git a/__snapshots__/features/accessibility/components/AccessibilityFiltersModal.native.test.tsx.native-snap b/__snapshots__/features/accessibility/components/AccessibilityFiltersModal.native.test.tsx.native-snap index fc3953b138b8..1af5d7f71068 100644 --- a/__snapshots__/features/accessibility/components/AccessibilityFiltersModal.native.test.tsx.native-snap +++ b/__snapshots__/features/accessibility/components/AccessibilityFiltersModal.native.test.tsx.native-snap @@ -68,7 +68,6 @@ exports[` should render modal correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/auth/pages/signup/QuitSignupModal/QuitSignupModal.native.test.tsx.native-snap b/__snapshots__/features/auth/pages/signup/QuitSignupModal/QuitSignupModal.native.test.tsx.native-snap index cdb2a6ac73f5..1b4be54453cc 100644 --- a/__snapshots__/features/auth/pages/signup/QuitSignupModal/QuitSignupModal.native.test.tsx.native-snap +++ b/__snapshots__/features/auth/pages/signup/QuitSignupModal/QuitSignupModal.native.test.tsx.native-snap @@ -3,7 +3,6 @@ exports[`QuitSignupModal should render correctly 1`] = ` should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/features/cookies/pages/CookiesConsent.native.test.tsx.native-snap b/__snapshots__/features/cookies/pages/CookiesConsent.native.test.tsx.native-snap index 91d75a212f70..50b2e38c2196 100644 --- a/__snapshots__/features/cookies/pages/CookiesConsent.native.test.tsx.native-snap +++ b/__snapshots__/features/cookies/pages/CookiesConsent.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/home/components/modules/video/VideoModal.native.test.tsx.native-snap b/__snapshots__/features/home/components/modules/video/VideoModal.native.test.tsx.native-snap index 032b814035af..45fdee5aeea7 100644 --- a/__snapshots__/features/home/components/modules/video/VideoModal.native.test.tsx.native-snap +++ b/__snapshots__/features/home/components/modules/video/VideoModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[`VideoModal should render correctly if modal visible 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/identityCheck/components/modals/DMSModal.native.test.tsx.native-snap b/__snapshots__/features/identityCheck/components/modals/DMSModal.native.test.tsx.native-snap index 38cdb48a144b..668089e347d6 100644 --- a/__snapshots__/features/identityCheck/components/modals/DMSModal.native.test.tsx.native-snap +++ b/__snapshots__/features/identityCheck/components/modals/DMSModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/features/identityCheck/components/modals/QuitIdentityCheckModal.native.test.tsx.native-snap b/__snapshots__/features/identityCheck/components/modals/QuitIdentityCheckModal.native.test.tsx.native-snap index 0d87413c7a31..157851ec8a26 100644 --- a/__snapshots__/features/identityCheck/components/modals/QuitIdentityCheckModal.native.test.tsx.native-snap +++ b/__snapshots__/features/identityCheck/components/modals/QuitIdentityCheckModal.native.test.tsx.native-snap @@ -3,7 +3,6 @@ exports[` should render correctly 1`] = ` should have a different color if one attempt r animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -495,7 +494,6 @@ exports[` should match snapshot 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/features/identityCheck/pages/phoneValidation/PhoneValidationTipsModal.native.test.tsx.native-snap b/__snapshots__/features/identityCheck/pages/phoneValidation/PhoneValidationTipsModal.native.test.tsx.native-snap index ee3ce36e1cef..bbc597c3e667 100644 --- a/__snapshots__/features/identityCheck/pages/phoneValidation/PhoneValidationTipsModal.native.test.tsx.native-snap +++ b/__snapshots__/features/identityCheck/pages/phoneValidation/PhoneValidationTipsModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should match snapshot 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/features/location/components/HomeLocationModal.native.test.tsx.native-snap b/__snapshots__/features/location/components/HomeLocationModal.native.test.tsx.native-snap index b2224cc7a84b..7b01016dd38a 100644 --- a/__snapshots__/features/location/components/HomeLocationModal.native.test.tsx.native-snap +++ b/__snapshots__/features/location/components/HomeLocationModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[`HomeLocationModal should render correctly if modal visible 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/location/components/SearchLocationModal.native.test.tsx.native-snap b/__snapshots__/features/location/components/SearchLocationModal.native.test.tsx.native-snap index e222c0373aa4..287bf8acf7ca 100644 --- a/__snapshots__/features/location/components/SearchLocationModal.native.test.tsx.native-snap +++ b/__snapshots__/features/location/components/SearchLocationModal.native.test.tsx.native-snap @@ -66,7 +66,6 @@ exports[`SearchLocationModal should render correctly if modal visible 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/location/components/VenueMapLocationModal.native.test.tsx.native-snap b/__snapshots__/features/location/components/VenueMapLocationModal.native.test.tsx.native-snap index 165f0e88c264..236c8e49f7db 100644 --- a/__snapshots__/features/location/components/VenueMapLocationModal.native.test.tsx.native-snap +++ b/__snapshots__/features/location/components/VenueMapLocationModal.native.test.tsx.native-snap @@ -68,7 +68,6 @@ exports[`VenueMapLocationModal should render correctly if modal visible 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/notifications/pages/AskNotificationsModal.native.test.tsx.native-snap b/__snapshots__/features/notifications/pages/AskNotificationsModal.native.test.tsx.native-snap index 5757463ba83c..fba0827983ed 100644 --- a/__snapshots__/features/notifications/pages/AskNotificationsModal.native.test.tsx.native-snap +++ b/__snapshots__/features/notifications/pages/AskNotificationsModal.native.test.tsx.native-snap @@ -3,7 +3,6 @@ exports[`AskNotificationsModal should render properly 1`] = ` should render correctly 1`] = ` should render correctly 1`] = ` } } /> - - + + + à 17 ans + + - - - à 17 ans - - - + 50 € + + + + - Tu reçois - - - 50 € - - + } + > - - - - - - - - - - - - undefined-SVG-Mock - - - - Tu as jusqu’à la veille de tes 18 ans pour confirmer ton identité et activer ton crédit. + /> + + + + + + + + + undefined-SVG-Mock + + Tu as jusqu’à la veille de tes 18 ans pour confirmer ton identité et activer ton crédit. + - + should render correctly 1`] = ` } } /> - - + + + à 18 ans + + - - - à 18 ans - + } + > + 150 € + + + + - - Tu reçois - - 150 € - - + /> + + + + + + - - + + undefined-SVG-Mock + + + Tu as jusqu’à la veille de tes 19 ans pour confirmer ton identité et activer ton crédit. + + + - - - - undefined-SVG-Mock - - - - - Tu as jusqu’à la veille de tes 19 ans pour confirmer ton identité et activer ton crédit. + + undefined-SVG-Mock - - - - - - - undefined-SVG-Mock - - - - - Une fois activé, ton crédit expirera la veille de ton 21ème anniversaire. - - - + Une fois activé, ton crédit expirera la veille de ton 21ème anniversaire. + - + With categories view should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/search/pages/modals/DatesHoursModal/DatesHoursModal.native.test.tsx.native-snap b/__snapshots__/features/search/pages/modals/DatesHoursModal/DatesHoursModal.native.test.tsx.native-snap index 2fd5fad8c40a..a693a35fba87 100644 --- a/__snapshots__/features/search/pages/modals/DatesHoursModal/DatesHoursModal.native.test.tsx.native-snap +++ b/__snapshots__/features/search/pages/modals/DatesHoursModal/DatesHoursModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render modal correctly after animation and wi animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/search/pages/modals/OfferDuoModal/OfferDuoModal.native.test.tsx.native-snap b/__snapshots__/features/search/pages/modals/OfferDuoModal/OfferDuoModal.native.test.tsx.native-snap index 4b62a22c2373..c5f27d6bbdb0 100644 --- a/__snapshots__/features/search/pages/modals/OfferDuoModal/OfferDuoModal.native.test.tsx.native-snap +++ b/__snapshots__/features/search/pages/modals/OfferDuoModal/OfferDuoModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render modal correctly after animation and with animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/search/pages/modals/PriceModal/PriceModal.native.test.tsx.native-snap b/__snapshots__/features/search/pages/modals/PriceModal/PriceModal.native.test.tsx.native-snap index 1aa5399b352a..97e843327b9c 100644 --- a/__snapshots__/features/search/pages/modals/PriceModal/PriceModal.native.test.tsx.native-snap +++ b/__snapshots__/features/search/pages/modals/PriceModal/PriceModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render modal correctly after animation and with en animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/search/pages/modals/VenueModal/VenueModal.native.test.tsx.native-snap b/__snapshots__/features/search/pages/modals/VenueModal/VenueModal.native.test.tsx.native-snap index 475c0158a405..9af00efe180c 100644 --- a/__snapshots__/features/search/pages/modals/VenueModal/VenueModal.native.test.tsx.native-snap +++ b/__snapshots__/features/search/pages/modals/VenueModal/VenueModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[`VenueModal should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/share/pages/ShareAppModal.native.test.tsx.native-snap b/__snapshots__/features/share/pages/ShareAppModal.native.test.tsx.native-snap index 80a8b48b3531..b453aa869cd8 100644 --- a/__snapshots__/features/share/pages/ShareAppModal.native.test.tsx.native-snap +++ b/__snapshots__/features/share/pages/ShareAppModal.native.test.tsx.native-snap @@ -4,7 +4,6 @@ exports[`ShareAppModal should match snapshot 1`] = ` should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/features/subscription/NotificationsSettingsModal.native.test.tsx.native-snap b/__snapshots__/features/subscription/NotificationsSettingsModal.native.test.tsx.native-snap index ecd3b6004471..2c691e194b16 100644 --- a/__snapshots__/features/subscription/NotificationsSettingsModal.native.test.tsx.native-snap +++ b/__snapshots__/features/subscription/NotificationsSettingsModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/features/subscription/components/modals/OnboardingSubscriptionModal.native.test.tsx.native-snap b/__snapshots__/features/subscription/components/modals/OnboardingSubscriptionModal.native.test.tsx.native-snap index adc08fdfd03c..42f8fadd7ab2 100644 --- a/__snapshots__/features/subscription/components/modals/OnboardingSubscriptionModal.native.test.tsx.native-snap +++ b/__snapshots__/features/subscription/components/modals/OnboardingSubscriptionModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should display correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/features/subscription/components/modals/SubscriptionSuccessModal.native.test.tsx.native-snap b/__snapshots__/features/subscription/components/modals/SubscriptionSuccessModal.native.test.tsx.native-snap index 1d8561993aac..32e6d7b2d62a 100644 --- a/__snapshots__/features/subscription/components/modals/SubscriptionSuccessModal.native.test.tsx.native-snap +++ b/__snapshots__/features/subscription/components/modals/SubscriptionSuccessModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render correctly for activites_crea animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -597,7 +596,6 @@ exports[` should render correctly for cinema 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -1187,7 +1185,6 @@ exports[` should render correctly for lecture 1`] = animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -1777,7 +1774,6 @@ exports[` should render correctly for musique 1`] = animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -2367,7 +2363,6 @@ exports[` should render correctly for spectacles 1`] animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -2957,7 +2952,6 @@ exports[` should render correctly for visites 1`] = animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/features/subscription/components/modals/UnsubscribingConfirmationModal.native.test.tsx.native-snap b/__snapshots__/features/subscription/components/modals/UnsubscribingConfirmationModal.native.test.tsx.native-snap index 52d46bd26b04..c9e68d2fae67 100644 --- a/__snapshots__/features/subscription/components/modals/UnsubscribingConfirmationModal.native.test.tsx.native-snap +++ b/__snapshots__/features/subscription/components/modals/UnsubscribingConfirmationModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/features/venue/pages/Venue/Venue.native.test.tsx.native-snap b/__snapshots__/features/venue/pages/Venue/Venue.native.test.tsx.native-snap index 74fd3615e3d0..a9e5eb0f6f43 100644 --- a/__snapshots__/features/venue/pages/Venue/Venue.native.test.tsx.native-snap +++ b/__snapshots__/features/venue/pages/Venue/Venue.native.test.tsx.native-snap @@ -481,6 +481,7 @@ exports[` should match snapshot 1`] = ` "reduceMotionV": "system", } } + nativeID="0" > should match snapshot with headline offer 1`] = ` "reduceMotionV": "system", } } + nativeID="2" > should match snapshot with practical information 1`] = ` "reduceMotionV": "system", } } + nativeID="1" > should match previous snapshot 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/shared/offer/components/AuthenticationModal/AuthenticationModal.native.test.tsx.native-snap b/__snapshots__/shared/offer/components/AuthenticationModal/AuthenticationModal.native.test.tsx.native-snap index a3b51e58d63f..c533ca8551aa 100644 --- a/__snapshots__/shared/offer/components/AuthenticationModal/AuthenticationModal.native.test.tsx.native-snap +++ b/__snapshots__/shared/offer/components/AuthenticationModal/AuthenticationModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should render correctly 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/shared/offer/components/ErrorApplicationModal/ErrorApplicationModal.native.test.tsx.native-snap b/__snapshots__/shared/offer/components/ErrorApplicationModal/ErrorApplicationModal.native.test.tsx.native-snap index f37cb6bb5122..fc9bd29e584c 100644 --- a/__snapshots__/shared/offer/components/ErrorApplicationModal/ErrorApplicationModal.native.test.tsx.native-snap +++ b/__snapshots__/shared/offer/components/ErrorApplicationModal/ErrorApplicationModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should match previous snapshot 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/shared/offer/components/FinishSubscriptionModal/FinishSubscriptionModal.native.test.tsx.native-snap b/__snapshots__/shared/offer/components/FinishSubscriptionModal/FinishSubscriptionModal.native.test.tsx.native-snap index e464b6b47fb9..6f6ce23bac1c 100644 --- a/__snapshots__/shared/offer/components/FinishSubscriptionModal/FinishSubscriptionModal.native.test.tsx.native-snap +++ b/__snapshots__/shared/offer/components/FinishSubscriptionModal/FinishSubscriptionModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` should display correct body when user needs animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -496,7 +495,6 @@ exports[` should render correctly with eighteen years animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -985,7 +983,6 @@ exports[` should render correctly with undefined depo animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} diff --git a/__snapshots__/ui/components/modals/AppModal.native.test.tsx.native-snap b/__snapshots__/ui/components/modals/AppModal.native.test.tsx.native-snap index 2a2719059871..9be3c7794713 100644 --- a/__snapshots__/ui/components/modals/AppModal.native.test.tsx.native-snap +++ b/__snapshots__/ui/components/modals/AppModal.native.test.tsx.native-snap @@ -7,7 +7,6 @@ exports[` on big screen 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} @@ -297,7 +296,6 @@ exports[` on small screen 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} @@ -582,7 +580,6 @@ exports[` with backdrop disabled 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} @@ -821,7 +818,6 @@ exports[` with backdrop enabled by default 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} @@ -1106,7 +1102,6 @@ exports[` with backdrop explicitly enabled 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} @@ -1391,7 +1386,6 @@ exports[` with left icon render 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -1744,7 +1738,6 @@ exports[` with minimal props 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} @@ -2029,7 +2022,6 @@ exports[` with right icon render 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[MockFunction]} onModalHide={[Function]} @@ -2374,7 +2366,6 @@ exports[` without children 1`] = ` animationType="none" deviceHeight={1334} deviceWidth={750} - hardwareAccelerated={false} hideModalContentWhileAnimating={false} onBackdropPress={[Function]} onModalHide={[Function]} diff --git a/__snapshots__/ui/components/modals/MarketingModal.native.test.tsx.native-snap b/__snapshots__/ui/components/modals/MarketingModal.native.test.tsx.native-snap index f20699ffd796..fad0a2f66c6a 100644 --- a/__snapshots__/ui/components/modals/MarketingModal.native.test.tsx.native-snap +++ b/__snapshots__/ui/components/modals/MarketingModal.native.test.tsx.native-snap @@ -4,7 +4,6 @@ exports[`MarketingModal should render correctly 1`] = ` $T* z+;w-h{ce+s>j$K)apmK~8t5)PdZP3^U%(^I<0#3(!6T+vfBowN0RfQ&0iMAo055!% z04}dC>M#Z2#PO7#|Fj;cQ$sH}E-n7nQM_V}mtmG_)(me#+~0gf?s@gam)iLoR#sr( zrR9fU_ofhp5j-5SLDQP{O+SuE)l8x9_(9@h%eY-t47J-KX-1(`hh#A6_Xs+4(pHhy zuZ1YS9axk`aYwXuq;YN>rYv|U`&U67f=tinhAD$+=o+MWXkx_;qIat_CS1o*=cIxs zIgeoK0TiIa7t`r%%feL8VieY63-Aakfi~qlE`d;ZOn8hFZFX|i^taCw6xbNLb2sOS z?PIeS%PgD)?bPB&LaQDF{PbxHrJQME<^cU5b!Hir(x32zy{YzNzE%sx;w=!C z_(A>eZXkQ1w@ASPXc|CWMNDP1kFQuMO>|1X;SHQS8w<@D;5C@L(3r^8qbbm$nTp%P z&I3Ey+ja9;ZiMbopUNc2txS9$Jf8UGS3*}Y3??(vZYLfm($WlpUGEUgQ52v@AD<~Y z#|B=mpCPt3QR%gX*c^SX>9dEqck79JX+gVPH87~q0-T;ota!lQWdt3C-wY1Ud}!j8 z*2x5$^dsTkXj}%PNKs1YzwK$-gu*lxq<&ko(qrQ_na(82lQ$ z7^0Pgg@Shn!UKTD4R}yGxefP2{8sZ~QZY)cj*SF6AlvE;^5oK=S}FEK(9qHuq|Cm! zx6ILQBsRu(=t1NRTecirX3Iv$-BkLxn^Zk|sV3^MJ1YKJxm>A+nk*r5h=>wW*J|pB zgDS%&VgnF~(sw)beMXXQ8{ncKX;A;_VLcq}Bw1EJj~-AdA=1IGrNHEh+BtIcoV+Te z_sCtBdKv(0wjY{3#hg9nf!*dpV5s7ZvNYEciEp2Rd5P#UudfqXysHiXo`pt27R?Rk zOAWL-dsa+raNw9^2NLZ#Wc^xI=E5Gwz~_<&*jqz0-AVd;EAvnm^&4Ca9bGzM_%(n{>je5hGNjCpZJ%5#Z3&4}f3I1P!6?)d65 z-~d}g{g!&`LkFK9$)f9KB?`oO{a0VXFm1`W{w5bAIC5CsyOV=q-Q7Z8YSmyo;$T?K za96q@djtok=r#TdUkd#%`|QlBywo>ifG69&;k%Ahfic6drRP;K{V8ea_t2qbY48uYWlB3Hf6hnqsCO?kYFhV+{i> zo&AE+)$%ag^)ijm!~gU78tD%tB63b_tbv9gfWzS&$r@i4q|PM+!hS+o+DpKfnnSe{ zewFbI3Jc0?=Vz}3>KmVj$qTWkoUS8@k63XRP2m^e50x-5PU<4X!I#q(zj@EyT9K_E z9P%@Sy6Mq`xD<-E!-<3@MLp2Dq8`x}F?@}V6E#A9v6xm%@x1U3>OoFY{fX5qpxngY z+=2HbnEErBv~!yl%f`Eq2%&K%JTwgN1y@FZ#=ai+TFMFlG?UV{M1#%uCi#Knkb_h| z&ivG$>~NQ4Ou2-gy=8JdRe8`nJDsqYYs?)(LJkJ}NHOj|3gZxVQJWWp>+`H?8$$J5 z*_)+tlyII%x#dId3w(oXo`YEm^-|tFNNj-0rbEuUc2-=pZDk7fxWUlw;|@M9s1 zmK9*C)1Q?F5@NPUJOYOAe`GHnYB%G37_sg3dxAttqLs6Bro)4z ziy8j%C7KKDNL8r#Oj6!IHx|N(?%Zvo31y4;*L1%_KJh$v$6XhFkw*E|fEu9`or?JD_ z13X4g92;TZm0jA0!2R5qPD$W^U z`5XK|Y^27y_Q%D>wWGtF=K00-N0;=svka>o`(;~dOS(eT0gwsP{=Rq+-e2Ajq?D<)zww5V36u6^Ta8YT4cDaw} zfuGnhr_5?)D*1+*q<3tVhg(AsKhR1Di=nsJzt_si+)uac_7zx_pl#t(dh816IM zvToHR%D)$!Zj4Q^$s8A%HLRYa>q9dpbh=*kcF7nkM0RhMIOGq^7Tgn|Fvs)A% zznI7nlbWoA2=rHHbUZ4PJMXf{T$@>W1Tt4lb|Or4L;O!oFj8Op8KEE`^x^*VSJ`9~ z;Pe~{V3x*-2c|jBrvSV8s+*Y3VqFKa@Napr#JAd}4l7;sgn|Q#M!(<|IX1<)z!AC3 zv<5YpN58Fs4NYi|ndYcb=jVO6Ztpwd={@3Yp6orUYe6EG#s{qhX+L^7zMK+@cX1hh?gbp56>jX*_Z|2u9 zb*glt!xK>j!LyLnFtxs&1SLkyiL%xbMqgxywI-U*XV%%qwa5oiufFerY!wn*GgMq` zZ6mFf8MukDPHVaCQk#oyg^dhl*9p@Jc+4Q9+0iv?{}=}+&=>n+q{o z#rEZ<&Ku65y+1eRHwcl3G7bR`e{&~^fGg|0))$uW?B@;_sWSls!ctnjH6ykmM8WJx};hvdXZ>YKLS($5`yBK38HULv}&PKRo9k zdFzj>`CDIUbq8GxeIJ?8=61G-XO?7dYZ;xqtlG?qr`wzbh7YyaD=>eup7bVH`q*N5 z)0&n)!*wW$G<3A&l$vJ^Z-%1^NF$n3iPgqr6Yn_SsAsFQw?9fj z&AvH|_-6zethC3^$mLF7mF$mTKT<_$kbV6jMK0f0UonRN_cY?yM6v&IosO?RN=h z{IqdUJvZd#@5qsr_1xVnaRr`ba-7MyU4<_XjIbr$PmPBYO6rLrxC`|5MN zD8ae4rTxau=7125zw|TQsJpqm`~hLs@w_iUd%eMY6IR9{(?;$f^?`&l?U%JfX%JyV z$IdA`V)5CkvPA0yljj4!Ja&Hjx`zIkg_ceQ;4)vhoyBeW$3D<_LDR~M-DPzQQ?&!L*PUNb^moIz|QXB=S z9^9NnEpF+>_Oh6+Xr55ZLJ7`V=H}@D<70NiNGH{~^QE-U)*Sg@O}M|%{Rcpn z{0nD@D%@8!dE*mndd2g!-q9;)jb=IUED<(Pxh`9B>V3z#f>82~&CVZASC?|;C-VKy zJU35T|3jd(p8F|#n@T~Wh2l1yURI=LC>Uj_!8i7-DE_IaSKIMAx`WMEq8kN%8sAx% zOQs~R1v12(=_ghVxzylsYZum-%8QmjM3-s2V!jY|w#ccP)}OSW?MWhNu@o-t0eTg{ zyy`}x+}GObZC(k>-upb2C6#S*NOfWbKEyReP%gay8MT!pJpsx4jwCu%>7%sY}1L6Vybj_P+;yP`YS92 z^o_G!Gr_NP!ixe7d&82H&achfi83L;le3Fs?u%E*xbeOKkJr7mp=)RXjZF;h*hR<= zP_cs1hjc}0JlHal=enmG&G8wsn%Sm$5Wcgs=Zc}}A%3i6_<4k_`-$k2E5f6QV{a$V zg3VZO36o^w5q`q2ASwJw#?n7pBJyGt3R<`Sd8d|52=h&`|CPq&1Cz&42rRCHNjDZL z$}Y*L+#N;!K2Ov){~fmQM8hVYzj3H@{yS>?q3QhhDHWfNAJ#q@qko|rhlaGG4Qrvh zmHpmg&7YvgRuI|i78-{)|wFx(R^_ z{ag(}Kbbbx=UW42sAu}kg3yB#96dJlOB{+or<(51ylVwpXII7Hrlztq!pefQ?6pQhqSb76y=sQx zOC-swAJaqnL_ok{74u_IHojFk;RSSFfjdLrfqq{syUxA$Ld6D2#TMX(Phf~dvSuuX zmN2xzjwZxWHmbvK2M#OhE#{`urOzs=>%ku}nxymK-dB~smas?Z(YM^>x#K)M@?<&L zeagMnj!XK4=Mid$NvJ+JfSjvc`4rX9mTo^+iFs0q7ntZ{gfU3oSAbK_yzW3WA^`6x zWgPSLXlEVvh!G^fOzZ-O{C_v;V6=;DE+ZqRT4mbCq}xeQ0o z98Cho%25r#!cT_ozTd~FK^@AB3OnrAAEDI4==}#I_v}iw0nhA{y99mFRG*1kxFkZP z+are- z8D|3WoYE>s0<=h)^)0>^up+nPeu}Sv-A($6t3AUedFczOLn;NW5_xM0tMvvrOSZ}) zA2YG1m4GxLAHZ5k>%}pHYtf-caXMGcYmH8ZPLX9VCew0;@Pi-8zkH^#}Cu$%FmKJb=!)Twj!PgBmY0+>VUsyyT}Jy>vMt zo<^5lmPo5Jt-=)z2-F{2{jB{CpW2JDj%~JnP*rq^=(okNQpH=}#{kqMUw{&=e-5;G z!FwJVQTDS7YGL&|=vJ+xhg{dMika2m2A#l@$PazLQ<6$GLC+>4B37`4aW3&MgENJ% z#*tOQsg{>zmcuSgU?peLA}!Rlu&K3LTc@drSBaI?91dK75;_`(V`NHjkMj``jwjJx zcm_!liUxn=^!~0|#{g2#AuX9%;GTBq&k+Jz!~Cc+r?S}y=Q1okG0PRIi3C3wgP8F| zO2jcmnVbGXp*Mu&e#a9Q5a}w7$sITx@)8b}sh(v9#V(H$3GLHF@k!Wh+)kNueq;+r zFtj+^b1TQe?R#Y8{m!7~e6%83hbPKoizd2LIg3yS5=X2HE^l4_|(2q#LB zeNv&njrS$?=zzG?0Min#kY+3A)H1uMfogMYSm|vT%3i<_d9X&~N*ZCL4iB@YaJuo; zq}-;EGx~T43kq-UHmTn!@sc z3bwcs$rp?~73h*uZl_ysD*WK3_PS1G3N^t3U=KoRm_Gz@C?M>+x9HRMk(cA4m&L`! z=Lb~4*9zt*SHJgsAMAcTy*!1W^B>4T_doWvNw7UwmyA=Wq&kE{*GVHp9Yk5goUO;k zVb_3ARrFPG;&>Jv@P&`z%}t!*M|2127pm{S)gs~f_ID^lOH@nIW9DgU$=FjqNW0pv z&GYdoxe@)RAWWx^j|$N}sj*p)_bFpk`Y=NilvsI(>!Z&KBo&I+wb*kM5Vvkkr#;q< z3CobbF+GJ#MxL?rMldP0@XiC~yQCR57=wW_<$j!SY*$5J+^v{Pn!1{&@R-lHCiK8@ z&O=XQ=V?hjM;h&qCitHmHKJ_$=`v%;jixnQrve^x9{ykWs(;!Q9mlr#{VYVE93oaW z&z+vBD}!tBghkriZy7gX7xJp8c}ajR4;JDu^0#RdQo2itM^~uc==~eBgwx5-m7vLj zP)vE#k%~*N$bT#^>(C1sohq+DwAC{U*z(D)qjgghKKSy#$dPih`R09rfbfI-FLE!` zn!tg71Wr(D7ZV*4R@GqG&7)2K*Zc6_CMJoGu#Yc>9D#{eyZ>u-mrWG@4Hk(je3lnH zu9qvXdq+!`5R1mlzWjV^jvaHl>-^Z+g^s5dy49yem$0$>341=EGuOY=W5PCFBTbNN^19iIQ57C3KcV}z~z#Rvngs#j;g2gswC(TLWlViYW}tB5T#g4 z%vDUYTo1@+&zE&`P%fXc^@prE5z;E@;; zKtpEFYftJq-c0sD6lKYoEQ;O1X4uFZZ;3gdgfAKqIc=Dj6>unXAdM}DD*@a5LHk~o zyJjW@aK;XG%qr<)7Rqh7NdUpnTR6jc;6{FKcK_v_#h{IO{mez>^^70DAWB5whqq!J zevvLUotE;I?IWWf!ieJ-Hx`TqY5)ND>K0NCb7IW40Jk*J* z^#m%kIA~Go2=R|y5zM|*ehJxyuX;lOQZkArKVbQV(XmidUH|8U^q`wP(7%F}=uG}U z2~&~CLebE`c%SCdeU(l&hryL~+Y)6I^d@|||6F15IAGo`G+CdVf zc+!EycZnQH)OBE zyTd8k{(_v9d2}osA$*>Q>Q&OB(7ShxA$}p8ChVnYlXl5My$HlVx@ATprrj0}6)ycK zcQy#bwOms1CnS+xd26}k?J;WI{HR_U+1T^I!$B^S=pJkT705QaMF88VJp!s%`?y9z8f$&Xw(A}3u_(n5G{!)yH&zN)S?c1$SZlo>XieJ zyEFa>_p9B*cY){ct8=dq>uQTf# zd4vB4)(ebwQHlSAu}(6GCe28H32pz^}l%Zqs;Yl|B=l2d9HrCcUf%wxLYs4CBqJ#{gz*u6V$>?9IT@uSf~2Rgk6CNw;C21ZbNkm>ZTc@2zeOSXVE^>i5!2>t%!1cI z{FZA`*o4=dTDG3&{v$3xVr%g;3d(!SFJU}w6x_Re(ohlni)I54Wg{t zWLK{A(}qEIH@pamgtr3serA{THlp_IR(gt0CFguk={|Ochh10)7UV4DcnO7fvL<=x z^WCMg_TI?U8(loaUnAe+Nc9I1JIO#_C`=kJG(&wy%Cr9vRFcY9^8{A3A>GuSW~Zk( zMA#t~0Dw?;3^Ue|lhSp4p%YvYmw-&3ey3}+{6Uhz?l1D|6nYNok6?4N_C!OSR=QtS z2X&QtWlkZshPo#-dXBOlSqh3D;#*_`hyohR>vl$W+QC>HPOs0zwHKN`?zIKqCTw&w&NUGNS|abulHe{D+{q z`WvLw?C4K97cd}6V6f2NtfIAO;=c>qi^+y4#oMjK?5Hy9$Tg1#S~Cxoo-Zdpnt2kG^n}`9)Df-Spvx&Oi+6xXT=N*0l|d`p!ZU ziQo9$y}PYIF~Zqh^?6QZ8YS*JtD^gynifSLMlVYRhBi*f-mJFS<>l%5sp5$V$p*X9?V-0r4bKYvo3n@XkCm4vO-_v? zOsLkR?)>ogb>Ys*m^2>*6%Db0!J?Qvpyd+ODlbslPci9r#W>d~%vcU7J_V;#Um1+` zG0>Q$TrOLUF0%a3g=PaCdQVoUUWXgk>($39-P;tusnMlJ=Dz}#S|E== zl6b3bbYaYguw3Bpv|O(YR2aBk?(jo+QqN*^6f0x+to-@2uj!nu6X{qLK>*PxM!i0C zZwrQ}prOw6Ghz?ApvM`!L3Dzc@6mp<2hO0y{_`lqtt!FcUmBG+PBwl?>0Mwu)Ey{L zU;A{ywkT}jCZpPKH4`_o0$#4*^L7=29%)~!L4*czG!bAva#7ZCDR|6@lBE&cyy5eE zlKHwzv7R9gKZTF<8}3*8uVtI)!HE%AZRD-iW!AJI7oY43@9Z$0^MO@Egj1c?o(BwF ziz1|k#WOgAG?^r1 z>+p=DK?cA-RLIvcdmwq$q?R;ina0SPj@;Mus}W_V2xHnYhOq~=sxzA`yTUOsJ`8`VOSTE=IZ!x`cZYqHbgPijF>J>N7( zqbNsHK50vkB1NI52gyb^PflpU0DRw{&v7Y}Hy2>pV@W2f1EOd2j;H?|WiV%2?Dk7u zS(NrEUDl81<}yY9J#OCwM)N?x&PB-%1{oD*`_ZLiBJ=16uR{n+Lk~!t(&9U#>ZfVd8Iqn&idGd>uo?L@sjm>c|Lk z12d3Y>N9U`342@xaHl&Q@oE5V-f$s`04q983f0#m_WF=X_A89W8C#{uCdTNUZ+))$ zakPyNU)?MDayCKxWh0(-v~1rd8FxocW=Dc6B1%N4^SgQj$?ZMoAMQ-35)IMgf&)M?c@}4QG7=DTq{nHc7yp=CZ z1dh~VkK%OTr23U1mJ*a-DxX0Psvh_13t^YcPl9t?_^$pPEhhwGp}s~f=GFR;4@;@f z@B;R1U6Df?yl#Y=BgYTlP&<|8K27||rx_?{s|L);GM3^{Nn8HZp zFqxiG6s3Nb;PW3O=u;(-o(*q!^2i)jHY%N@;O5Hder~_@$zh4xG#-7?#S^-&M~yc} zh5Y=ltLBnTzt;Y%YNqi2d1M1LOz?MJbZ|Nc6>x19&l_S*2Rgk$DhaP7Y-C)4_uPzf zQm)OY)$AFfE1(0SxkbbN4}CHnlU`RqYFGIE7S9ipx_Q0vkE5JRq4Uc%zV7$?y(x$y zV^)5zwjH~+4?xN z9s@x~w`C_cS}khfI14K4Xgn^iuBxkd^u}3cY=VZI@-8iWHolPtt?JD5lZ1V=@g6yR zj0>bd7Z(dw+@)v#r!xpZaAxgT?4Ton(h`0}fkfF!ZDSu{f*r#{ZRp^oOrO3iB|Fa- z;|+PpW5JKZxJ-kjHf`-7ohmnO=a)Xl9lhI8&$)g6R#6PBIN$QSC8kT=4zj?w&=`!qjkCvvz;ypOfR7P)w^ z-7LFhXd6GLrFa_vGLwR5MRvcV*(r!NhQ@}T-ikBGy!fHaiePD$iA{|Q1$kct2`qHz z6nAyERuqvM6i2^?g@w7W2LLr~3s?pBDk6ce8@CxV;b%4%-rXK-GOk+($sSNK;_FBku zm89B}tpzL-x{dPS-IAjwyL*t7N%7~2E)9OsWJJWHc|}BNa5Xwdx(j7i7AmZhs?#zi z5{y$uQdx?O8x3>+5MR05HwUa-YZa*|UVLOb`T)KHk|~Gmwx8MfBUtM|afuM$0wb7m zR+_lU9=W~Y$uNlxt&(@&1;6t!r69A|W%;k3-%SzLlBzc0 z`b?Jmo`8{LI=d|I3JDAa|iK*D6=I_3q?%xFSLg1 zI^!pA=K}l1joBBj8aa8XHp^;Lf`9xNa&Cv+twW&$_HAwZfHrVcNUrRccn_ z1+L!z$k@LK28nc1VB|Fbwm$wO;B~yEdww1EUn|s&{-Tu;@$d94BLL(OQYx|aCa|&2WPT{qJzbNU!ep>j){o5=6le6 z>~Amqs+mCuOR2)aB!#sK5fuui7LsO!Qzl)lz?Lm!QoQFWbNIkfdkrn|)YbSu8WwxZ zO{}a~wE2Cu)`a3X+KI#LHm(Mi+}bOB6@N~H2}Y)e*}w8_z^Sx`c?CWvu*2{K#yqGo zx!Cu*+8&tdw!eiKqZIQlJg5Cb^hZ^Zh~Mb0l(4m4hc1mP&>oTdt7eS-bEz8mU~oObme{^%56|ou~EPOSFBa7VpUZC z0gVc<@IUeo~q)&?o zU@=bz-qfWm)&0Qn@W_fc9{wx={&-#8>0xHJ-+Ijl#P&1qB-%*KUU*DCPkKCLzF*#t z0U_vrk1(&Vwy6Vm8@#Th3J5J%5ZWd)G0mifB3onY8dA&%g6Hir5gqMH|hnEBL0VVvl~aJjdljF$-X@a zMg=J-bI?2LGw-8mHVF7Jbsk1K4LgWi7U>~QovGT2*t^U&XF#iDs_E$~G+t;U;tZn_@73Y6x>vU%x` z6?l`$@U4JYYe#|GcI^f+rsy|MdB|`PQunKSKkja4IGtj9G6buN&ZSnYi|ieaf{k5q z@ABM@!S(A6Y}Sv~YJcB;9JeqsM|-fPIZZfOgc*FSzIpEdT=YYT(R(z{(~X&x%6ZM1 zY0(|PepBl4dK*@9n6@`rUMd)K^^0!^?U-1rrB*b?LEZe<5taFp!NoC^lc>}YUy?5FjT9tFmC+%%DYNa+L zWr)zMB%y_6L{S%;dk6bJPO!wmT=wPPK1b$%+ffWcO8;2T+7C28T?{!96{%d`0G~j3 z)6g<%$dC{vAKJ22nY)fnxlD>P_Xb&@>wrG+ZpfQ%RX=R2kd@bH3N*M8=BO zi|Z$Z5e`0NcU5&aN_DST8O@4v3vroq3t<_5hBX;d)*AJgWPb~p=qx4}^Ms6pgyY`) zu z^|u7XSP^~b1)*61r(}zd!JOny@$KviSp>L|jSR!u*1IgKwId5jmAi2`qe%u+XCTwU z;a62_a~Z}TqDJ?6lje5hblv1f1(6U@kWpc)z|&nRBV*UIieQR{Rru*|$L2SzxtL&| z7abeg@xniYhexYoN6zxY{nI^*xKW0Gz8D~}tE>O4iCkpWn8wt4?S`(Ftv?<8vIvbw z(FFd5`p4~#m<(3uv2+pv7uVC$R(iZuhnxFEY{o}BxPg2nYK zzOjuMR`}t3{8z#zfLXy||4JCt|1nv5VFjS#|JEhRLI>(-;Rh~J7gK{as*K1{IJ%7F zoZnXx&Y54ABfp9q!HDWAJlvFFdSC9}J*llUYXFDN8meEa<0}s z8M~X?%iKLB$*-a}G_$rTh;U{M0vc<}N#PVAE1vQdL#9a-`uH3*cbJZ~u9ag-fny$i z8aCs;3E85mgVK&vWM6}FH9o^WI#G!=%YOB#gT`1^VttnSVf4$YKja@-;zARB-`7v< z*imICw^KX73Gq-go6e?w^os0U0HSxH>60JLWhFbDeGT&Z$d3;9NWy;WvICuoZaKMi z=UvTpLDrtssbhiK&A3EuWf6!)>$sUlRcn5?Pk^OCtvApB=6suN42uKN-Xs7u7EjXh zG|>-1Rp>w1KB%sI*b5dGwFbuHNN=|})sR(dekHBL=>I~l@Nao%H=w0q==`3$zP>!I zmgoBoi7ylm<9Fw6s3&T%wJ%>VQmx(H)!iq?ABhdSzitwHlFNGcBW4sc&9DmTThb^qz`diS`xzQT# zhZff!yj2#rS>yfS5?}{inV5BfcZw zF5uh!Z8b#76;GcBDp7^zWtzQ%J;D}es(iWWWQNA{SvyhO`X8oyNL?j8Afn=x(zHct z7)3c%RKTPAyKS0gwVpGLqR2_%EowBpk>rW}MFfsR9>#2aOL!HKZtg$bAOe+#;;w?3*If zQk=HPWSlX7cF?h1PVE1D>LL{K&Ze4d!#Y2qN+^N-`~RG(O^Gjg~EsZbW^ipD9*+uf$K4Cq=H zxnYj(#+^eUa_1nRDkJJH|9$VB>+n4c)jji1MPz$dV4Ojf;)iYjgw#m+4puPdwgLSj zubNnwfz=z1DqFmy@X!!7D}kTo6yBjVFYT`CisjAgjS^cO%|(B2vzWb5PcrnxTK4xu zm?ZZkCy>+)-K8*)fo5JCWa@}^R!iI}a6OA*S&ibX6V zKk0=}K_M7m$#QEMW=_j=4tDXgH{_l5u?oFF?CXKmk73#~&>ha8CH{7jDKT2WoJ&sW zD1wk_C4Q6m{-YEWeAg*gP5`2Yl>4S@DAbob$M?&Gk2@2%+H*H2wu_)XL3fn{D8ljl zh41$!&_(kR($}4zJj3?zH-A0f2$4;9tH|N9XT48P;?coFH~9`z4S_35{xiUZC4&-3 zo3Yt|ee&RI&qBF zW$mPrwbqtHO$6De21%1=8zUX5=uMV*>#k-H>d5vP zz8OPyI|HLGKn`U2i>k8-dUX}5DJ(|Oy>)cK%QOwU>>~+Wn?bp?yFpx?yE;9q{;DTa$CFGK2S&xDNk$24GuzOgK{np ztsuRfjYmLjvhn$}jK3F_+!AtM`LVw=u&FUIGIU6>0@nqZq~REsb}_1w!VB5-wbS#J zYPBNKKJcnu^LTORcjX|sa8KU?rH5RRhfJ&l7@AtLVi|n8R7-?$+OVx!2BrQCD8{a)Kc#rtcWIC2(YYu=0edjgP9sFpp0=(eKUE2*>jc+n@q? zKTY!?h-S?Ms1kNuRAjowlnTQZF=#1S3XPx<()Wc1>r=QN?#W;6OL z2|Y0fxO0y=?Qi#F4?$+-Qpt&J>-JT?;d6ITN&7R`s4l(v17J7rOD3#Mu@anT`A z88>nZmkgV5o2{_IQ^TOFu9g}ImZrc~3yltx&sdaLvM=bAFpUK=XGx*;5U2#%A{^-G zEpT(GF(}NVJNzn$I*!S`&mA<1j#FEw4`lJ|^Ii?VA+!l%tC)`Q6kS&`LD*!rp)SSZ z!fOJa=BWFG0rWJE<~c2SnT{ykD23&sE?h7iTM20!s3!XMY*WJK_oA3FzU zScKW==wTvjelr=iu2>(0OLprW-Pv$m4wZ7v>;gB4M5m0(gOK>_@aIy}t&Y`H8crZ% zbo1L-*2^hdvzq`~_{<=PT=3jZ#UgMI*bQbOCzf~T53X2F9_QJ+KHwwQCpU%g4AGP z7i4m>KYOFyVXw`L5P#h};Q56X@OHZ-P-1qabm)G~GS>9sP0ToSI#43Q5iDCjG6r<1 zyJZa^U&>SXTW+bvJNB5oHW0xNpCGimZgaFJSb^??Uz1|jbXP-h<65N`CgZYX8jM3^ zSJ2tNSxr8>9)`mMi8nHw1aDz_?+ZRuMO@tou|Q9z11zdD#ka!jZfeXi(bGK&_vVQ^ z?b#6fYLRy70Mb9>3LcE``^rMcoxj~!hvBT%&cQK#L#nhF)C)iw(B$hY1fwak15v#J z-<0Kg=Zh1uk_^yGnO~&Hl|4?14*DFz9!$a(EAbT!5(<}0xUlYlC%`_JfofaWqfWNEfhlbLb2Ds@#m_oKXUJ0 zdSUbdO-BOnM!b2U2o3t3AQ&HGTzjL}LBTpwM2|gf3<(USB~4unKD6^_G>?@N%R2V zE+a}P6(vB@x|W>|ol!d5vws)e>m=0+2Y~#n1%kb=NXlT+^$#v9N z0Lt8wQ#?o)_j$PRavtm~z!aRPQ85^H^}u0bjlfDm(!3xG(oMQY?(DW6m1QdXq-PG; z7jW?rNj(vW&SZZ>B^q=2mU!8NLql4|nTI;pSkw9gbip(A^U<9DVj%Sjd-T0)ldwku z!O)$tFvVGRJnSI!t*v+U;QlSXfMu%J>v5B@Rq<`V$DQ>YTCkc=so?hUx&dda4;A1r z>~5vZ0E0M|B&lv|71*mTuRX`GB3G>9RzF7}+2HIgGrV-?p|bN%&4si|xxb+z1S}F2 zOBQ37uO?>1n_T3UF8nYp?uWnU&+53X|N94hR8WunjZ{}VH({S=x7sRbdLq7vyftJ? z2@;dF{)x|0nI%sYQ|%pe)%r zxP>}6S+ylPH{St~1KGov%?}z^A&&&(B(s+ngv{wKZ_L(*D^+nzoie`$NZ_*#zQ@&T zeLY@LZ5;akVZ}L=Qc=fIphsO^5%YJ0FQWW3*3|ahxk16yr=ZgTqunNMFFko^CZVSh zlk<_(ZLf{~ks&04%zz`tNla=O_`5r6W>d-%mdkEryHLIgIZyrq88$=4=Im4xR_}|) zZ!?V3+6QZ7$+wYJ=>nqKQ2L_gKw%=9`ds2Mdo6`avM-uO$tdP}7Jandkx0}XQhkn# zzq9uFBxvJ^#%sW$s)6J+j5 zXmAN{4mTo60nJnc2C6XtOBsVbJYc5&a0nZ|e?0yj+kThaCezk^Cm!F<|A=cu`uO@u zMai;5H6<@WD$n?-1{?Pzr2mF?F||EI+58#(N9dB2U*+$o$gl7(T>0jTu!?94mCA7^eb%}7cOyZN?nfVx+L$x~x>^tyJj$vmKZOXBKkU?mdopygE`0+rPi zx3F#q)PBC|6M{n@2|m%_24@G{?ql$@S=PPaEh1sG9v zxo35;K!!nAr&^P|c$6z+&vUa@eX|Uw&nednN1SCQSFNx={#kvzFb``4ixf3m zIY=2lKDmS2WGQx#gfP0BOAD4i?UoNdWtRz&Q=#>Y75@;X*z^@rxbLVa`YnIz{oaTE zNGmThd0`N_?*0!a>=f<^TOdF{&|-km!E9iB4IUs0KsvY|y6}%EN>L%XAjjOs+WGAJ z=wAmEmK)JGoI&Uq$`1%&(sh$n^lmT{o9pDd>t(CQ;o9Sr;gFtdZ>-qZg7jbc*P~uh_&U$wOO;{P3h!F3|a}dH-WoGGsXGBvB2c7p<>_CnJAYP}_#gD0t)$ z$Is_In%83bCJkJDij^-Lbnh)JKexs8f3E|dDy=BUEES;}7{*+oxV&iNODhNv#y<$} z=-mY})V@*#j#N6^A*B940E$3$zfmk;3ReX3DO;=d*_(!|f4FL$#0mL1ToWidl)O|S z_mi9mELAQ#S-D7+a2+=an87R;9t|U~1&sgF{`AZ#ZsOL+=sb67R?kPP;SQrDJP#F^ zsr<9}0#5FYl#3;3$mekh_XV=g`LVN$408Oz1ZU^F@kv7gMcyAWTE+yQfcY<&di4?0 z09J)>xHkZoQg!{E*RBSy?JCKOX7n%2$6 z-dzz8T10-8&ZG00yi<2%x`4@L8oj$ZXP|WgZ7E%-(h>@kqIJqt!{ou4J@Anf#HcEw zPSv)TmeUHAmeK2Am3|mkp+~W?)6eVg;c7e2H48x zBw;iPnvFX(a}Y+nn8^W#;6K4qA&N3hg$HYE=n|Dy)1^$6Gxud`0!yZ0d*p;(03ud^ zy^hvb&{_%?^-|c8>2fAn_!5YCX`?Ov6`*x_BAqZdP7`m!E4|c0ttvHBo2}NJT1HQs ze_rYk1e$5HO|)A}>0a7uufbmK{SDV?ndJ&?hXXVWWefy|nb5Neb%C#pK9tl%P-U{v z%DOV=mf@tF5qHo|q4_JBR-PLXOPn6TUrQ#9e83Sw*iIv zU^kn1C|EKWK_mS%Ah;Pks|+@@OxM8{T4o@Zf(mvI z55b=nM5d)6kW5m_Lx%`#@%0J~At8s1=`iJf)}P0CE6_pa-@`H5WIHbP7t4>QJLNX9vAkd8^)UWbAP6$@LZXWxAVbOYkgCYh!Pi4lzTy1%B>Pf9ZYnAH}3- z*{;*nGg_ZWZvV-oB*dF(WQ0^x71UW+hk8Cp_g2sc=tD&+CHpenk8FnaqFX;|TH%e* z9ifj@(1+=xs1s>xxwM`XyvIu)rw0VwCz$GAQ(yL@$J9)4{viA{r49G#c+Z$S3LaiI z8H1fq(Zeb|M4x7oLLr4te=>z$^SG9N2w2ERGL4D=I9HuNqS6>W3ax}f`>ts|P^Zvm z@RHI@6xXbm9v9ry(J7RMY_2a`aPR71XW4B1S$a}He-4?~NS8>v_Z&;WYl>KnqBJ7-hpw*<(4p-DB;Erm4B)LPDS{#kCnL(dCt zzl#E4aVwa$czprcYdPwIDCcme_C!|1U))PSuuI$zk*W(Ap#uWp$Ho58;-{sE*^$YJ zfcvRRKNF?1B4(sbe>9@m?fS5nel8lSJLrFy&YLbuYc7$Di~9RZ6dwe@uT*+bv?gxR zf2UDHLuJLEg$yM9E&WcA_+R7?)37(a^as(%yhwk9vCtzREf&@5r9ab0gl1l{v<@{6 zC3O?M!(VOl{tcWYFh zcWyW`&qG3pOe@HR0(&Pf@bG-DEH=)i05VspTrF}nH!FPJEICoc3S)q%V+;_aFop)l zP;Po#SxD2ff0q4{T+T}wqs1MJ(W0uHR%OPB;l?2?$s`KN)CwvpIWi|N=M^e1V@wxw zhcbE=o-@%8PA~qV;Cea8wH_!IqWp_Sb&NfdNz}9rhH)r2Br^t) zMeQA%TY4kA4{q7j(jMtJ*xS>w>)_TMT^(L-L2JjGxOJj&ZV-)ggVi{5yFFtT>@y74 zJf{=@f2D8cEh09yg6#A&72XCLgRGuD?B$3Jh}mU9;ruBh4ewxD7AzgZW*I&BN(>mh ziz!$}F_R7^NNhzIC6VZOw|xa*NB`8Izi`@_wbT62%UAIpm3#SWG=pW%ix>j~;()!P z=|~#* zs~lrgJ~te{KY{96l8>ex)n>uuGMb%`c#snwpktC*Tn4EfgILng;xZ@8J7YPjGNU7z ziy8fhkvX(Gk4lucz zopwj%<+s`80do~2D`Ae3vs%C2n@KP&f1Tw*W`gvc{0^aDj8k(=qot>B`xmPR?nWM%F_Tp@8f$^zMC-x zxq5eR4y{vI3_c*+I&2E>TUd_fzE&@Pkna^rKrwaahT_Qipb*^GDr(jJ{9!?Jf23IL z(A^If6~w*; z?}1Z(f$4(T18(_hnK5l-&KgXmo>nd-3e?K(mCc5>6~3tQ)BGjdE37LV)Q^&pwQ#S) z&+u1NlKHDJYC|%1Na3%+nyEu^jPYK6&d&RoKPnRF@-yfpj11b3Z`tb@e>%>eq_``W zHjyW%v=QIIjMQf2l5wjwh-GwmTwut$YYW7S)B^oRCLq)v5C#Y+jB#TgxNhmo8p)ig z+m?O7x>V%vtNgs^JCwARHbhpo8tiRe{t^FJ)aIYKNc@@Cy2(NO%_oXe2h_a_mDEVt zmb7j{8H0tCIim0{RsMyjf5xg%)u5J6>nIZ!1*crg#_ZLsWwQbZRQGHCjX?b^(~`4- z%8a=}HZ#K!NGa0IY^23L=>CEKsPgamPfQ#BAATw`rjrHMokCmE$m&;$>$>FdWOl&m z)`l3}takOU{5O^V!Y`N18@mT#Hk8i4BUNORx;`YLf13b*mCvaBe-8<>i!%lf^-2;U z9Xu^Lie6DxK3T%#A{V~ncqJJ#j^vgU*fE*tQzR9Izl^818it9apbd#{E7lZ_VRf}E zc~xnS$S$5Fa)vkpeqLJ|acM0jlw*p5vTxcoxin9j54VyQ6lcuBR|hLNBB)YOqvR9U z!GXe8h=^BOD85uIf0M*0GA*2n7=9$tiDqrej<}AS5rg&?cv&o6pi1XUOT5%!|GH4f zvaj?*$t>7b&`TGoQk8_MWDe?v2r}Dt(=V&+RUEinS|JRG@uWH{KKj7Hj+!Oxo*$h3 zJSiyE3UmxBOJT8wLQ9;~a_QJ0+H$+Y7xq%5dSM}87BbO_f7fWu3%N;ZkQ#*^Fy;8l z+=R>08U>@C^*y3XHwO(!x~UB1eKROeJu9R4i#yRqn*t8KOlnf8LRwpLV^InvOY4y& z6Y0aoAta#nWk$@|ua--OGHHW!xhjPv3`wq-h()h-g$Rf$X%kb&Wa>o&%jl;Juf;h@YL`0DJV={S3<~|Q zxVKlNt>PnLnaimuw=2>%bOF+Krp5q#4}8Z1N3?_qAS?S%)arm{Ww3y0Sj8X=>X^3N zqTq|)7_lk>iEJQee_T8ouuaPZ z`ZGo<5HsR>A7m?9YOlD%ISXt11#1V2EoPx>=owC%+R@3XD;+F;=(T8c8;0RJ zTsm&wf4E6n@v_B&nSvZcHW#06QG>Wc4M@NZjXq_R6tyGE%uPgmQ2BjdC;x_^K7e<&Sro+Qon7}Z6ij>=e%vr_NLQ=+o& zBpJok>#>>@t9yzoIjkHJE78hf09L;KB)w^jj*Zi;(XexzZjXje(A)F$&QZE+l#Y+n z`=Vi2$nPAb_di1SF@@cJ_apQ%rsI6t?-IX1$@BzBhvht-IL`O`<;uJelNOBA7;pvZ zfB49mXR!WQo}M^PexS)v&gcE|!8|>kr>}-xBWE7K{@1Mi2C+ZCIZxkg5`fhJ{k9ES z?Q&jg{rY^Kz9*250O|V{Qa~U%CqezPdlGEt!}O!OX%T>bVgb8HsA8Oc79FMkJ{1BQ zAj1lz_A7b%#c`?Pf$=T5(=0B&}8~QNxNwRw*HCGxKs7 zAbuqb0wZTm!A@E!voDKNVzcs90B98$d1mpu$?pVH>>OjYdz|h7=c8OvnalIse-rG> z^TJ7MQ)h{-eY_~oi=$1-J+wg3^YM~AU$kfB%yWKA6u<1KR)jRN^V))`t?f_yozaju za%E*q=!xg(Q{=;$gM(CgBtI%caf_(Rsq{@aD+#S}=pC z86ka~*GGN4VU#aFW&hkLem=}?e|vn~F~*%Z>oir1(1J)V;P~B;pF%#~KE~a%?9Q`R zT%aOCGZYoCbw1uX$~|Kog$!cB?q~!dDf0Qo*L&^G+IB- z%c7$kALW4)e5h-jQveUupWrMkF~&y@j`9uT{Dx>3B5#~;1W8xjD8D&0f6BK2KH7bP zZxi%s6BzdKTl4((Xp?-8aO}B$ceSl^VLKn+QQT7@lRQFm{BB3JY*{801(`8^XP)m0 zD?Wbj7{5On_W1Gh19`qL&mS4*kHL?eO-i0WS*?JlPt9MR=TBSiCFAu3oJ*WezdvZZ zSy&eKQ%>+G2tl=09#H+Rf3Rl+Zi1CZ#ESIpy09nYSNtA9DI^G;;Ll9Z5|JT@L8pS6 z=LDaMhSef9kKYv$QmRE_E9?E9x+#R7EG1O<>7Jl@f=`e0)6s|@lKP$XQ0bTR{H&FQ zqg^6St}cX+CEqrS#MdXVu^sKs^EdCN)gfU|nuEu;t&|cN=jWpWf4BaikH05EkAG0a z`{60><}kwSr&av3l#hRYOk3;XuMV}FV=&DU*-9CmLvT+ z+WizQMWlnqEBL#Bo<24v@d&Bg{c`sRFGPy!hJDXGw0(p%#G{63F=LblwcdY3eAs2Vm zpQhd8QdM++1Q6AEX;GK+F4-R9ZGBt;ETo9?DCrv0D+1IDFD2JwEAD ztgpk0jFnYAjJJ(@@>0vEgx;*>?T$KtwXGVHwg{EYV4k~Ae-(8Mq(-WYZ0p$a#PooH1&29;1t$_t9$S2(58GNS8RjOP4xdqRX7GP!mS( zwXWr~Th0}t^{$I4?CPWqt{rr_D@Dz&!?e*gOjo$xOPgE|Qj5EaTHR}@&3zZOyYHqB z_w%$_-a=dCx6@YnYt$*fK-=U$L01^rp)ZLX{|8V@2MEVi07E4e007D}b)$q0%WLwQzAecs$;-Nd zASxmv2qLK4kS~#nq5^hlp^Wh%1BQZAKtXf}4pBfw6cmwp&P}qWT{hR>FFo(vkMniU z{hxF9eEi_U02Ygt0^2UTZ1s{$s=JNge?~JFs`gh0d#dZJgLbsfiWrV%$9z#cWYT!t zjF?8kq{&_*;S2Vf!HtPzG*RvEF(L`GzPc~$iyD1Ci)C~-H!lhd7@Lg7h!G1np548{3_1!t0yE`k(y=0q zK|2;q#^YwpX>6fwMt8(ipwh-oMr2;Z4jPg3t-iFjiEVP5Wj8W^l0Y%930Vneg%uYl z%W`q6JIRq+8;=~^6f>R1wX0ice^UuBBdtAFI2o4_6~UJ^kg?F#!|# zYr2j}n9N@@1>7~fuMD#_D5w%BpwLtNrqnEG8-Ir6ou2E2f_VZH!ltvzf8c{mpVs8; z#;m70j=`}S=A%Yn>Zr&LhjZ?R7!(;@XXOpGy-LRkte_4{1m@;F!7*B7==^LD=cSdP zjHE!>@hvj2=j%8b%Xsz_e=^rfuoNB3(?h2TOd@BOcPH#f(lJ*VPOpv?Y41)Ks62d1 zDEI_jNFx|D6O@q)DJR1``t~a28pcUU-Hb zr2w4G3E7TSV_>3VOTsau3RY9(%sAca@`GltA}bxT)ik1H!5XYBe?kY&r90kZSdnDh zJd5IBgehf8^CirA2(Y&E2`TajRIr|su8#*Igb3yNQi%@vQ|Qug0WPFt3=sf32k5POw*CcHVT&e?km<5rfT#*GFEMn@M&;M?CEXnO;5$&MkH%LTOA|6AF?7MP{_m z+0sTkD8^Y27Oe4f``K{+ti76n(*d037~VYDfUe=5dU+nO0CJFdc)it$BU zO%5G8uizR=3aYQ|=4MC7SFo%Y*Wx+?$Cw=WD(3RQ4HU_UDH>}?$Qz?#n3%XpD7%RuqWbW)B70MGJctpNfASD{o7H++vZu$4o1xXFA?ww{ zbWYj1)>vOM11H((N3yjpV{pzA1&`%9C|O8;qTz8oAyBw>%}U=A6;BG(jxNlRaoAGy zw1!8qhjHlOwzNr^`JZaog`d$CAt|9Y>il#($06H=pOe~P#7@x2FSr@lgz zs*2f8e^n2IOcmXU-YNne%Gnnv>GNc2HZc_ZisGIydd#(P!m?R4 zivLigs3CR?D@I^FJ=eFEUL)RNUX(Or!8C~c7a#Nf0~EDxE0#HPRnWs=+UPC{6t^VV zf1XabIi-5(-Jyy?!mSgUnpB~XV_Ytcm>sjoUU_Xrk!*W}#(=%bsJCjxKxz05sY_ z@G}Yk3Dc=EH=Dtv!#Ajku0+&I@M|%_fIyc`EM&DL*fHD9e%b4a#j?E+)M{6be`;Ty zj5$`+JbiP}?32xoXwpP8m%f=<^e{tJxy7oghoq4Pa<`(&N{~HO^qjLoRa7tJT!Sk7 zSsgN9G|@;e$Q&I@$3Q{O#Il^uu=VVmiBk!-Mt8Jk<70+$)=(E;&_XY3YUUYE+mq35 zGroo+M7UH)O&>)Tg_BG8Jq8ffe>0TcVv^EJOj3He0dUd!GEAWt_X^@_X}^c)tlGf( z_1=OVsHoe4Y4tl$>Dz%B-ohQ2HH10$f&WTSjk)Q4h1*FdNq1jYJA(Ovw%S2VOJTtX z>H@W0L#UVR!W51#ZKi)IoH&G~gQ!g5)U9Z$OQB^e8fZ@i{VD?~tQIWX*I2w);@?C{sP+OFC4_IfZtP}LT~3FqJG8Qta_S@ zd{Vkvu5N`^@ADRYnG%9GerFINTpiWH}CfKwRa=su8@xYMtWNUdJgtNAiV;Y+Vvf0(n9&Vd3lf?a|2 zyyMZp2p%U3hp@Z!sUbWwglALO>sM2F-mChR0km_#io86qt3HtRNa-qlkvtm4D=F+N z{ry3=vh!+J>Fd(tHxEt;zf#bwmKV7$3^W(rBK+m*wvRirDL}s&QrJB?i6Atd4)_cB zfJ^^8jKAEEf28nXf9Xdl4z_0iFG!aQePzN$eu?%GQ4sL##QTAOx3DYVE)$-Pf-<3Y z6gGQOqPX1C)iER{rbH=aO-fALiUh}@oulAayfieU^rNVS(J z)mTl^2~@tAe^!b)l2(foB|TZJmNY8*#H->Iagn%6(yPU_l3p*iOM0^ymh>U9SJJ)W zd9fc5FN&8WzhAt?)OC&PM)w4HMnSamqf#jJo|Dn53@=S?$ zm$)mKmy~z{%+m=xH=vS$SKv$n;7+))4h8h&FQj*-2UijZ-vAYN5vYCyO)N(-fvhgV zm>{B<=vszJt~HqKx&S4vAWB_fl({a&6!&VByDvb6JBX?7UQBaugx76LJ#Go~?*9Q$ zO9u!}1dt)a<&)icU4Pq312GVW|5&xPuGV_G@op77bzQ0`Ma3II6cj;0@G{*_x6$l@ zWLq!9K8SDOg$Q2w06vsBTNM!*$jtot=1)l8KVIJeY+_#EvERRF+`CN~+)~_fcio`v z*4!Y8Ql(|4lGuxq7O`$fleEN}9cjIwL&2@>M%LYJOKqvn8>I&WVJ`e@>#4mHnuhzUW>Zd%6?zt$4SI~lcxhl zC4TO|$3j~w-G4Q7M%K!ZiRsf{m&+`_EmNcWDpuKnz~ahZga7dAl|W%-^~!;R$uf$l zI4EIk3?ryIC}TXYW(0;0`IS)TrpP}tglbN4Rm~aBg2TZCuXEfjpuhoC)~>H#Ftz@S z>Dn`9pMU{c7+4fO0Z>Z^2t=Mc0&4*P0OtV!08mQ<1d~V*7L&|-M}HA1L$(|qvP}`9 z6jDcE$(EPEf?NsMWp)>mXxB>G$Z3wYX%eT2l*V%1)^uAZjamt$qeSWzyLHo~Y15=< z+Qx3$rdOKYhok&&0FWRF%4wrdA7*Ff&CHwk{`bE(eC0czzD`8jMNZJgbLWP4J>EL1 zrBCT*rZv%;&bG!{(|=Ze!pLc^VVUu~mC-S7>p5L>bWDzGPCPxXr%ySBywjS7eiGK;*?i?^3SIg!6H8!T(g4QQ%tWV0x-GTxc>x`MRw2YvQwFLXi(-2*! zpH1fqj&WM*)ss%^jQh*xx>$V^%w2Z&j!JV31wR!8-t%AmCUa;)Y-AU<8!|LS2%021Y5tmW3yZsi6 zH<#N!hAI1YOn3Won&Sv+4!2kBB?os0>2|tcxyat=z9bOEGV>NELSSm<+>3@EO`so2dTfRpG`DsAVrtljgQiju@ zLi;Ew$mLtxrwweRuSZebVg~sWWptaT7 z4VV)J7hC9B-cNaEhxy8v@MbAw(nN(FFn>3184{8gUtj=V_*gGP(WQby4xL6c6(%y8 z3!VL#8W`a1&e9}n@)*R^Im^+5^aGq99C`xc8L2Ne1WWY>>Fx9mmi@ts)>Sv|Ef~2B zXN7kvbe@6II43cH)FLy+yI?xkdQd-GTC)hTvjO{VdXGXsOz-7Xj=I4e57Lj&0e_C+ zAH@(u#l-zKg!>k+E-Qjf-cLWyx_m%Td}$9YvGPN_@+qVd*Q)5cI$TrLpP-Mh>_<6k zysd!BC`cEXVf*Q0Y(UgdE^PYo5;;FDXeF@IGwN8mf~#|e4$?Ec!zTJEQCEM2VQr*k z8Kzplz+)oH5+-jyAK;GP8!A zSKV>V#gDFTsa`xXt|1Uc3i&PSgl%D=JEwjW^F5vD0l6G!z|~>y03#T)?a;@!*(vAwmBFr?|-8vt&)jK z!?QG5DNz%WTH4H>vbUDpIEl_O19mVOmP_8bVz-kCsYEtX_1Ovb zj+KS444hDHKJfNHwq&hQ29#QGU>;3P1P+D_kVfmXiA~y=y{YGCGep{s6iwTA*ge*SZSH9K;{Gc1^NWT z@{>XOdHMwf#oVVr5e4%x1I%+r&CEE*Qu8V$tmu5mm?%|OR}{L++~wCzm$RIp(7a-4 zuUW|Jw)8G^n5G$)e{tS^RU&@6hKR!RWWQzWdvkgoyCMKT%caX_=zlus#?;Tc<%xwM zJewbXg?^RAe+_wMk=A>m=A@r~0~#Z6hmh`q^b!Z`=jde+%aR2&hxQ>`<7bXmDk+!% ze+$*7qh)2_^In4P`ktr>O8z!|UZGd$clcz~c=h>Hr~z=--z_oAmq3RVC-fGwS&sJu z1-B|M{Jx;us@*hy_J0o)`U?9cH0RlBfikrIP@yl=AE9!T32=5+P-i$<+jN!7%+FG| z&!5nrvTOegUa57UpZ*+hJA>p2ga0MxsK21E^Uo8!3b{#gdjViLw zDj?{%qL2b=fc}>G8S&udSPszN3la#if5csvd~EsYTU;zzV}C*VHpkOH)4w1W41*h( zbOQ8mmEBsPEo@ObLg z93$OR0O5mpOQ~kA@~zx=sm%~6;&yQdTLO>ECg3w&$V;K3Rxm$Mx#E3$#)AP`Y5ET>GF+K7Ons=3AJy$clM99)e@XPVK;DaXeI#{!nwqZB>eS#gwM4Gc z+UQjZ#jeu&%Mv~fw1GC37KsP2q#o_EXrxGY9xc+Ai=@m@d~k~Hixz2HYVc*MpSt<2 z$TixLN>0<8uJ7@5d0V_2pQVkF7Vq{{!dIm33#3Ft_}G2)yjM)!d^I{4d6C{M=mM$U zf6tOXHRy?rH1$Si=)u8jv@ewuk!jjLMIV6_5a7L3EjF@9Y$D=$k&f1(*4c#dO{r8e z(v+H}hoI~Q3P)vOmA?n#aMPBi8^%0|sj#w@`5rIzh zQ!tSbr|=trz3XA)gH(s7qlZqzSnr3Gf1k$a6s-R${PJy>^CsjPC{3BNQR^|!p8G=V zW%6Eb%Fa-3=o*=+gf}`(Z);pdp9v&gz7C z*}oPKd5d(eNI!)2=dpg8p7eD2T72>A&r(Oc#kZr8Zl0T=_oWh8{A0N9vXFPxf7T*> z@F=#&(1(wn_rW1wit#=dQbR@h$qP^^nkv#IIQ!Y8pN*0_p744iBi`tUFE&yiA8GoT zkhf%^=TflG&)tw(+<*mIXdUgu%{CxCbK8#JowN2@0SO=M^#R!H6?`{v`CUe5FJ?Sw zyCTwGaWuckZrbd*cS97n*}$HSe?&KIhht~x@pz>vsk20GwyCM?#|=m*99Q+xzrHv4AaMp^qVvE1qqxlUZ9nHsoy&~b@Pi; zbSxIXMqg&hucX*B)AZGlZ<_wNNMB2M8@&ts^)Xsm@z<+UH@_KAm7Vk&fBsM1e8*q} zC%twfR;0hW%s)2}p$g))S6XPbY}b-1+g56mZJ4@bdpGTo?Oxg^+aw*3?Jyme?QuE* z>k?^{mF+lLvMtd2WXr!S_d)uoY)gJo;16IEvvuH(Z&YlEF~4MtgVERw{mtdnP$YGQ zLX5QNiKcH()87Fhz);gaf8Zxp{{AQY07^yr*Rp8*MAN@Z(f^s9xq-6?{;3ChGh2NJ z5h72l13;O%#FbbiB|~{IS`?nriNJPIz>*(s7WJjAq^m9+Eguv+(JTTuX-2FlipGi# z>xbCfU@qZdcZ!5pBz#h2ErNo*n((t*0g$h4ur7sb6@-iGc#L$?z0#Uu)Xh){P%^cBVZ7wOS8%9=n+@X6!d z0j(RK8a`Hw2l5S1eVl@8los!kPhF(7@ijcCcL%PBB!<=~MKK)m$2=`T0Eu_#R=NXI zH=h{{`4iqLa>{Mue;U1>Y8Hp4#o-&#kU!*$UlB)|#anUx3hcmxfhe0Q0&^ZadKv7! zbC8#@-C);d@h~h3LJ*D3;sie9@`|I)B2%(-WLk{fsNVS{3NYNyg}nR)ue=tyK_MEW zlVVgDvV8=;&C^-g=a&0t>2a|ceQr0P|8{y#_POQ$^YjVXUgwtkpQOvO&n@>kdb!Un z_g|vV%RaZ<|2lm`_POQ$>nH%Z&n^1GBO19cTkgk1x9oGv{j_*W>RF15CZPW_^!Tj4^T{T!k9N#2;RO7iBy{i;&QUo$Tz+ znfE#GOwP=ozrTJ1Sc55We021t`blp}YoGj;%5y1uf!uNG{2U zc(N@c!)lX%wI3y3q;Kp>H=-52V;i3A7>>%(TwkwPYfo4kR?qm|#C16kwWU$vA^EoB z6NQd%bM%nHh`l&oU46V-HClA2e;$PpNH>BcwCIK7lE8cr+NK@KmP_V`PLn)Sf8 zDbz3|Fu5lWrRhrFHeWUO$ci zK|;QNMYU4B-{xxq=2gh0MJ_>CzIO%I2C`dQ0}U%zLwzhCD9eXj_~Pck%ya+e`Xnf; z1j}62O+JMJ**YJ(mx~=JE+{p9z;saHl6M^@O>uaJ(zL_pbbfg95AEkMI{P zQrP_-wu~WeK)#DjC~RTz1jWl>>J%&u_A8uVH0UJwtHj+O|MgSsVS$&sSO#aG3~yMr6^X${<>0 zQle|Lj@}|34Nrzqkl>m>`@k4<9*UKfc&#)tI4W!!rdA{x!$&L15^Z=Vs_fD^%wvtV z4GjkS3$YfV7A6gE;|0p94J`((b7fR@!QilW^Ak`-SZ_W1@A@+aUavpvf)AYzv|)!q z4VaP^lJwjZ|A#8&wqkPDwLy5?V^3lqxn2iXkLKsKp3v z)lw?h02Q#9dcl*)Nir~*8P80hEVZkB@JF-{`qDZ}%ic=6I zm%FuV~79YG9K?LnO!Z^jy-SC}sEQ=yjZJve> zhLEVZ{w5(ZoQbyviJ%i_b(}#LLsvu9$Wy~P3VYSGP5*j5?A-{?qgO|N4=ynDG-o(t zyH$VDmx5O`yrrVG6j*nCTSp%*G6XD#7Z}brjGFxGwwDl7VfqSEf=l#B~g+q=IW=b5Z!M<&ucX9YRuprWo1}sWhaiRi-Z__Z`V_?vU@yo}2(i zFdD}DxXjRbRIlL*gGOwBofG%{2tGu67-Ps#wKfT;#rvpD6d}xUOenjnl!5P12Z*7q zw!2cYy^fD{X!wL7>>Y4wID{LA*tcu0;U>}9^SSiBWz#PcPvS>06_ak^GaXZyW_ZJ^ z=DocXy5lp)=I}XgE9)%v+M=maz{HH12<9-a6nE%cQa3OVKU(g8u^m{zqPmtPawHNk zWR7wCpHO$PtcdUx!|AF`o4_oZJa38m07T<0{69Jm_wcovhi@1zG{6_Cwr^I%)O|y^ zYO*wZw@?12&fKV)RzYoo?-}~1q;zC-qb%&GVmhg#?!i<=i!>0|LdgHijnpTlpo4>E zJ*c*hO|z2vk8U1+%7RKMp{yWG^+$Y3922QYvQ(DNhU(N_cuU6$Dzv>0=5xNOeup?c zNo$t6oTaTgSFPlQTvG0VOE^gcRX<`ALi8~FK&RITk_PxKQN!sc(4M3F**1D|x$G9+ z+(ut+b|{%kY$001J2kwwjltaQEs*i>3w*#Zn|y(f7#?GPoIb8Gtu3 z6l++mVQpv&_A5%Vi@5j`T=XJZe@D@ehm?9h2I}XB_@(}4kR&~YHrm3(cAUT?`X&;S z^aR@e0Z>Z|2MApz`fv6F008!r5R-0yTcB1zlqZ!0#k7KfkdSS=y&hcen!76`8u=i8 z2484mW8w=xfFH^@+q=`!9=6HN?9Tr;yF0V{>-UeJ0FZ%A0-r7~^SKXVk(SPwS{9eZ zQbn8-OIociE7X)VHCfZj4Ci&GFlsOiR;iIJRaxoGXw(dGxk43#&53m>S)=uTq|9>^ zv)ObhvxHhb=kS$=qTqy4rO7l7nJURDW4f$LID5`?1J}a&-2B3PE?H*h;zu740{(*5 z&`a#OtS|ymO_x%VPRj~QUFfu4XL{-O9v0OB=uyFEst^tz2VT!z4g<2#lRmMJ`j5ZM7xZ*AM>%2rvSpe(=Ig+{%mm`qu9D$$nuwfAVtg)wU1D1@Oa-0qBDX0)tL}srdd3AKVr| zu!4652w2`d0fsD36d(v8?%fw448z=eKw!vV=GK+cg<@B0$2aAJ0j^IF7?!T;tpbe1 z;%>zpHr&Lcv2JbrpgXly(as#!?0ARvZ(9Tyw9dPLBI6nnUO(iIoc8&R_JI|#ma!w& zAcT?E9qq-QVS__Pcf=Ea+u?_rKX*`?w+8~YR^5P4}7sOkF z9^v<)Wd+*~+BRU@A=_f}TNYc7Hi#bHH2iMhXaTblw9&-j;qmcz7z^KOLL_{r36tEL z;@)&98f?OhrwP%oz<(i#LEKIdh93L_^e1MUFzdwUAZf=#X!!zWeTi=n`C^CXA?1cg z9Q>gxKI!0TcYM;pGp_iegD<(`iw>T3#itznkvl%+;5k=(+QA>Y9v3?#|5p?&G^NcjljeZ~g^f18y^%J9)Cd^>|=NijQzL5oim< zlYvkmuB9`wBAK$LhSPsqg44Xt6)qW^7KbGx93STK5hI&60&Pi2F?cADNrlr=CM*jZ zLoF@q;~O@SuHKr*C$ow|6UMLxJIZx~e9?Ss^Ty`ZaDtBpPPoAs zJW(yH$N4T<;S2#yPeoF?lu&qNOqVhlu1EGea_2aYXH89ap^|@L(Gh7>iYStriu4X0 z;c?T2YBH74HPSR?ZZItAvUReitVH^z=C?2`C}=rO7dV=-77=68sE%uDQcf{6cFi77 zhpm&o07Yne+0~cxtd5_*)sP&)@HC}ize=e%9 z#0xj(imzo}crbrYe63*c7RTYjDhiU1%Z6##t_Qui5BGbp8h+wH(WFEnJTC%R=pic) zGR)Vxl-NNqUE8ZG40R2ST?P81rl{~1FV5^e_8Pg(x$FW_6(mpMLKFJ(*W5>({#DW*Q zoCKbj>CJyx?{us_MShE|Mu(*hn_8mTv>ROv%chy0TJ@sGvER$E`JN~loQ0D;f|Gu7 zWz6bozzKCPos?s8CQ8kPJJs7yy@Vnhlrv7zVopqhG;I`3KjYvJ7U3Q84o~47P9z6E zG=+Dj6AqqAR72W5+#J*NkpVf)wXA6$(M~T?7#4pzGDBrUrkr3p#=R| z)ud>4j>mb%X;#lOggUgWlJKjV=@*U0pX+Y^LM!$sbuI0$Ut`oayK%Cl!#hQF;YI3S zNlkxGOJ@1oTeu+m*V=%8d-n8%+f;C_H)8o;-_FbP`qm5+m$!#sUS3~az?6UCnEncp zrIoW1GYikZ3^9(J+*73a_E2=I+@yTZzO&nHEt<<$te&=8HKwBfgjml-JG}$lI=92@ z4z$bd>F@tEaq6laA2^*uV=f+<_SYxIZ2lu1)15Avq4jrv%t_4M85a1jrdBbg?&OBO z?w|X;yr%s=o>F|n{!ss|&@a-Ga?>Xp`Tt1WnzOgFxn}QvF`pdqH+A0O6M<{R?*8aI zm|Fe9w=3;hq}hV*9V%VFm_Nouyj`+eMRi@5yyP88PxBQT&vbZ!!)Ky@-W>G*(aL2R zRrh*#Vd#O=-{*82{_t)2Q0>X_c9z?Dty^;DE4*(gK1oaCZ038&qGr3{1N+o{&GW)S zR_RrFeoeXT93w9WTJ=k2WmwRsyZJjz~raN31L?*7OZAKosxIC_$obw$Vto-F(G};KG84}n`sf{TwU%2wY3la+hh1Mo zOk8XAThu>BWiTy&7qj>ZQ^xVsJ)L}CZf)Xc&#mN8-WF1DX4>(>Q`45ejQ0=-ZM4zk z5L6XanSS@s%!u+}4U5KdXED2N1@ELz7MFYE%Vl0?GTZp&z)8j5fxVV0(M{Jk-YLI# zD7^e3@2_*4y-s~w)iFmb?A6PWbS|JU~kQ>A{z z<#_KpR{ZVn&J%Zz?8+_T3iQ3CX&uXK`8Ms6*u@`B+O_xJ&pYz;K_cUp%GV7lwA_XQ7h?=EiYO%jA1g4LkyE%H;C7 zPBKh~SnewUyI}=DY{&pStppCf@lAGIC^PvppTgt~O9f-}d3G+pn zHcEm8XU#X20bkb$bjx(06{tEH6~T)57MRE&F1=%5uthQcpfXUA=H!#g@?du$?pR}B zus~7Bs}5H9dx4fr4CvY|pq0)*@1y!kP7|oePX>Iq6EG0Z0Tmgcm@-Wp?51-IwPcVl z;ju?iv_==K$b6Bx4B|cu^pKur092#|ys(EK0ARQEYY^^{l%|QCuAjeEkp14?q>9h4@!6nkbbJ&fg5yu+?X8=+3#!VJj5-STn zB^PM!VxULuP~>AB87AvHdVm8Jad0aGgFcF?DbAA>SBOrobXEl`gda@_j7wDOI$XgD zA?Lm7ffXYk=VyXqs+K2Iu@*=nEBNf4$p*_rnW}xj5^+A_U=u*+w%i1|eiP93x+o@C zhJh7Ihbe;@`y&KjUXYgX_u)8xbzqD+z9U^n!xP?doXqyT+|nlWGZ zf)zbpp(6wDM6oe2=%E;$(+^UFIrO3?4Q`17gDC*02i4ujCr@1I$qFe_?ym&yj++j) RhRK)Bhkwq`;Yh)md4RrtR%sNbw?F7+wVN@9oT5^KvyxHCChVwDz29-_(~6`YI}kOI zb^sOR2x~T#ZdIJ>Rf@`fWMMck8Z~Fk7!ymA-q=^Hp5eZ$X)}%69EWv#a)HMQBo+#f z36F86&q=PH!h1hfL>Ol{cXt`zy7GFq%Eq79O{IA-u!cH*(wj1wN}D2M4WT6o(qxrW zEB}r}@-+r4&wIr;xO0(AI@=cYWb?m21~K;0A^-T{gEQnxfCN&@N(#Zq#RXZY87O0m z;t0Wp7M~;I&<5qU1T+?pjfUye_TixR_f>$?rT1}+*6u;9Gn0cXM{`4grB6(W zyBDpHwv$&%UIzt(jZMh^e3jZ{I@kE301olpI{yj0+;ZWogmFjno1+v zMW;sMFf7sR(_fhVjl~QhEC!kN?S1GnQ8&fuPw9z{5eDbyAAsT&CyjpUf=RK)X*YhW zwf>HLeXJxlm0mFjo>lB@ni;CUkg)*JRligsG*5>@wN*UJvbS&X^}x zn@^UJmJ90QY)d4OLkji-vg;l*>VWz+eRS?0G0Bg!HhZc?2Wz}S3kMg^_@+65nA?uo zkBwh=aDQVGH8XVK>zh0u{gJbev&iTnS1h3p(pF$?`aC^rhJj2lK`5&HHV#_?kJb zGMSi_SJ(*5xg|k>>Dvgt0#5hN#b8)>x5&pj4Wy_c7=p-XQ=>p*vRykohWoq+vj1uk znu?X~2=n2?uaB_*+Lr;+&434q#3lhbD9@_k1Te#nwy}MM^TTHt=B7p23Hvw*C##@< z$6AnfJ+Ri~X^`J(;3$v;d?J5C5U~zQwBA9#k|t1Y#>7ZrY#I@2J`|kfQ=Sxhc*rH| z{varkusu6HJ$Ca6x^v$ZA6sX;#AVi73(ebp61*3)LCF6yToc0LMMm{D%k+S_eJ<3CTZgjVEpgE=i5mX z0o|kFlPT7$0gM?NfN_Wk=T=zCXFhtz_fJrXuKFQ#uaUzUCWj%}$pz$g05t#ar{-1o z#ZYh6o&A&s>>NA5>#m&gf?X>M)bj>Q7YY}AR8nPC<0CJ`QolY!M*@PhNF4%4$5nFf z4{VxA-;8{~$A&>%Yo@~y4|O}IqYemSgP7Sy?d}}+e`ng%{?_hDUhCm`I`hP=rda|n zVWx~(i&}Q|fj^k+l$Y30zv6ME&AX7HTjy~frLaX)QgCMmQq3_qKEcRyY7nk_fa}Z$ ztrwMjNeJ|A@3=y7o^6LMBj@LkTyHm7pK(Vxq%M=uXr;M7{wWsrG~I1ki5OQ6#92Ih%Quj|8Z|qUzyy6 zUf%s*-I*73e%AX}cTI5r+ZsgVR1jr6I*hnu%*rSWqzs(T0KD7A4U}76 z)lH{eBF=pRy0q*o<*iM4@ojv65`y{#TKm=!5+7PwC>z)to^he4BI9`z60IYcFC8XC zZ<65C;OV<=0*{u4*i@nn?J4m6_p_jauY-;RSof^%yxer|uPQvyzOCP1x_-}6H;)~6 zkQH$^6A(lu&B^q)5vwSypjGu5P`Y#UdzM%Uhuh>vlisoS7c?a}|1hah-vo_i`e5;! z93hb``au;ow+t;(wB3-=ww(pgb`ZrEODvFvfEiQvXaSX6+A0ooWdEx3u-oBf9V((3iwRO z7r|AqsNjl$(oTUVvOf^E%G%WX=xJnm>@^c!%RBGy7j<>%w26$G5`?s89=$6leu-z; zm&YocPl2@2EDw6AVuSU&r>cR{&34@7`cLYzqnX)TU_5wibwZ+NC5dMyxz3f!>0(Y zJDdZUg*VS5udu>$bd~P>Zq^r)bO{ndzlaMiO5{7vEWb3Jf#FOpb7ZDmmnP?5x?`TX z@_zlHn)+{T;BtNeJ1Kdp2+u!?dDx4`{9omcB_-%HYs2n5W-t74WV76()dbBN+P)HN zEpCJy82#5rQM+vTjIbX*7<~F)AB_%L*_LL*fW-7b@ATWT1AoUpajnr9aJ19 zmY}jSdf+bZ;V~9%$rJ-wJ3!DTQ3``rU@M~E-kH$kdWfBiS8QL&(56OM&g*O73qNi( zRjq8{%`~n?-iv!fKL>JDO7S4!aujA}t+u6;A0sxCv_hy~Y2Pbe53I*A1qHMYgSCj0z6O zJ!z}o>nI#-@4ZvRP|M!GqkTNYb7Y)$DPWBF3NCjNU-395FoDOuM6T+OSEwNQn3C`D z-I}Tw$^1)2!XX+o@sZp^B4*!UJ=|lZi63u~M4Q%rQE`2}*SW$b)?||O1ay`#&Xjc! z0RB3AaS%X&szV$SLIsGT@24^$5Z8p%ECKsnE92`h{xp^i(i3o%;W{mjAQmWf(6O8A zf7uXY$J^4o{w}0hV)1am8s1awoz0g%hOx4-7 zx8o@8k%dNJ(lA#*fC+}@0ENA#RLfdZB|fY9dXBb;(hk%{m~8J)QQ7CO5zQ4|)Jo4g z67cMld~VvYe6F!2OjfYz?+gy}S~<7gU@;?FfiET@6~z&q*ec+5vd;KI!tU4``&reW zL3}KkDT;2%n{ph5*uxMj0bNmy2YRohzP+3!P=Z6JA*Crjvb+#p4RTQ=sJAbk@>dP^ zV+h!#Ct4IB`es)P;U!P5lzZCHBH#Q(kD*pgWrlx&qj1p`4KY(+c*Kf7$j5nW^lOB#@PafVap`&1;j9^+4;EDO%G9G4gK zBzrL7D#M1;*$YefD2I-+LH{qgzvY8#|K=-X`LN578mTYqDhU}$>9W&VOs z*wW$@o?Vfqr4R0v4Yo_zlb?HKOFS zU@WY7^A8Y{P)qU9gAz52zB8JHL`Ef!)aK7P)8dct2GxC*y2eQV4gSRoLzW*ovb>hR zb0w+7w?v6Q5x1@S@t%$TP0Wiu2czDS*s8^HFl3HOkm{zwCL7#4wWP6AyUGp_WB8t8 zon>`pPm(j}2I7<SUzI=fltEbSR`iSoE1*F3pH4`ax^yEo<-pi;Os;iXcNrWfCGP^Jmp935cN;!T8bve@Qljm z>3ySDAULgN1!F~X7`sAjokd_;kBL99gBC2yjO+ zEqO##8mjsq`|9xpkae&q&F=J#A}#1%b%i3jK-lptc_O$uVki1KJ?Y=ulf*D$sa)HC z=vNki?1aP~%#31<#s+6US0>wX5}nI zhec(KhqxFhhq%8hS?5p|OZ02EJsNPTf!r5KKQB>C#3||j4cr3JZ%iiKUXDCHr!!{g z=xPxc@U28V8&DpX-UCYz*k~2e)q?lRg<{o%1r;+U)q^{v&abJ9&nc6a32ft(Yk}`j ztiQP@yEKf@Nu3F;yo9O})Roh9P08j7@%ftn7U1y;`mard4+5 zB62wpg$Py_YvQ!PE2HpuC}3el-F3g{*&a z3q{eLy6Xz|F+aMrn8R8IW2NZu{tgsyc(>*TdV79@?V$jG(O+Iz2rnDBc|1cK8gR$Y zthvVTI;(eYhOdjapHe=9KI`|2i;{VIfvnR6`qof=4a=(BTZkev78+6GJW**Z!|yvS zes)T%U573C~Hm`&XJzE=2t7tFIZM`!^r^&z;W?dOj-N+a10^>wV(l~2naa?s; zTxU{z;Go|Ve!vUjUrZ$B#mWH)NSdxi;dWa-@w)-$wBOpo`DEG<;C#W||W}&@z>C`*j9V|`ai)z*2PG`TZt6T{a zj!#m3`Vz5R9wJkNMsJ1`fSCS2mHnizWDT!G0Ukp$%*_^X1=k=%mmO$^_0_d|kc8ek4_DZwomL(>GGtfEB)Wy&cfZ@9-T|hAq&fx;XR$$_yl6iogcR{u zm9g)axS6=_IL4=wQXf|EkzO68$Ms4*JXAt8gFxLCibt^C#C|I|v|U{%A;+NaBX-Yn z`HAmP*x5Ux@@Wkpxest$F~K8v0wlb9$3gHoPU(RMt+!BfjH?`8>KMK|!{28+fAk%6 zWdfyaD;Dr~`aJHn0}HIf^Y9*keGvm6!t?o%;je)wm`Dm$fN?YtdPI7S=Y23+15L{J zr;n3MYg`<50nW^`BM$&M(+PQ7@p7Lvn(kE`cmoNS7UkQmfvXQBs_unhdfM){k`Ho! zHL0#a6}Uzs=(bu;jnBAu>}%LzU3+{sDa6~)q_|pW1~*Is5J(~!lWvX(NpK_$=3Rbn zej|)%uR0imC;D5qF7p}kdg(-e{8#o!D_}?Fa<&{!5#8^b(dQl40ES%O_S(k8Z$?Hs z;~ee=^2*5S#A*gzEJgBkXyn*|;BBH97OOmvaZ>&U&RfU0P(?jgLPyFzybR2)7wG`d zkkwi) zJ^sn7D-;I;%VS+>JLjS6a2bmmL^z^IZTokqBEWpG=9{ zZ@<^lIYqt3hPZgAFLVv6uGt}XhW&^JN!ZUQ|IO5fq;G|b|H@nr{(q!`hDI8ss7%C$ zL2}q02v(8fb2+LAD>BvnEL8L(UXN0um^QCuG@s}4!hCn@Pqn>MNXS;$oza~}dDz>J zx3WkVLJ22a;m4TGOz)iZO;Era%n#Tl)2s7~3%B<{6mR!X`g^oa>z#8i)szD%MBe?uxDud2It3SKV>?7XSimsnk#5p|TaeZ7of*wH>E{djABdP7#qXq- z7iLK+F>>2{EYrg>)K^JAP;>L@gIShuGpaElqp)%cGY2UGfX1E;7jaP6|2dI@cYG%4 zr`K1dRDGg3CuY~h+s&b2*C>xNR_n>ftWSwQDO(V&fXn=Iz`58^tosmz)h73w%~rVOFitWa9sSsrnbp|iY8z20EdnnHIxEX6||k-KWaxqmyo?2Yd?Cu$q4)Qn8~hf0=Lw#TAuOs(*CwL085Qn9qZxg=)ntN*hVHrYCF3cuI2CJk7zS2a%yTNifAL{2M>vhQxo?2 zfu8%hd1$q{Sf0+SPq8pOTIzC&9%Ju9Rc1U9&yjGazlHEDaxY|nnS7rATYCW_NA&U? zN!7-zF#DXu0}k4pjN05yu#>x8o#Jx7|Fk=%OR((ti%UVKWQNH>+JhH#ziW1hD=rk* zD#1j?WuGxd-8VqG@n_Lqj^i=VBOg@GLePo0oHX9P*e7qBzIs1lzyp;}L3tP1 zl5;OiHG&-flQ;rYznH%~hz>fuJ!n*H#O)3NM3`3Z9H|VFfS-_xHRCuLjoIS9wT!F0 zJ-kV3w>7EguDzoBPxW>Rra0#+Y?;Woi7qJ1kpxTad?O?^=1cG@GeNtRZRi8_l-1CS z`(#oF<;VYR(l(gHIYH$y2=rj5m3QL{HQgbW9O!TU*jGj!bFazIL?MYnJEvELf}=I5 zTA6EhkHVTa0U#laMQ6!wT;4Tm4_gN$lp?l~w37UJeMInp}P>2%3b^Pv_E1wcwh zI$`G-I~h!*k^k!)POFjjRQMq+MiE@Woq$h3Dt8A%*8xj1q#x?x%D+o3`s*)JOj2oD7-R4Z*QKknE3S9x z8yA8NsVl&>T`a;qPP9b7l{gF&2x9t5iVUdV-yOC12zJnqe5#5wx0so2I)@8xb$uPG zNmv=X)TjpHG(H!$6Xp>)*S}r538R99Y{Pofv}pAFlUK;xi{E43^->z1srWR=J$8N! z4jRu;EAiLG9R$5#{gR){5?o^W^!t140^f=vCVSs@vK7#`-fv`P*WV|>nX610pK08< z>r#{r)fR?2pNG}8o)?uvX#UJI)YM5CG@0E8s1lEV`rom|kBmf={%h!o|26a=lNJbX z6gkBS7e{-p$-Vubn$(l_IbwS02j;+6h2Q5F7P?Du2N!r;Ql$M>S7Frf*r3M`!bvWU zbTgl2p}E<*fv?`N8=B71Dk03J=K@EEQ^|GY*NoHaB~(}_ zx`Su{onY@5(Owc#f`!=H`+_#I<0#PTT9kxp4Ig;Y4*Zi>!ehJ3AiGpwSGd<{Q7Ddh z8jZ(NQ*Nsz5Mu_F_~rtIK$YnxRsOcP-XzNZ)r|)zZYfkLFE8jK)LV-oH{?#)EM%gW zV^O7T z0Kmc1`!7m_~ zJl!{Cb80G#fuJa1K3>!bT@5&ww_VSVYIh_R#~;If$43z`T4-@R=a1Px7r@*tdBOTw zj-VzI{klG5NP!tNEo#~KLk(n`6CMgiinc1-i79z$SlM+eaorY!WDll+m6%i+5_6Mc zf#5j#MYBbY)Z#rd21gtgo3y@c(zQVYaIYKI%y2oVzbPWm;IE#Cw$8O$fV}v}S%QDA zkwxW{fa#Goh1O|+=CF3h3DWNw+L^ly?BNQ7DY~Eca}5nt^>p#3cc9s3iDub0nh`Wy z?oH|dW8-HG@d5E@U>NWPjnhTjr7C${Iwj#;F2G@++N=Y2tjV;z57RNgE|kXQC)1h- zx8ODU>kk};J8KiSUx5jSsA_XPou1OH8=R~q9{`r>VnHkU6A=!zNOH8IGJoO!+bQys zDS2-H(7+Jfe+&zf#;OSV=83I|^M;0`Kv*#4%%O7x>@BgGMU*@ajUvY>cYw^`*jm@+ z{LZ2lr{OTMoQXn2XUsK-l72oysi9vgV4Sux^1GsW6zTV;?p#J06EvSVyUq5$f4kq< z{Chq5Z?I%ZW}6&uL+f&0uCW#^LyL!Ac2*QRII5TDGfZ43YpXyS^9%6HBqqog$Sal3 zJjI$J+@}ja9Xp)Bnbk+pi=*ZAHN}8q@g$$g<6_4?ej&Rw)I%w(%jgGlS5dTHN`9(^<}Hg zD$PbZX+X>;$v4NjGJxMDvVBiIam$cP-;h0YqQ{YgxYn-g&!}lHgaG3^B=>Z!D*7tp zu19e;r`u*+@4h41Da&NZv$qy-i6#DdI)EVvmKO*PvIKz-9E5R*k#|`$zJza8QJ)Q{ zf~Vl+I=8oaq)K!lL7Et5ycH;m&LKIvC|z4FH5bo|>#Kg5z+Jy*8Ifai}5A#%@)TgPRaC4f>Qk&} z4WciN&V(T~u^xBgH=iP(#nd;_@L&`7FUF>Qm-;hOljv(!74f&if;fz2Mg=b%^8$^C zna!2I&iCz&9I5ckX-5mVoAwz~)_&b#&k$e+pp=U2q-OjkS@yZ8ly1$2Vh?}yF0={P zPd3O@g{0L=eT-Dm9?imeUP(!As&DJ_D=5lwQ=3)XWXg)12CoB=-g-HX9RSXgL;yo0 z?$7z8Sy9w?DvA^u`Fnl7r_J&_jJ7claq*2l9E~#iJIWAPXuAHfmF3-4YjFYhOXkNJ zVz8BS_4KCUe68n{cPOTTuD<#H&?*|ayPR2-eJ2U0j$#P!>fhd(LXM>b_0^Gm27$;s ze#JTrkdpb*ws{iJ1jprw#ta&Lz6OjSJhJgmwIaVo!K}znCdX>y!=@@V_=VLZlF&@t z!{_emFt$Xar#gSZi_S5Sn#7tBp`eSwPf73&Dsh52J3bXLqWA`QLoVjU35Q3S4%|Zl zR2x4wGu^K--%q2y=+yDfT*Ktnh#24Sm86n`1p@vJRT|!$B3zs6OWxGN9<}T-XX>1; zxAt4#T(-D3XwskNhJZ6Gvd?3raBu$`W+c(+$2E{_E_;yghgs~U1&XO6$%47BLJF4O zXKZLVTr6kc$Ee0WUBU0cw+uAe!djN=dvD*scic%t)0Jp*1& zhjKqEK+U~w93c<~m_Oh;HX{|zgz=>@(45=Ynh{k#3xlfg!k z>hsq90wPe(!NljYbnuL6s`Z!wQSL8|(A*@M8K>`nPJ<9Hb^ zB6o?#^9zP>3hp0>JAite*3N?Rm>nJ1Lpq4)eqSe8KM_f(0DB?k8DNN6(3 zU#>-{0}3~vYJ7iIwC?Zbh@aJ8kfIvY%RveZltThMN73#Ew}jOwVw+|vU5u-wMoo9C zO(tv#&5`DOhlzunPV?M~qlM|K74x4cBC_AC?2GNw_-Uv&QtPOj(7L4NtVh$`J%xci zioGVvj5s|GY886)(}g`4WS3_%%PrF(O|s-n&-SdfbssL`!Gi7Hrz_r$IO@*$1fYbQ zgdp6?(IUaNPaH7}0%U|9X8HFonsJRrVwfmf*o1;k0+PwV^i%f7U{LAayu`!x*FmhN za(#a^@Idw9)jN)K!=sFC(G)ZNaYY169*IJ_ouY9>W8tC>S&MEp$+7 zy)NFumpuE>=7T@`j}8pa)MGpJaZoG(Ex3AzzH>gUU^eyWp*N2Fx+9*4k~BU;lQ1PG zj4)_JlelzJ==t*7=n2(}B4^^bqqcKFcJ7yVzbH_CWK?{eXdpKm);4|o{aM=M&`E$=_~PVi2>>L zKTN_x&qA)@ak=v=0Hl5H6~?LOfO@1+fu5(sB|VWID)w?%{m+n#7bLaszEJ#;$HMdt z9qP0gk)hIYvE1!jseA^FGTyK=i4eTPjTL$R;6FywMBZBPlh2ar9!8wlj1sinLF-1g zR5}hLq>pb1|AC-WcF!38e*kFv|9n<$etuB=xE%B=PUs}iVFl>m;BiWUqRIxYh7}L&2w@{SS-t(zUp`wLWAyO=PEE=Ekvn@YS*K@($=i zBkTMaH<&cAk${idNy0KZ8xh}u;eAl*tstdM8DYnM5N;bDa`AB+(8>DqX+mj17R2xBp45UES|H*#GHb_%Nc{xWs7l{0pqmiBIPe@r=X%Y-h<-Ceo;4I>isrw1Hd zZd*VjT`H9gxbf{b3krEKNAaV$k>SzK(gzv}>;byq##WEhzTN^@B4+VJvW>y|U}}AQ z4^Bdz9%QKBWCy+h$I?L@ffl{fLLL41Tx|M+NjjRf(`KjHG4^y=x3l z!!-{*v7_^6MiJOC@C$WV=hz9J^Y^lK9#tzs6}-

Gn4F+B~IivciU9^t0j-Mgao3 zSDF_?f~c=V=QJRSDTG0SibzjML$_?2eqZ;J*7Sv$*0SQ|ck$fX&LMyXFj}UH(!X;; zB_rKmM-taavzEk&gLSiCiBQajx$z%gBZY2MWvC{Hu6xguR`}SPCYt=dRq%rvBj{Fm zC((mn$ribN^qcyB1%X3(k|%E_DUER~AaFfd`ka)HnDr+6$D@YQOxx6KM*(1%3K(cN)g#u>Nj zSe+9sTUSkMGjfMgDtJR@vD1d)`pbSW-0<1e-=u}RsMD+k{l0hwcY_*KZ6iTiEY zvhB)Rb+_>O`_G{!9hoB`cHmH^`y16;w=svR7eT_-3lxcF;^GA1TX?&*pZ^>PO=rAR zf>Bg{MSwttyH_=OVpF`QmjK>AoqcfNU(>W7vLGI)=JN~Wip|HV<;xk6!nw-e%NfZ| zzTG*4uw&~&^A}>E>0cIw_Jv-|Eb%GzDo(dt3%-#DqGwPwTVxB|6EnQ;jGl@ua``AFlDZP;dPLtPI}=%iz-tv8 z0Wsw+|0e=GQ7YrS|6^cT|7SaRiKzV3V^_ao_ zLY3Jnp<0O6yE&KIx6-5V@Xf^n02@G2n5}2Z;SiD4L{RAFnq$Q#yt1)MDoHmEC6mX1 zS^rhw8mZJk9tiETa5*ryrCn&Ev?`7mQWz*vQE!SAF{D@b7IGpKrj^_PC2Cpj!8E{W zvFzy&O4Z-Exr$Z*YH4e|imE`&n<$L-_Bju=Axiik+hBtA4XNDik(G_;6^mQ3bT)Y% z6x=a+LKFZbjyb;`MRk~Dbxyc&L; z8*}!9&j0wewMM#O`c#7HJ|+Gh5%3~W10b6sdmCg3G_v+@H>n*c5H`f+7%{TeSrzt89GYJqm>j-!*dReeu&KHubhzjSy_c~BJcbaFtZWAB}~KP3%*u{zHi zVSUi2H8EsuSb3l7_T1hP!$xTtb{3|ZZNAJ{&Ko;#>^^43b7`eE;`87q81Jp;dZfC< z$BD`h-*j=%uTpG8Me6dF zrH%)Bw-a0}S41ILo*k2zn6P@?USXtC>pX*tzce7A^JD7^^p7K5kh-HO&2haDTL%2^ zSWQb2B6}e*;x?eKq?CdG7F=wHVY)Lb(kQu1R#1Fx|3?>_%cjNM-xJlAg9kr`!>&;E zTYmHhqHh&qbfO`~w3V;BM(q(_Q-5^!esaBI&QbZ^%N-ZDYft#FTS;%{ zKzlSwZIS%zDi#%DMK>`_vmE^krJL5@PmpT2m26Q`O)VRAL>){MN45|7GTk=q^zLpF zjS(Os=`#On$XI#$A5ewac9Ma}mDxSu^5{#jHC+24a2GbfBJ&Zn8W= zm=l7VE0g^z$3ikyU#ysh8b-PH(&-yZL$JV-of-ZM@~N^#DbQ3Ltlq*5@>WzSNxrRK zYl2VS8r;TT`wLfD_O0dhX9vR#S8rMOuUCRkWZE#OjRi$l*#C7}mgGzZBD%Z=p3z|CaVM$$pyW5-pJJDCToY zO3R5)P(Gnd>6wh9Z$Sr@cMXmClU(h-@5kmiBTNTU-|5vq&Fs!ah|o47kW?SO8uWv> zW$=Ud@@|*9p@Rb=!wl;%>k)kH7fPtcD=gd}^IxN^=Cg>zq^jij!f=1PlT|9jh3K9g zF~Z)B;kb^a0hLmJvON8Ho)foq-oC)&E)b|a^|b}6n!8&AIaousO^VnYzYfuijuEo5 z7IcUMbYD=vec4eZX7;p31NB+T9BOMJp9ZI9$dH1kJsJpEtf@}tL4)_*PxgdOge9_EaR!?wWtBx%*f$IGoR>f3Qf2aT0%+fq=1xVEqRl;UaA2Ncs4B1M1#foI2bj4 znX}t7;-FCLK&;>ZGP}{GxK67$Kz&pO%%J>DBMP_zZsLOmdpDUDp&f8=L>(Kcj+S^jA5dco4-7XN z)h;m#54CEy9)Ch-E7gHP@a@TXl=_%&|iUlIrQzn=LqONBu9FCn`3f8aqvRu=RrJ_RH1^Uf=t z%Ir*({+wEeC??C+u!hCi<5m`RsRO6ti7YaEtY0|U)-QfNsdN{=83K_}m$0Z=ElWyt znvo5=%f<;|hNnL-r#v5ab&S2*yK>~a7m(My$cfd*tff?=?7-j3^|&9H7G*W`)m8M7 zzd0+b)c@`bQN1-^dC$_04tK0{mU5tx_zo;&TWou8F(H_J?O+Y)VLXzmU^> zvL!5+1H?opj`?lAktaOu%N#k4;X;UX5LuO`4UCVO$t+kZBYu`1&6IV@J>0}x1ecuH zlD9U=_lk1TIRMm6DeY2;BJJEE%b0z;UdvH_a3%o)Z^wM&<$zhQpv90@0c+t?W`9kolKUklpX5M&Qw06u=>GPCr5Imvh*% zfI`tI-eneDRQo?m*zD1i;!B>*z4Xioa_-S=cbv-k_#Wg=)b$0@{SK>Mr!_T?H`S-?j;3$4)ITn$`g;J$^TppD)^pRz#^l?XgZ2CW z3g5G^iF*GZYQ}{B|H-fqh=_>)E~=3y3Zg=i75G5E)*a>R9bn~cNW{h5&P(vQ6!WHv zw1-89smtY~JnCQS(=9zM)6>UAi%G-r^LA9_HF0Vp3%JF2P%+E&^afy61yxnAyU;Z{ z$~H5X6?sMoUuOT_tU7i5i%5HI{^@#Hx@zhtP55>r_<3LwusK*SC#%i+gn&iRg z_8UN=rLVp*gT(K~{0X0f_=?~bBbfB`=XrTFn3U!)9n*@Uj$-mr^9PNi<22UJKAK&D z|1@Ck3(Ub;>68;)gIn_Zu{uoVRMhAkIqgBS(v2b2{gf?0xd(1sJfY`56mVy>~^w!wmX_kjW8#?_Nk{}zB9ULo>4fO(vnWfC+pG4>%*KZ?JuCdXu%aZ}q7pC%E50@U9+KQZL5 z!*I`SOtNf$Y$CsRsNaf~yyw^>#X_mCiF&*gr=cBb zoPu7PwX(+Wvl~i(XH|)jj@Cu+rzpJMn4kVvCJ~ReCf08viF$q9;CYnv-96k{G?pf_ zQglN`JiS#vok)~^Z2>41#7LPFgd_xrqNO%DQI|!Qs|nWt`co#BwY$&Wm^6#~)`_1k zpwiR~&z#mtSDuYm(=NoLv$%Y}bTjog$RJ8$j1(s})=}su0b?o8i28-|xu58ipFBml z2`4qZ$BbY5>(i2%wmh!+C}$97?X3LgTQ_{(SaFZvq9YCn@BNz z&h#;4h?5#`&_0()uJ;_rR(Q^eY*=&vu)#EeMeaN1puPv5+iQFg1EC(`_99_5v<1r4D ztc(+-eVWf_np;q$M*H49#{R)eIWCI%R&6F34;h9eNG(XNO5ao2MI8;j}y% zZeA>zX{#$;muhtY{_|;bkk~!U~Ih z2QUO}hk~o?sn;#|Mt$0}4=+BRa703n6>fBm(cesk8Cmugg_wi|BWj}V-VuU9jNH+o zgNYGSKPm>qR&nI(2Gu*})AOBfXf0J~CC50C!3KXu6-qZAG!VMZbmnqL6HWG>o$^sjoSLbQxra@WyKV$+_Qe}t7d)c`bpJG++ zw|9D3>XUH^Wplo~MN%WK18n3HeXoe*jKwVRK!=RMtIr1v z;Py~7;eZl&=^UyumN&CecrGBEat}4?mtZ>@`wPjVK@Z)FZ;05^9kztq;qmbxQIJ4kXTk)) zaVfD^K2x7SB6E!Zz@0p|Fkge*0(0?ogmTX8d=?n{2x)}K2$`bjDmcLg3#wU)i)by? zW^G8rRQKBwjke5zHScinRlE|wo0XyhBc9R52IsKWf4-@=l!yO&+l=K`-7Ib9U~hPy z!cH>H)e6$;m&w^0d`axGqDwBgu`B+L4a`xr#5g%b=0?c41`|lx0O9fiIVaFAsO$Ol zayhm4C9X%hzUf&ctylV$%ntuA$(yo*X`gaVX0$|x{#!YK^cvLmNWPZaTd3&xP7ny% zkn}2AdJkpAgmsh}Q$tY3(2RtO;%R*~8r#ZbSbMR4LaL9Sb6O&Ce(GlO${jtl&`n|D z9;zUQPXCHqTm&t^lk9RlZiiquSY_og^?kgVruz%myd95Fr!V z-$OIXSt?(pxN-M{NjA)j1KKIp(&c2RVjd_}7+CbQfw zTRjg}A0~}Ht_?-@wD0bI-;LQwT?mKywmDZ7*j4>4pR6@UVU3mb?-cbQt~aIG&RBjl zs-4UNtOH3+dAF%U=={qB@qijh4J6K?Et zPLlfPlv<+i>ty5rh;Q>iGFoaq4LyBIZl3L{KGUmqPL~ZCosOl;7w2SxcE}pvK;5|6 zly3JjUsvk|d7L3bFs&;q@_|p?vdU_UzhrS$Fw-_NoEdoIT#-0hKC37!>-i6FaO(es zY97)m4YO<|eqGMrYejC&-IFmc{=P7>qFWX;)}q!&e9-F59o>V+`X>J}%Te0$|A>0W z;7*>m4>udzwr$(C?TzhZqi<~6wv&x*+qP}v?C<}aI_Jeq*K|$4>AGurZe5=U>-0IX z>&2?v81(_Tn1tITYDSF@^Enhl9>e1$iAnX!+&YJVi>1uYEWsZ?o*Vyg+K~%XCxQP(WrdtEpc3sgbpTM_ zI7i6|pDr z{=xGh4O=PrB}pkX@o@A(%GfdU!c<$p#T*mLo^*7@bd4rIJ5eS&&A9VB$EhabJ1^TG z+dke8lOG5I(xMYZ`Xw8+olY0y6M)M0rcr%9tZHa=G0zICN@DQ>0rVASCK4=3OeMSv zD!v+POT0`UZEnP~1ro1?HPLqJ)xx0#Pg^yBJz@S6gmFN~cGvl(#fz4oTs7_Pi^+i_ zZP7<#ukx>i%V;uJJ~WwUW7pgq=>yuT+A5w(J5$1no67e(;mIO5>@`(U0{}+kg)B_8 zs=bfBbmZ{U`xjMpkAcEcEeF7^#ka}2zDU-sBt6yQqw&2p<+6Hb(Hi56S!+bU9AJJv*{ep2vD zG;PVwX@NC)+=6@I6J=nW6_99&4R00FKpUPepXoBVN*|V*C{e7X+Q({6O_^@SlI(9Y z8kRO3WDG5u=vmTjZ4DW89H&vNa;i%H@`{%(|J%tVs;1gDadzF0Jy%}C68|k?Zr!B9 z*lBN4{#6p#SQS-q#Ck&x#xhAOu4mK=Jxf+5E$h8l3-F4mQY^qaS5;Z* z-ddglOueLtXJhJ!%yJGk^-iZ_+qLJ zpTZn+6kq81D@^m(v$VFFI1Q!dtczYBt1xSn9~Q=@h%tsf*hCm%fwfx2u(u=-4|qf=I8WR*%`lsQ ziP!-b?(d_`TdA=^<$@(2c77&FowB0vhswM)fS>lYvjK7B_$<0SiQNzL6T?D721Y*( z9nG=@aWvmJMd%j$Jxp3-L4x99-X-9aGkW}yiPAo*9{^6b1>tDg4zIPFiTqVK$xq1rv1*kaE|~T5-jH#8{g31#^7M_uSsmQvNjyk; zbo|yP0w|uD1)wGrSavi=<;=H>IejRQlac$HMkU2rbq1{8UntI;oJ}*o(bXy{JC*l&^W{Y^}<%Nj1Tk z$(9f2a`BoyZZqxWF=hhmc3ldg+8&Ep%fVCSjopduonggw7@?XulP^JPo+_le`o@z)ofi9U%I z=~YZ3?Jok#3NeQ)U&qUqvoyuEMA?b&Ki=s%;_MTDX+8^>z@TOxb3qw~biG4!)XuQp z=>cVLGcp<{Piu-TqWLFz^P0>R1go1M41xFSn~y%8LZ{~t{iz!z$|ne5qkw!VwuI<6 z*6Bsnap!L>JA;B$u$J09!L&_iGdX<&v1jeDcEWM4&2q97^g9gK1%+zl7nY)PUU9<~ z!B??-0oFH5TEpfNW#V1m;(6-=mlUxm699O$g=ZrFZpn(6h%3n#!U7eFnC1BJzLFB) z-)SER^cpQ~AF(`0^?pNYWsz6(suJg4)Ke+|iTo4!8P8ND$ML1a%4|QMYe@SDDH#d& z)P6SOk~%xdQ?i^t{N0)(baSgQ(Fp*daGXR>=Vt-*#@)>A1Sfz0!iqKtjlY4}1i0v0 zyz)Z|vB+_QIX99Q+NFppI1+3`=qUen8NVELr!SOS8Vq1;{<}WKOhe7HMurM4mg~j5 z%|wM0)r4^=uC{9_OTf*An{G}>6hw}C=H|&8MY~l@u zmW-R8h;dJxjKNqEdGf85(5BrR>lY2A= z-_%9;IglQfHBuO%U)bt|g%1h-OMbL9H{TdFgM^rdBTt~gJ%{*c<;b$D13(ac>}*nJ zo@&y3%13-hUh^Oa$9U1ImdNfGO4bPX$I!c!6e;sRC>z{knTf~G5{#4J7y(vbrq-qWk%J5#0Iv((P!QKa6f#3?;#q$+(teR!nw%kOp&_W`3L^Xw}Dw&e2#l zc{fk56;UyHDpT@XdB?u!*)EdIMT8X1&e>VO;M_QH&MXI5|3xTbET#NTfyi14#+0+t zDS(NC?jbc{yIDjm-=9g^4*f1c;0!ytb~iQ;DSTKoa4ow@d-x3HI`EYcAe(li zjajb0cM*@u*kiU{)jd9yTNeRZLL+Y1&q`L>gx^Jj_B%sh2+%Z1d6xNVmTw5Fw!kd@ z+uT`4r(0=PXUZCNn9$VPo=aj+p${a|eqjB{Mf+k&$GEGV(lWHl#1xy1%5E)1KD$bK z0Z1Tsk4LpTn+b-iy}25uN>wvTfN+B~4r!aC19d7}&hDFchbqZ0;e7I0BK}RNujj9n zY8As>D%ez?Fkng~c1L3e^}<%h%!NhB5ZFmv4qmi`am*+A28lE6Pu4ekBJ8DW?YR4c zPeG`sZYLihHq~K3`oYvnQL$26Ojwnj1AOypgX_ca^06&6f`T8bedVhWj1y>F>d-sg zr9@SeL^T`CHIwyKW*F#~AZd==$aA_zOLRP>>S_&HK0s{HcEDpNQm9u|IZ{W%#*w4} zmN;)dX5OA?I{M$KLje0TCiQd&|g9E!YKD5 z)_8>@<$&L)EoO;WhhvUYgEDDJ8PPVpR_u`RN${}`PnjHc-4^~CwIh;mLF+#KK>Wc> zE|Wkj(OZ@zIa8-8rUq=a=x-F%J+$ozWaVUV@yS!{UWJ)}=^jM1_f&XffEjCb6H?Es zrqQ!sdrLtEHq=DIu@B|%&N$@{wC|>I`>>2EXn@+22x7PaM4p3V5XhXp8gSH8{)yq+VsXB@4DmPLA`4Qc`r2Z>3E&lVsUbpRejKO8Xc|ayAI6YT)d!q zrfQj!sa@T&5KPMxDUd4bZwub#5<;yenI>0~Zx=@R*M{S6d|Z3TAEsEW-w#undSQP7 z0ryg{By3CNOC^`$t=P&xCf<~vRz1}|>Oh+v>rBMi?&+;xKSGs;7Ie~^T>J4C9Ke&G zL&{aTYZk-|Pa*unK});DaF?Y=y73~NA0(lMPUz1G>G;8n^cmm2S>twrpU6ynN~J1! zHD!AXWk^D?nq)%#A^&d%DwIkh3Ku$<4{$Bnqe{R^e!E zD6qaK4g^V5kCJH~Ot$Im{2T}8sS28Gk(>QFg9I7A-=nDns|{X8NjAD%l(zhXxPR+i zsaKZiVQjKRN#@N{`Cm?#slb!NghtaUv~`T@mvslIbq5TcS-15muB2Hb$Zs``b(Pmm z>-keg*068f|SD zm-1~aS@!4?{PuWQ(%MlB?$oG~Y0UBQX_Nz{MC3%JvnoK+x5+GR`cIfTOE7r3_Xi|f z(1x{Bqg$A^m57WLbkEAc&hWkBABmV|cqNS(`o`}NaSI8Lm6{l$b%3paaK-^r1yrc* zQM|lY+je@P=AS7fX6VXPV>UYV77X|5G z5Zow(9=j+q0*H%#H}fpu-HF%`(GEbvHmWK({pqfv^b!p^KiWxjYXL)gZO^yLvY!1#{eH$?|l`7XcETF-V>)m#$Y-KUauf z^b+<*r?&Mks6o?n2JrEvgk?j+9|~S~2U~dq^}6M%or)_T?%jaFi!#+q3>YaIG?m3X z;{>&cQSHf29MCWgsDR$xyTZCe^~uYQ{iM+(@1tKCpyDxFoeVGQeW)9uT349)IDK!3 zsmbQfykCr7P5@r7$@N8b6KjN-vAfM%rz7|bveQ2v`Y|)B{2rfRwNw!r&1%%b*lWIy z+l$A~f%;yYgfY6h_(-1nXB!C4(VAsEqS^YKh9a{{_uW8t$M^?gPsm-J}^#E z_uO7hC+?sb1Iw^TeS$QC`8qwrX85eSYLIFX93I>dS^)6QIMdwX$;6F>2_T&M6o;jL zp&W3|Bd8rLlV}iSVY9G7Lo?V2_E`JVM(`rw^}DX9)wk0Q5GJ%esB@}u@C>dZ-byh| zBFz*MoXGGiF}DG?h!UZ#FN`;~1bd*pAWflMa5AtD-+Ut8Ymf#=b`potx5YLf&A%ZwGv$|Si7 z(0)Re$(F;{=Dhtq1%wCl0ijfk+T4jd3}^2Z$Q?L=1_lkM&nIax-Yo%VqZk6#Et%n& z0S9_V?yja0r@wi$m!-JJM2G=aQ@nYectR_Ln*dN6gmAR8L^dIf-bxR>0A)c$?#Ug@ zVlrY8#6Wp4wiP3OZ1@T=EBaaz(jrxuLG%?*J+=c#K7CorpL5*eKWVYiw<>#a7zv(N zO^RpkPM=xn!2?&s^7NCTu~a+aiGwc^_4Rnyqj!-l3-f+;6mkOx5@ynO(YF&u{yH5a z0{{W^{1E}V-LFeZcLzkH=SpZ_y1l&>1S=X`+@!Ai#KmNT?5ox%_;tp9`=F^;&%fxn zpX4I|M!d6`y%-8hequbo4%INVKruc+o|NwhsZB0<&TBCe}v2@CyI^$jlCsTrwmBFnzIMofx8PeKa1Av-Nj zlLtw2SI?rq_1(xc%<3sF%)ZrYIf>Xe7@jPt9BWoU%bg~g+6=1f;eW00nOrbo#*(mjYHCr_?8!#my~|i(0+2j{Uo+J%%rvg+%X5* z4!HCVyg~`t!LBG+X&89L&@QkGXe};GQ^moDsqI%U>#?IVQc53nUukdN%ij?m+%#Fv z*$`n_GFdWHC(!1z-ZhRjEV&n1wt#7VUXkgkW9Q5V;)k`XOO{*>9)xi@4}6zxlm4Ck zPC4Eq^0qB+yLg@{^VCgieuns3B!x#NzSr6q_VlhP>I4gzH4BI}DTx^r5(>Dyhc;-w znWU^i-9$N49%O1eIWyBV{K>wROpYjgCc5b?os*f=l~V;o)CB3G-E7LA7Rg3;!)~m@8(whM7Es zwF%4mEd^gMI<<|N60&DB)!+6-+8@EFbvGs4UP0$q5NEO<7?$NeaVcvz#eXkrXV;$H zPjNrI8gWTpphtwY&md>1N7T|$T^i@CM$EWZ;`6{q__Yr(^B!<>OPXT5%ICC%;4jl=T77^3T z0A$3`@j>`8*wH>vT`en;tj&YA60zbZw2F#^jE;rfTJ}-rcajHddN|Q>g}o$TX~osy`RPP=q0j_f1g@QgXPlY@q1Jh?-r4bB@~25Cj@AmJph{QR^Ya<4r(z*{F~ z=-nsVQY2K`sKEl*CR=AMEDIZD88T(wtjZ_((xf$>SIA*D#|jjfGw84wta;Nk03w~g zI(#i!OQDMse#AO065D@_gm?pQx@{rBjMat|bA$6MfVPq;S5zT5IKK&|LFZXuA zqj(kJK8jP}^ZYm?74hlPtf)m?w!rUP42d;f3Xx1K3raV-*P;*>hmzjAkyfcbEfZVM zJuLMoUQ0*&6p_BS@>f9!k`6HtNO_~}(0Jkg|_f8#- z!m%Jn^dX^G#qp$LnY0H)6WbFMeDL2eCjALoKs@6Ai81!~l3d5bNgZQ?f zTgufN#)|A&im|)K13cIGc?~(RCQ+E^pAR%xa6I`LxD$=mcOf z@v4=zb!i^TVJ(CsX?zlhk2fs((qe>+8Y#o60peO430M?7HT|g( zcVfD7@Ob>SyV%mu6}7g*=p&J}hJTo9hFn2o9Jy}QCXfAbC}WgpkeMXs7QNle)Z`PI zaU4~Uz`idIpQPmpq$?{N(5Wj_y%UX!5{=9|{BFV$P&Z}ciIVj<`zLyWb*T2wf|8o* zOk|-Qs_aJayia$?0k_jr6b#)1ONJ!Z;{~4NDyZJ6id*&SjT|kFCPH^!Q8MlaAE-*_ zNR!vqG}YZ6i}M3h>ENPmCHxC(#1( z7}2c0*RmVw1@+)M+n8t~gQT#+Yg3>|OA<9`Ynl5)ftY4g0EGA!t?E*;j*jRcB>mr~ z4f=etCrR1X;V_euWY<6p_AK%IoHB+bS8vl&LZ-5Q*QvzmfHq zZ>>MgWVvSa-wRV7cJ8O%vi&R+@2I&X=r`1P1;x8lhOpY4Z58^@Wm+--yBQ{&>GOL- zIJm(euOw?WYjBR|f~ue4(%k0i{lp`gI1~mF;g{;-0_gdf@ z*Q?M9wQ1ZdZwvrK|IY39={n^R^(zI|p=Px@ff|e_NEBug4N0vK!L9-J_DIiI7e5Pr z^Sce&Prjs*$mOY7Rf3V+?poBWP^ki{PIa+)OK%4)E`rV zxx7V^Qy14sZ;Dc2jD|ccyt5(5Zp~;Rg7N_IwB&EZ1jv&GoxT!1H7k>pY>Aa{$&oHg z`ykhr&GpvCL?|Xb;O}(ErzQAl=DZgICR);;Y=xkO<~chKzvaND<3}Wy~d>W0L>Q| z2-}wM73&w!hC@XZojB#$EnGzb4HAp3FWovUq|4f%x4KLKUg6YfVpokO|+JO^JSzIZEji>8`uBI~^1wYq9L`S;8*pu)y zTN!cO5)p_vO7vsEgglr#ee5WTiRh}7f0zLYNA)eB;_ z63%8_pGF-Dnkx@eu`dPn7Z1~vMk@*nIMW6HtpQX86HiyI1H>8W+4Y50C=@;!{F)Za-A9+#^G9aiAu<-#DuLR>+Vm6|21n$W?isfhl9KnurA)AcxJ* zIl$Iy_sl)Ewu1nV)Wiqc6M8RZ-OvG~x&%#S9h{L)QE&q|7$gk|*5h2|^bAvwHm@~P zRY4`*Kw4vB$#(Yqt2+Rd{vNGl*GA$FksiM6%fjfp!BEgA!3EEIq!j+(-cS%{(44@I z+KuDSMAy-fyJ3j}-3vV|_^?zVAkrrzw!3@QF<9e~z*m55Kjm<#D3z(4wCoyq=E3Z+5+o%*c82=9Dn;-mR<5ukCVG}$pfS0a zGXdRdAa-u4>?Cv7*|^+XrkWQGzzvT;h$l5u$vMI>9ouxPD^S{5-qvWAprQ>*&?#SpxdJ-SE&Kk2hn zy8lWI>IKrj;hSj%<-bXl8V%B!q_?jcj{k-hy&J%P3vb%^Qfyv08YOw$Qv~F2IOcFi z%I^ScI`VdU!El-&Werf%8X2asF7Tsk7{xt!qlOL$mCejuXC38O9pJ8y|M>$P50HUy zhcG}uKWP7NB@OTY;fq3kG@GPwLy>1x#YEu`vmQ=(0K)g*ckkeaAkM(C2nZ)rJS}8_IMTxIBXH|>190=4 zD%!`?a-E!T;jSVXMP%ETk{4ij&~`Q)&DZieRx)rLfXGfwvm9#PvZgMyX7+TpsoXa= z4Qq583C|0#1W{@tX6kUwtN40v^oyycsiqPP<(V!5f5bA~B0ZGZ{CU#4q>RznC|I_) z7I8BytRK$$wnfi79s*Phn%|0s_u9`zwWi2#=GE5F_sk({H`bq&(QCDy^X97O7~dVV zjm7hN0FhFY>Zr6d?l;%A(Z~&Ew$4)I4_&92>1%LB&Iz>(85AY z;VB`o-(qZZj2^wUL9TY=pDZ9{|L{Rg0eiHZxKR(>6I;B}xV?kpOG_~18o5kM9>bF; zvl22sk@FP)d1Mu!iPBd8n%hqPUH?B{lf+vBfKDaUjH};FB`hI|=TD}i4-Df(W|+FB zCt09JV@dNOy}=s3AS(U4&Ca^LI#IkDbY6-0Iby5ba=y`Wp2hYzhwTE5+|7W}HwTbp z9OzNwQYpe;mIt%rDX*W89h~mxYK3jmf-7Q*)B9kUP?Evo3sn(X81NyML>*eVx+RUlBPA+sDViBwk z7*Dl;#i5JP1+7=3^WriySJy*Ub#&|n!0jaOtW}%-grYW2t+eT{wz)iu1P?+?*78D4 z?m5`fN!6Uv7J4JU)^8tW`D-N9QO%RdtYTA8+bXhEgPf34?k{g{4Tq?|%C$Kz+U{9j z8RcUt*R}dKX*G74+BGaNebZUV{DCm;@U(5XnJYWyX(1gNvxR#br(Qa6)^hmsfX#aR zk+}yFE?Rp5@=+8!0rVoYMrk4eHt6+-pV!|CZFOXL81z;&nOQ!ct!B%hYyCe z$8CC^HadwLAC?`$JgYtvu%$b7`9Y=%pqA!R6Z96z- zLhL(4qE89OG&)oMjo05P>;5?Mp60` zPWdJ5-2@SE9T{-ytDRE{6sX)|Y1X;+C@K>yY^}14Y!088xh~SPfbJG?M1tBi?E>u?zdU>G{5+S>|$%tGJB zQ*X_vOy)g;@fbPm0a(Zh7zTzw2Ct$FB6Gz7!tmK*tZ2h588F#jY1p`jSJMli*7u-; z3tSU(fscAw1h}5i`&i`+?4UAF;AeV|b}3)i5zA^E*L0X|u;#%xYNx~?#g6jEh~;8t zQ8$5Sx)(-Y-j-9ugVW%b2(t*(k6(`>S>s9^t-podjkrgd0G}k7#${=(J0T7``%9)` zbz@# z89pMA4}>(ymEcPbh@I>#D9Az~sbv{(OXEh+fnx{b z6H8ULM@UCCdJbtvxLPl+w?prh49<(wWQ*(&g-1S%fFdrWy;&bp2wdG!zXt0n@O|(h^&64U7Am>%tK&1tn{(CN?9?pRJVbV0abQse6W* zjaunJ1r9_dkDSXE8y~{blX@E9+XdZr?+Cj9fSv4Dr%sM0X8+%}yVNrc%}Pks zfLfd-a~NL@9Ae&`->H9ihbrSTQK7`l0(9ei<9)-C-ZjdIKdOKOVrZbL^1x5+({hmz z^ka^IzOo7Z5kDX{UB^aJa=ZJ664{}im=U8r5}V}6e33gr#%&kPksN&;R!|y`-hx0+!ub!fTfgoWJ@3*jQ48CTp{?Y z$+bKR>!aBjD7x?Y0>>e`M#1*rfv0;edmByS@dJq0U>!j z12B#0J8%)E#AT3Tv<7hwsa2De$TgZ!6ya*gBbt8{dMpCoYg`{48qN!f$4KFI>9kSj zXqP7qQXV6DfRu{Jr(Mj>;=zUW>U{0sd8$z^(2$UE1b=z(K3T=YUsL(r3UwB%vS_@i zUw15;g`ql@wnozVkC>v|rqdrPO1t2>x^$SM@_>ucDEgntIq=60A2|p%szF-JmH5_! z>2S4sVX}c!H;5b!MnOy^fZYTP60VDhA{ikCTh{$>P4GK|N)1u_VGJ22k_IyXwj7Sj zcn5~M5{rQqE`|I<$3Bj`K#{b$K^z(UVwE$D46wB&kBgN&?rjSskPyQ3X&G^Acx^iv zW6lXF-}{o%ux^olbi{%ZmZM_C=6u(%CKQ={xs{jYqD zM26k$`Qj{UlW5Jt`l&1QP|d=7B{Dx;qd$8JdU$AE5&l(!MUkXC0mFRCM3JnDw?zVe z7`mm7)u~!VZs$|ahb9Y>#(9sjOV zcH~0w!lwVVM3oxLQd(|~MDZCpxbXh7qmbj2l;)N4J+?HVc6Jx7LG<@F&tGUvek#38UUOBInuVP22k}b4Ep?bEu^--cB#Ag|hqHNP79!T*v5&|g?2bQG86x5lB{ff(Rjr7|;rT&I0Ef(#dGARy zq-)N|z^0X-fAevH$bL+ip~x^dH#=T?vKN@HF~)7*3?~kd(`GwzGp*%S?H7db>`8F> zgx!tP`bl5-7lQ@AQ4i^?mNUb^ki+(Qvxg{R!^Ut%ya1_K$Ci-wGtO^W+(5We9^Z|i*}v@%bg{vBl7i??boO`xvQUh$k~C|d$i?y7U=W| z!<=;Y;tf9FpB=nOaU(_U#7Npj4id5?8H4? zsL^r@1_p9?VMR4cVe#mEOOH=f?>dB_m{#vzpM&E&KVbxd<&r?NMbz+F*duzV(?Y8LUgUpO4?&3)QPk z5&HoWONJr}EUHfHzJW4vCdqg&<>PN7f)paE#1!i^P<-8JfbLD7%T`A%By{h7P)CAW zJ1E&XBE96%#4a;dwNYQjcdiR0Nxh?uH~|2q&7C9LQ+QSv8X^PP0>Usz*HSS9C0>to ze1pO&s7BCS{x!VW_Pg@E-%TErJGYbnQ2hXL%RBzBNmFecgMmO#_uULhV~c2I)KHP{ zv{Eui!aMjaX?Mf>WoHp0KtGR^e4E^69*4@*{%8^>HwxUFNcSt7W0h7X$VzQ5JTGQg zLpd?yN%(bgiP_o-cst z@QA_VD0&n&*dj?j63J-vndy~X;lwmo=Q_8PV#w^VZOiYw;}mS|B;|u)e#GS8JRqxP zoWEuBMb#F=PknRG3P* z4GJA~MMpEbM%i4(YahXGEOSo2nB;oM z*5&1O`U}@hdRDps0PqD~2c@$6cz7sxmZ+b)O!Nllqto*I#I^<9nQ}0`3gtZjgFSc` zr<;IuXQCn=vP25FV3h8Z+}TdG6Sel7VCP+9#!U`9SHR~u*QtV&Ir;S6Z^sSGm|s;y z-f{CTn7y-&!B@eo#~6{h(77Nh6dHLyQG)b$p_3Gj)aRs!q6N>lUC*~^HSvWstrW}u z*CU=O3^xF*0&%aIQS)f~p!Vfgr70q9_)Pqs1=T}zL2n7bM8o8g#*F|Q%n>{#zGI3aoM5ptgqb|5#Q0-fuPveFm}*t#6J>nQI?04W zddadPl-27!^`1tRpwAVEqlr1diwI*)RCifevrPbt5Gp@fxs&zT5 zsb*ne&_BG~c(7H^P%7ADWn2!iMjp*h2XH3HT6VU72#$t`4=n-ZMCj(Lx2fTA@Q*v3DH1nr6oj-PQmZ9zCOcnn|~y1H8R1_aO#cRLv8n zA^SQ>qnD0V>X0{ZGw#)({*;uB(U$-bb3>y#gPQ0j{V0TAh2!q01pnET-gA>Z&%Zu& z{QmIumszVzi2m>gDlumvArvK|eWjErehNwr_*YQB+{U0n2iH{TJ z;qL1>Q|tNR;tK>w-Y~Xr!pxa~?@n`+EF(yvE$iV|s+c}C9kp5-ApELWNNyD z|D+=Q7PY%KH^%y&U#ewXB(vfZd=y2g6mLmY^!M=zO*K@jEGVFm+gRBYv6`7`j!j#_ z9w|2DzzCJJ^>~J#5j;E8*py74CK@&dIy0mkEqwTPE}}scXFHs_!v+39v(Q!~u%}FWO}FpFHX>#>99{bVQXu z&Mv05icalrL5O4IcpQ-%8V0q0)*4^oV6E1=wCFNkQG8D|Vcl#K3ekLmEmuno2}tcn+QcBWaoDND z?$>_WkP~3jJBVSpFIV5PxKA;nAt-PpDTxDvS|U0B~sCx$DrPuUWy1s-9;QX4FU@5U37&vhcuXyFpWC$dZ2bo2M?j zANK_Zrju>J;S;e;$Q-lXs>AJ;X+V(MnIVQV<}7RvF2tip0dAnk>SJRl?)-~WoU!77 zQ=Tzv)wwG*H6)RHIJxxBSAnc$34YukwX=MWwb+&MO&{6*3?R8{8xnSKM?Fx^SIqyB zbIrq9*-wfEPB-!(hD)U;417Yhr*_v$3yfCOLjgK9ct=m3wC4po@*K`;f?423NQ%Ha z=HQfTdxjl&#yC@aA?gUOwDc`m_JtKN%GtmX{+jhTzM{j)Zz!HLVWS zT3ud61ZuseM>#VB zB1v^H3>~f3ZuQ1y1W{>t-Z=ZAh`cL8Ph>}_y|h?Wg&}{_PP-`L`oK-Ig}U9hdlkA` zD(w7nYK?aP_vu?cAgjvw$DWY~|Nr`6dn+Ike-c>$`F=-2aTLj*LyZCcadEaCUHG~; z86DPAtoK5nu-&tR!-E*UKmtjQ&F-bed^U;yv{`=a-Q3MyR&EFcei`C7LwUEikDKv_ z{n2hUv{KSVf+2Ghr?p6~s8Uo}UNjM-Va{4f?=S0P)GQHiP&5mMDO6_~Oh#6NWhYTD zHVIY-Br?zR-A}*_d1E(u4)4jZiSX;qv}@p<)$5PHa8uof$- zN#h;PX!Sh`GyKY@#3`XavDTF!tlLp7pOnP|n7ydSTSeRN`9lT0{FsiXdyibTb1c%L zVA^GmC!c-pE7zzK?fNiiRLgGuZTzKsr@X+hJ&sngBnxa3+bfw(?G&G3Q%W|MUt{C{~s zF!W;nx?2MjfY!+%*n5u;$!Pee07wYZ@g^V02=j281Q-OI#l0q(9<@WCr<;o4(a|TM zH_t`S9?g&v-JRw*Z;u>5#?|UTBD=ggqWPrGOk$%Eut6-?OV>%E(R=5l*y|X#64&>rZ z#W3LPCfr7TgzQ0(qgidWUQd+uWMCx7o zEB>|%Jj&TVz$-D|qVAVU4!CF!@J}!yxFe4cX8SF|Y-XBWZzD>se-R!+{t?Wh6=}E7 zVI*Eoa1su_6K2`e8XfsS4OJM|U+&-7VS zIRJ0}JFs%}kcBm|$KkOHXW8Yj-C+KS#mq``V56%9am)P^?MzJPWU+*SyoQeWkRCz< zQ&Lq-Q>VTUJh=@7B#nHSC6HUHAey1!j}y>tP-yPh!o;992`-QHd7AI5t9 zPzm;}i0kMO6~Kl4TT`Y-BTU9Ku;r}*Q1TDl8m%S{+PFzk4&HGip;0#LkTx>X5q%>5 zvea2A%tl(PyC6CoWZ>)xHQQMu6n`UxQHJwS^%+zbld7C*CafaNLfh=(7&7eb)>jvC znLDJo2#ICn^BvWW7|$|a>!k)dOwPL;_Ao<@lzuJMoVs>;vkRhel4yyS2) zNMgz=@z?&pdF|R2kYSCb~_c?Vn#f0va))?V7TyrsA4t^o14=CVLW+YJt zornR!@R}SEh5X@8Mecwsv4(I7&TsC{FBAkUqM~hI4`ElK`EdgmwXTtz>9XPZVjTba zBi?BtsK{w&VnIK?b}XqbS5ujgFthngi(n$Qf0!GV*Ck3#A5=c-XwE4I2shGOBSw|T zij+DsI~26%8A9#jM#!kkG4k(|p=DlNOtp$^w;d!`3Z6v)Np-zYDWC&3J{ zwaUiwtA2L~pTeKQ%+q-puz^>p5WizwIVWT}a7;I6vmOl}V!9x!Q0+N)w0dK<>Zy?Q zIMqMK-zUY;#%$)=v;*}7l%0g)L@qrQ%(KKJ+7(26naCnPXDl!4!)l8vCvdPEi@Jw* z|6Y0vPmvHvkk-$$00p5yRzY+{Zx>_nKI_Xh)l_9kFz3dgjETw(U=}g;=}5EaiyMu4 z_K5!H6(p54QnUJxGgc8!K#+;aOOofhNq5c;z10R2IrtP1H4@T9A)rjBp`BPHrYhlL z+@cieQ3~0svr%Pi6*}fPW-L9x=CjjPl73d0y^9szowR56%tm}k>B)RtEMvOL*=5n6 z-O4NJdBneKC@(Ak6105naj(;SX_5pO7!J@7^!qDe`+jzeJ|J9eMX~dq_a4ty_&9?( zEDkVKBj$N0>Ka>58Y|PQq{Q2j-1e%45yo0bM~*k}vj%t;)h4!(={qG%V1_LSFm}aK zY-tE~MG&?}B;H1))pTEj@~LYqj3<1_=`$4^b24-b8Y}Do-qUr>x|NiG?ruc-9+TCz z;?EP^qy0SZdX`9sh!jt2^KgHyRrl?I`X8rO z8NK~qffuwrcv^i<^-sN;(~rF>En&Wk(?xUpXJ1i$BT!_#xy7-)Kt@ezB>Cmr;5qh^mji@urT}VzT*Om+_r%F`x$OqeakZ|EVfr%`L5IZXlLN1Lx$X$ z+~*?=bbBH!DkWE20Z&N_tCU_B5$>9N<-1b_)B4t9h0o5Fdg(TV#T=ZS;k;e9y5Pt( zcf%BKR`r}pq4b=}Y5!VT0!2?uu5S_u400^GsdDb9m9+E0!adTPK5T5=_*&)oy9xJV zF2%9jIC6B{IhfKk_L`{##PdAGvbj`=i^IWZR_QpWl7Pcg=0JJdXRWYv_wxuM9&rzRW2JGR-w|x_nY#<=SNhGv@xPUGak-)N>My zOneaxybJRv4`{BQkx7I>1a{^b!-nmXAIx>-%-v{b>i|3i&3>}pJSUmS2~`n_z^+yS z5F0W84=jO$-F%Y+=gUmi<5!s6KVLxR@N}V>dBECiGq5qIhN93#0IX18zN$3hPIm?d zV-!XFlLO}a%OLKmW?-;Ek-sboG(;JA1H1~@Hsm`!ZBY~!NrDxAkW>XLMBK-SZsJh| zutEn#h>3_B?HCwPO>9vHDV(GNHjo8$f7;~2gO;L~=q~SL-0fWZ~#j)X&6Bqf(AYY$jk0PJ03wGnXMds4rYbk)o%O?X5s6!3k zfXNPvon#Tm&!fx7m@-U0Xlej*iY)lxbYN7j0b(5#t3F$TR4GoDU7{+BI87QonpRme zOct=Q1)0SHI@Eabh9zRm!uB9RsmW9A4Z;2eABzjLU@_3Yb|{tzO}1YeB?~&EwGSvS z2b9-Gk@s+Bn7q;166{pOsgw*1jwq^ZTtTWtCL1hsmqk9p&jdx)T@RQl&dDjBieNJl zr|tj``9o2y>jP8GF7ag{X4W>)a%KhoKvyva1`M9A)97C%`B`O-U1bAu471WI(n_BRXdc33Qc~vQcM(m z%*7)yFC}Mk;$lTsaNBmW!75Q^;mHs)A-y`Vxw6QmkOqpmsncMpwYY?M85qRpg322J DDw4oP diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index e0fd02028bca..002b867c48b3 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/android/gradlew b/android/gradlew index 54284f04f75c..fe354fcb5020 100755 --- a/android/gradlew +++ b/android/gradlew @@ -112,7 +112,8 @@ MSYS* | MINGW*) msys=true ;; #( NONSTOP*) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ]; then @@ -204,7 +205,7 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. @@ -212,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/android/gradlew.bat b/android/gradlew.bat index 482abe646862..56958844c3bd 100644 --- a/android/gradlew.bat +++ b/android/gradlew.bat @@ -1,3 +1,9 @@ + +@REM Copyright (c) Meta Platforms, Inc. and affiliates. +@REM +@REM This source code is licensed under the MIT license found in the +@REM LICENSE file in the root directory of this source tree. + @rem @rem Copyright 2015 the original author or authors. @rem @@ -69,11 +75,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/babel.config.js b/babel.config.js index 329583672c58..9cc0ca7871fa 100644 --- a/babel.config.js +++ b/babel.config.js @@ -32,7 +32,7 @@ module.exports = { '@babel/plugin-transform-numeric-separator', '@babel/plugin-proposal-unicode-property-regex', '@babel/plugin-proposal-export-namespace-from', - 'react-native-reanimated/plugin', + 'react-native-worklets/plugin', 'hot-updater/babel-plugin', ], } diff --git a/doc/bump-react-native.md b/doc/bump-react-native.md index 635f683129aa..32c697fe7071 100644 --- a/doc/bump-react-native.md +++ b/doc/bump-react-native.md @@ -8,7 +8,13 @@ Ce document décrit le processus de mise à jour de React Native dans le projet ## 🔄 Mise à jour `react-native@` Link to JIRA ticket: https://passculture.atlassian.net/browse/PC-XXXXX -Les changelogs sont consultables [ici](https://reactnative.dev/versions) + +### Lien utiles + +[Releases overview](https://reactnative.dev/versions) +[Release note](https://reactnative.dev/blog/2025/10/08/react-native-0.82) +[Changelog](https://github.com/facebook/react-native/blob/main/CHANGELOG.md) +[Upgrade helper](https://react-native-community.github.io/upgrade-helper/) ### 📊 État d'avancement (après que la CI soit verte) @@ -113,6 +119,9 @@ yarn vite preview --mode=testing À cette étape, on croise les doigts mais ne pas s'attendre à ce que ça build du premier coup. Pas de soucis, ça fait partie du process ! ```bash +# Si besoin de clean +cd android && rm -rf android/.gradle && rm -rf android/build && ./gradlew clean && cd .. + cd android ./gradlew assembleDebug ``` @@ -154,14 +163,15 @@ Si tu vois la première page s'afficher, bingo ! 🎉 ##### 📱 Les pods ```bash +# si besoin de clean +cd ios && rm -rf Pods && bundle exec pod cache clean --all && cd .. + cd ios -rm Podfile.lock bundle install bundle exec pod install ``` - -Le `Podfile.lock` va poser plus de problème qu'autre chose. Il peut être supprimé et regénéré pour que tous les devs partent sur une nouvelle base. -Il faut bien sûr, comme à chaque étape, s'attendre à des problèmes et les résoudre. +Vous pouvez avoir des petits conflits sur les pods et devoir taper des commandes qui vont être suggérées dans les messages d’erreur comme : `pod update fast_float --no-repo-update`. +Le `Podfile.lock` peut éventuellement être regénéré si cela est nécessaire, mais attention aux maj de lib que cela peut entrainer. ##### 🔨 L'installation @@ -186,12 +196,14 @@ yarn build-storybook Les tests e2e doivent être lancés depuis la CI et la PR doit être approuvée par un membre de la QA. -### 🫃 La PR devient énorme +### 📚 Librairies Il est commun qu'un bump de react native demande des bumps d'autres libs. Si ces libs sont compatibles avec la version actuelle de l'app, préférer faire ce changement dans une PR différente. Ainsi le travail sera mieux suivi par les PM, mieux découpé et plus facile à relire par les pairs +⚠️ Pour chaque lib upgradé il est recommandé d’aller consulter les changelog de la lib + ### 🔀 Merge À ce stade-là, après une validation d'un tech lead, de la QA et d'un autre développeur expérimenté, on peut merge mais ce n'est pas encore terminé. @@ -204,10 +216,13 @@ Mettre un message dans dev-mobile pour informer la communauté avec : ```txt :git-merge: React Native version vient d'être merge Vous pouvez dès à présent : -- supprimer vos node_modules -- réinstaller vos modules yarn -- réinstaller vos pods +- supprimer vos node_modules : `rm -rf node_modules` +- réinstaller vos modules yarn : `yarn install` +- supprimer vos pods : `cd ios && rm -rf Pods && pod cache clean --all && cd ..` +- réinstaller vos pods : `cd ios && bundle exec pod install cd ..` +- cleaner le build android : `cd android && rm -rf android/.gradle && rm -rf android/build && ./gradlew clean && cd ..` - rebuild le projet sur vos simulateurs +- réinitialiser les watchers : `watchman watch-del-all` - redémarrer metro avec `--reset-cache` N'hésitez pas à laisser un petit message si quelque chose ne fonctionne pas chez vous 🚀 diff --git a/ios/AppDelegate.h b/ios/AppDelegate.h index 5d2808256ca0..e01a9e3c6fd8 100644 --- a/ios/AppDelegate.h +++ b/ios/AppDelegate.h @@ -1,6 +1,10 @@ -#import #import +#import -@interface AppDelegate : RCTAppDelegate +@interface AppDelegate : UIResponder + +@property (nonatomic, strong) UIWindow *window; +@property (nonatomic, strong) id reactNativeDelegate; +@property (nonatomic, strong) id reactNativeFactory; @end diff --git a/ios/AppDelegate.mm b/ios/AppDelegate.mm index 1be0c7839625..34eeedef6b1d 100644 --- a/ios/AppDelegate.mm +++ b/ios/AppDelegate.mm @@ -4,7 +4,8 @@ #import #import - +#import +#import #import "RNSplashScreen.h" // react-native-lottie-splash-screen #import // @hot-updater @@ -16,16 +17,27 @@ #import +@interface ReactNativeDelegate : RCTDefaultReactNativeFactoryDelegate +@end + @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - self.moduleName = @"PassCulture"; + ReactNativeDelegate *delegate = [[ReactNativeDelegate alloc] init]; + RCTReactNativeFactory *factory = [[RCTReactNativeFactory alloc] initWithDelegate:delegate]; + delegate.dependencyProvider = [[RCTAppDependencyProvider alloc] init]; + + self.reactNativeDelegate = delegate; + self.reactNativeFactory = factory; + + self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; + + // You can add your custom initial props in the dictionary below. // They will be passed down to the ViewController used by React Native. - self.dependencyProvider = [RCTAppDependencyProvider new]; - self.initialProps = @{}; + NSDictionary *initialProps = @{}; // Get environment NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"]; @@ -51,10 +63,13 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [BatchUNUserNotificationCenterDelegate registerAsDelegate]; [BatchUNUserNotificationCenterDelegate sharedInstance].showForegroundNotifications = true; - // react-native-lottie-splash-screen - BOOL success = [super application:application didFinishLaunchingWithOptions:launchOptions]; + // Start React Native + [factory startReactNativeWithModuleName:@"PassCulture" + inWindow:self.window + initialProperties:initialProps + launchOptions:launchOptions]; - if (success) { + if (self.window) { //We add this logic to get access to rootview UIView *rootView = self.window.rootViewController.view; @@ -69,7 +84,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [RNSplashScreen setAnimationFinished:true]; } - return success; + return YES; } @@ -91,6 +106,15 @@ - (BOOL)application:(UIApplication *)application restorationHandler:restorationHandler]; } + +- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { + return [Orientation getOrientation]; +} + +@end + +@implementation ReactNativeDelegate + - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { return [self bundleURL]; @@ -105,8 +129,4 @@ - (NSURL *)bundleURL #endif } -- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { - return [Orientation getOrientation]; -} - @end diff --git a/ios/PassCulture.xcodeproj/project.pbxproj b/ios/PassCulture.xcodeproj/project.pbxproj index 0b6ddce8d606..01e01d70dcc9 100644 --- a/ios/PassCulture.xcodeproj/project.pbxproj +++ b/ios/PassCulture.xcodeproj/project.pbxproj @@ -348,6 +348,7 @@ "${PODS_CONFIGURATION_BUILD_DIR}/RNSVG/RNSVGFilters.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", @@ -385,6 +386,7 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNSVGFilters.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", @@ -480,6 +482,10 @@ INFOPLIST_FILE = PassCulture/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_CPLUSPLUSFLAGS = ( + "$(inherited)", + "-DRCT_NEW_ARCH_ENABLED=1", + ); OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -622,6 +628,8 @@ "-DFOLLY_NO_CONFIG", "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", + "-DFOLLY_CFG_NO_COROUTINES=1", + "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); OTHER_LDFLAGS = ( "$(inherited)", @@ -710,6 +718,8 @@ "-DFOLLY_NO_CONFIG", "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", + "-DFOLLY_CFG_NO_COROUTINES=1", + "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); OTHER_LDFLAGS = ( "$(inherited)", diff --git a/ios/PassCulture/AppDelegate.swift b/ios/PassCulture/AppDelegate.swift index 51286db88765..eefaedf41ae3 100644 --- a/ios/PassCulture/AppDelegate.swift +++ b/ios/PassCulture/AppDelegate.swift @@ -10,14 +10,21 @@ import Lottie @main -class AppDelegate: RCTAppDelegate { +class AppDelegate: UIResponder, UIApplicationDelegate { + var window: UIWindow? + + var reactNativeDelegate: ReactNativeDelegate? + var reactNativeFactory: RCTReactNativeFactory? + override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { - self.moduleName = "PassCulture" - self.dependencyProvider = RCTAppDependencyProvider() - - // You can add your custom initial props in the dictionary below. - // They will be passed down to the ViewController used by React Native. - self.initialProps = [:] + let delegate = ReactNativeDelegate() + let factory = RCTReactNativeFactory(delegate: delegate) + delegate.dependencyProvider = RCTAppDependencyProvider() + + reactNativeDelegate = delegate + reactNativeFactory = factory + + window = UIWindow(frame: UIScreen.main.bounds) // Get environment guard let plistPath = Bundle.main.path(forResource: "Info", ofType: "plist"), @@ -44,14 +51,17 @@ class AppDelegate: RCTAppDelegate { RNBatch.start() BatchUNUserNotificationCenterDelegate.registerAsDelegate() BatchUNUserNotificationCenterDelegate.sharedInstance.showForegroundNotifications = true + + factory.startReactNative( + withModuleName: "PassCulture", + in: window, + launchOptions: launchOptions + ) - // react-native-lottie-splash-screen - let success = super.application(application, didFinishLaunchingWithOptions: launchOptions) - - if success { + if window { // We add this logic to get access to rootview - guard let rootView = self.window.rootViewController?.view else { - return success + guard let rootView = window.rootViewController?.view else { + return true } let t = Dynamic() @@ -65,7 +75,7 @@ class AppDelegate: RCTAppDelegate { RNSplashScreen.setAnimationFinished(true) } - return success + return true } // Deeplink configuration @@ -77,7 +87,13 @@ class AppDelegate: RCTAppDelegate { override func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { return RCTLinkingManager.application(application, continue: userActivity, restorationHandler: restorationHandler) } - + + override func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { + return Orientation.getOrientation() + } +} + +class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate { override func sourceURL(for bridge: RCTBridge) -> URL? { return self.bundleURL() } @@ -88,9 +104,5 @@ class AppDelegate: RCTAppDelegate { #else return HotUpdater.bundleURL() #endif - } - - override func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { - return Orientation.getOrientation() - } + } } diff --git a/ios/PassCulture/Info.plist b/ios/PassCulture/Info.plist index 897443a49b6a..041e35bde3c5 100644 --- a/ios/PassCulture/Info.plist +++ b/ios/PassCulture/Info.plist @@ -5,9 +5,9 @@ BatchAPIKey $(BATCH_API_PUBLIC_KEY_IOS) BatchProfileCustomDataMigrationEnabled - - BatchProfileCustomIdMigrationEnabled - + + BatchProfileCustomIdMigrationEnabled + CFBundleDevelopmentRegion fr CFBundleDisplayName @@ -95,10 +95,10 @@ NSAppTransportSecurity - NSAllowsArbitraryLoads - - NSAllowsLocalNetworking - + NSAllowsArbitraryLoads + + NSAllowsLocalNetworking + NSCameraUsageDescription Cette application peut vérifier ton identité avec une photo. @@ -106,16 +106,20 @@ Cette application a besoin de ta géolocalisation pour te montrer des offres proche de toi. NSLocationAlwaysUsageDescription Cette application a besoin de ta géolocalisation pour te montrer des offres proche de toi. + NSLocationDefaultAccuracyReduced + NSLocationWhenInUseUsageDescription Cette application a besoin de ta géolocalisation pour te montrer des offres proche de toi. NSMicrophoneUsageDescription Cette application peut vérifier ton identité avec de l'audio NSPhotoLibraryUsageDescription Cette application peut vérifier ton identité avec une photo de votre galerie. - NSUserTrackingUsageDescription - Pour vous offrir les meilleurs offres et une expérience personnalisée NSUserNotificationsUsageDescription Cette application a besoin d'accéder aux notifications pour vous tenir informé des offres et événements. + NSUserTrackingUsageDescription + Pour vous offrir les meilleurs offres et une expérience personnalisée + RCTNewArchEnabled + UIAppFonts Montserrat-Bold.ttf @@ -139,7 +143,5 @@ UIViewControllerBasedStatusBarAppearance - NSLocationDefaultAccuracyReduced - diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f957662d8365..ce9d558fd705 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -16,8 +16,8 @@ PODS: - BVLinearGradient (2.8.3): - React-Core - DoubleConversion (1.1.6) - - fast_float (6.1.4) - - FBLazyVector (0.78.3) + - fast_float (8.0.0) + - FBLazyVector (0.80.2) - Firebase/Analytics (11.13.0): - Firebase/Core - Firebase/Core (11.13.0): @@ -190,14 +190,18 @@ PODS: - AppAuth/Core (~> 1.7) - GTMSessionFetcher/Core (< 4.0, >= 3.3) - GTMSessionFetcher/Core (3.5.0) - - hermes-engine (0.78.3): - - hermes-engine/Pre-built (= 0.78.3) - - hermes-engine/Pre-built (0.78.3) + - hermes-engine (0.80.2): + - hermes-engine/Pre-built (= 0.80.2) + - hermes-engine/Pre-built (0.80.2) - HotUpdater (0.20.0): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -205,17 +209,26 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - SSZipArchive (~> 2.2.2) - Yoga - leveldb-library (1.22.6) + - libavif/core (0.11.1) + - libavif/libdav1d (0.11.1): + - libavif/core + - libdav1d (>= 0.6.0) + - libdav1d (1.2.0) - libwebp (1.5.0): - libwebp/demux (= 1.5.0) - libwebp/mux (= 1.5.0) @@ -230,11 +243,15 @@ PODS: - libwebp/sharpyuv - lottie-ios (4.5.0) - lottie-react-native (7.3.2): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - lottie-ios (= 4.5.0) - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -242,14 +259,18 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - nanopb (3.30910.0): - nanopb/decode (= 3.30910.0) @@ -262,63 +283,75 @@ PODS: - RCT-Folly (2024.11.18.00): - boost - DoubleConversion - - fast_float (= 6.1.4) + - fast_float (= 8.0.0) - fmt (= 11.0.2) - glog - RCT-Folly/Default (= 2024.11.18.00) - RCT-Folly/Default (2024.11.18.00): - boost - DoubleConversion - - fast_float (= 6.1.4) + - fast_float (= 8.0.0) - fmt (= 11.0.2) - glog - RCT-Folly/Fabric (2024.11.18.00): - boost - DoubleConversion - - fast_float (= 6.1.4) + - fast_float (= 8.0.0) - fmt (= 11.0.2) - glog - - RCTDeprecation (0.78.3) - - RCTRequired (0.78.3) - - RCTTypeSafety (0.78.3): - - FBLazyVector (= 0.78.3) - - RCTRequired (= 0.78.3) - - React-Core (= 0.78.3) - - React (0.78.3): - - React-Core (= 0.78.3) - - React-Core/DevSupport (= 0.78.3) - - React-Core/RCTWebSocket (= 0.78.3) - - React-RCTActionSheet (= 0.78.3) - - React-RCTAnimation (= 0.78.3) - - React-RCTBlob (= 0.78.3) - - React-RCTImage (= 0.78.3) - - React-RCTLinking (= 0.78.3) - - React-RCTNetwork (= 0.78.3) - - React-RCTSettings (= 0.78.3) - - React-RCTText (= 0.78.3) - - React-RCTVibration (= 0.78.3) - - React-callinvoker (0.78.3) - - React-Core (0.78.3): - - glog - - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation (0.80.2) + - RCTRequired (0.80.2) + - RCTTypeSafety (0.80.2): + - FBLazyVector (= 0.80.2) + - RCTRequired (= 0.80.2) + - React-Core (= 0.80.2) + - React (0.80.2): + - React-Core (= 0.80.2) + - React-Core/DevSupport (= 0.80.2) + - React-Core/RCTWebSocket (= 0.80.2) + - React-RCTActionSheet (= 0.80.2) + - React-RCTAnimation (= 0.80.2) + - React-RCTBlob (= 0.80.2) + - React-RCTImage (= 0.80.2) + - React-RCTLinking (= 0.80.2) + - React-RCTNetwork (= 0.80.2) + - React-RCTSettings (= 0.80.2) + - React-RCTText (= 0.80.2) + - React-RCTVibration (= 0.80.2) + - React-callinvoker (0.80.2) + - React-Core (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - - React-Core/Default (= 0.78.3) + - React-Core/Default (= 0.80.2) - React-cxxreact - React-featureflags - React-hermes - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/CoreModulesHeaders (0.78.3): + - React-Core/CoreModulesHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -327,15 +360,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/Default (0.78.3): + - React-Core/Default (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-cxxreact - React-featureflags @@ -343,33 +383,47 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/DevSupport (0.78.3): + - React-Core/DevSupport (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - - React-Core/Default (= 0.78.3) - - React-Core/RCTWebSocket (= 0.78.3) + - React-Core/Default (= 0.80.2) + - React-Core/RCTWebSocket (= 0.80.2) - React-cxxreact - React-featureflags - React-hermes - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTActionSheetHeaders (0.78.3): + - React-Core/RCTActionSheetHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -378,15 +432,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTAnimationHeaders (0.78.3): + - React-Core/RCTAnimationHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -395,15 +456,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTBlobHeaders (0.78.3): + - React-Core/RCTBlobHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -412,15 +480,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTImageHeaders (0.78.3): + - React-Core/RCTImageHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -429,15 +504,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTLinkingHeaders (0.78.3): + - React-Core/RCTLinkingHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -446,15 +528,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTNetworkHeaders (0.78.3): + - React-Core/RCTNetworkHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -463,15 +552,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTSettingsHeaders (0.78.3): + - React-Core/RCTSettingsHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -480,15 +576,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTTextHeaders (0.78.3): + - React-Core/RCTTextHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -497,15 +600,22 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTVibrationHeaders (0.78.3): + - React-Core/RCTVibrationHeaders (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - React-Core/Default - React-cxxreact @@ -514,111 +624,148 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-Core/RCTWebSocket (0.78.3): + - React-Core/RCTWebSocket (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTDeprecation - - React-Core/Default (= 0.78.3) + - React-Core/Default (= 0.80.2) - React-cxxreact - React-featureflags - React-hermes - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling - React-perflogger - React-runtimescheduler - React-utils - - SocketRocket (= 0.7.1) + - SocketRocket - Yoga - - React-CoreModules (0.78.3): + - React-CoreModules (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) - - RCT-Folly (= 2024.11.18.00) - - RCTTypeSafety (= 0.78.3) - - React-Core/CoreModulesHeaders (= 0.78.3) - - React-jsi (= 0.78.3) + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety (= 0.80.2) + - React-Core/CoreModulesHeaders (= 0.80.2) + - React-jsi (= 0.80.2) - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing - React-NativeModulesApple - React-RCTBlob - React-RCTFBReactNativeSpec - - React-RCTImage (= 0.78.3) + - React-RCTImage (= 0.80.2) - ReactCommon - - SocketRocket (= 0.7.1) - - React-cxxreact (0.78.3): + - SocketRocket + - React-cxxreact (0.80.2): - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) - - React-callinvoker (= 0.78.3) - - React-debug (= 0.78.3) - - React-jsi (= 0.78.3) + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.2) + - React-debug (= 0.80.2) + - React-jsi (= 0.80.2) - React-jsinspector - - React-logger (= 0.78.3) - - React-perflogger (= 0.78.3) - - React-runtimeexecutor (= 0.78.3) - - React-timing (= 0.78.3) - - React-debug (0.78.3) - - React-defaultsnativemodule (0.78.3): + - React-jsinspectorcdp + - React-jsinspectortracing + - React-logger (= 0.80.2) + - React-perflogger (= 0.80.2) + - React-runtimeexecutor (= 0.80.2) + - React-timing (= 0.80.2) + - SocketRocket + - React-debug (0.80.2) + - React-defaultsnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog - hermes-engine - RCT-Folly + - RCT-Folly/Fabric - React-domnativemodule - React-featureflagsnativemodule + - React-hermes - React-idlecallbacksnativemodule - React-jsi - React-jsiexecutor - React-microtasksnativemodule - React-RCTFBReactNativeSpec - - React-domnativemodule (0.78.3): + - SocketRocket + - React-domnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog - hermes-engine - RCT-Folly + - RCT-Folly/Fabric - React-Fabric - React-FabricComponents - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-Fabric (0.78.3): + - React-Fabric (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/animations (= 0.78.3) - - React-Fabric/attributedstring (= 0.78.3) - - React-Fabric/componentregistry (= 0.78.3) - - React-Fabric/componentregistrynative (= 0.78.3) - - React-Fabric/components (= 0.78.3) - - React-Fabric/consistency (= 0.78.3) - - React-Fabric/core (= 0.78.3) - - React-Fabric/dom (= 0.78.3) - - React-Fabric/imagemanager (= 0.78.3) - - React-Fabric/leakchecker (= 0.78.3) - - React-Fabric/mounting (= 0.78.3) - - React-Fabric/observers (= 0.78.3) - - React-Fabric/scheduler (= 0.78.3) - - React-Fabric/telemetry (= 0.78.3) - - React-Fabric/templateprocessor (= 0.78.3) - - React-Fabric/uimanager (= 0.78.3) + - React-Fabric/animations (= 0.80.2) + - React-Fabric/attributedstring (= 0.80.2) + - React-Fabric/componentregistry (= 0.80.2) + - React-Fabric/componentregistrynative (= 0.80.2) + - React-Fabric/components (= 0.80.2) + - React-Fabric/consistency (= 0.80.2) + - React-Fabric/core (= 0.80.2) + - React-Fabric/dom (= 0.80.2) + - React-Fabric/imagemanager (= 0.80.2) + - React-Fabric/leakchecker (= 0.80.2) + - React-Fabric/mounting (= 0.80.2) + - React-Fabric/observers (= 0.80.2) + - React-Fabric/scheduler (= 0.80.2) + - React-Fabric/telemetry (= 0.80.2) + - React-Fabric/templateprocessor (= 0.80.2) + - React-Fabric/uimanager (= 0.80.2) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -626,13 +773,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/animations (0.78.3): + - SocketRocket + - React-Fabric/animations (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -640,6 +790,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -647,13 +798,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/attributedstring (0.78.3): + - SocketRocket + - React-Fabric/attributedstring (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -661,6 +815,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -668,13 +823,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistry (0.78.3): + - SocketRocket + - React-Fabric/componentregistry (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -682,6 +840,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -689,13 +848,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistrynative (0.78.3): + - SocketRocket + - React-Fabric/componentregistrynative (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -703,6 +865,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -710,23 +873,28 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components (0.78.3): + - SocketRocket + - React-Fabric/components (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.78.3) - - React-Fabric/components/root (= 0.78.3) - - React-Fabric/components/view (= 0.78.3) + - React-Fabric/components/legacyviewmanagerinterop (= 0.80.2) + - React-Fabric/components/root (= 0.80.2) + - React-Fabric/components/scrollview (= 0.80.2) + - React-Fabric/components/view (= 0.80.2) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -734,13 +902,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/legacyviewmanagerinterop (0.78.3): + - SocketRocket + - React-Fabric/components/legacyviewmanagerinterop (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -748,6 +919,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -755,13 +927,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/root (0.78.3): + - SocketRocket + - React-Fabric/components/root (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -769,6 +944,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -776,13 +952,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/view (0.78.3): + - SocketRocket + - React-Fabric/components/scrollview (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -790,6 +969,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -797,14 +977,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - Yoga - - React-Fabric/consistency (0.78.3): + - SocketRocket + - React-Fabric/components/view (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -812,20 +994,26 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger + - React-renderercss - React-rendererdebug - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/core (0.78.3): + - SocketRocket + - Yoga + - React-Fabric/consistency (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -833,6 +1021,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -840,13 +1029,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/dom (0.78.3): + - SocketRocket + - React-Fabric/core (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -854,6 +1046,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -861,13 +1054,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/imagemanager (0.78.3): + - SocketRocket + - React-Fabric/dom (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -875,6 +1071,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -882,13 +1079,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/leakchecker (0.78.3): + - SocketRocket + - React-Fabric/imagemanager (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -896,6 +1096,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -903,13 +1104,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/mounting (0.78.3): + - SocketRocket + - React-Fabric/leakchecker (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -917,6 +1121,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -924,21 +1129,24 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/observers (0.78.3): + - SocketRocket + - React-Fabric/mounting (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/observers/events (= 0.78.3) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -946,20 +1154,25 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/observers/events (0.78.3): + - SocketRocket + - React-Fabric/observers (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug + - React-Fabric/observers/events (= 0.80.2) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -967,57 +1180,68 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/scheduler (0.78.3): + - SocketRocket + - React-Fabric/observers/events (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/observers/events - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger - - React-performancetimeline - React-rendererdebug - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/telemetry (0.78.3): + - SocketRocket + - React-Fabric/scheduler (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug + - React-Fabric/observers/events - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger + - React-performancetimeline - React-rendererdebug - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/templateprocessor (0.78.3): + - SocketRocket + - React-Fabric/telemetry (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1025,6 +1249,7 @@ PODS: - React-debug - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1032,43 +1257,50 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager (0.78.3): + - SocketRocket + - React-Fabric/templateprocessor (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/uimanager/consistency (= 0.78.3) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger - - React-rendererconsistency - React-rendererdebug - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager/consistency (0.78.3): + - SocketRocket + - React-Fabric/uimanager (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug + - React-Fabric/uimanager/consistency (= 0.80.2) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1077,55 +1309,53 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-FabricComponents (0.78.3): + - SocketRocket + - React-Fabric/uimanager/consistency (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric - - React-FabricComponents/components (= 0.78.3) - - React-FabricComponents/textlayoutmanager (= 0.78.3) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger + - React-rendererconsistency - React-rendererdebug - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - Yoga - - React-FabricComponents/components (0.78.3): - - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - SocketRocket + - React-FabricComponents (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.78.3) - - React-FabricComponents/components/iostextinput (= 0.78.3) - - React-FabricComponents/components/modal (= 0.78.3) - - React-FabricComponents/components/rncore (= 0.78.3) - - React-FabricComponents/components/safeareaview (= 0.78.3) - - React-FabricComponents/components/scrollview (= 0.78.3) - - React-FabricComponents/components/text (= 0.78.3) - - React-FabricComponents/components/textinput (= 0.78.3) - - React-FabricComponents/components/unimplementedview (= 0.78.3) + - React-FabricComponents/components (= 0.80.2) + - React-FabricComponents/textlayoutmanager (= 0.80.2) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1133,22 +1363,35 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/inputaccessory (0.78.3): + - React-FabricComponents/components (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - React-Fabric + - React-FabricComponents/components/inputaccessory (= 0.80.2) + - React-FabricComponents/components/iostextinput (= 0.80.2) + - React-FabricComponents/components/modal (= 0.80.2) + - React-FabricComponents/components/rncore (= 0.80.2) + - React-FabricComponents/components/safeareaview (= 0.80.2) + - React-FabricComponents/components/scrollview (= 0.80.2) + - React-FabricComponents/components/text (= 0.80.2) + - React-FabricComponents/components/textinput (= 0.80.2) + - React-FabricComponents/components/unimplementedview (= 0.80.2) - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1156,14 +1399,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/iostextinput (0.78.3): + - React-FabricComponents/components/inputaccessory (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1172,6 +1418,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1179,14 +1426,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/modal (0.78.3): + - React-FabricComponents/components/iostextinput (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1195,6 +1445,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1202,14 +1453,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/rncore (0.78.3): + - React-FabricComponents/components/modal (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1218,6 +1472,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1225,14 +1480,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/safeareaview (0.78.3): + - React-FabricComponents/components/rncore (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1241,6 +1499,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1248,14 +1507,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/scrollview (0.78.3): + - React-FabricComponents/components/safeareaview (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1264,6 +1526,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1271,14 +1534,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/text (0.78.3): + - React-FabricComponents/components/scrollview (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1287,6 +1553,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1294,14 +1561,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/textinput (0.78.3): + - React-FabricComponents/components/text (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1310,6 +1580,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1317,14 +1588,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/components/unimplementedview (0.78.3): + - React-FabricComponents/components/textinput (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1333,6 +1607,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1340,14 +1615,17 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricComponents/textlayoutmanager (0.78.3): + - React-FabricComponents/components/unimplementedview (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1356,6 +1634,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-logger @@ -1363,71 +1642,139 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-FabricImage (0.78.3): + - React-FabricComponents/textlayoutmanager (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricImage (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) - - RCTRequired (= 0.78.3) - - RCTTypeSafety (= 0.78.3) + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired (= 0.80.2) + - RCTTypeSafety (= 0.80.2) - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.78.3) + - React-jsiexecutor (= 0.80.2) - React-logger - React-rendererdebug - React-utils - ReactCommon + - SocketRocket - Yoga - - React-featureflags (0.78.3): - - RCT-Folly (= 2024.11.18.00) - - React-featureflagsnativemodule (0.78.3): + - React-featureflags (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-featureflagsnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog - hermes-engine - RCT-Folly + - RCT-Folly/Fabric - React-featureflags + - React-hermes - React-jsi - React-jsiexecutor - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - - React-graphics (0.78.3): + - SocketRocket + - React-graphics (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric + - React-hermes - React-jsi - React-jsiexecutor - React-utils - - React-hermes (0.78.3): + - SocketRocket + - React-hermes (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) - - React-cxxreact (= 0.78.3) + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.2) - React-jsi - - React-jsiexecutor (= 0.78.3) + - React-jsiexecutor (= 0.80.2) - React-jsinspector - - React-perflogger (= 0.78.3) + - React-jsinspectorcdp + - React-jsinspectortracing + - React-perflogger (= 0.80.2) - React-runtimeexecutor - - React-idlecallbacksnativemodule (0.78.3): + - SocketRocket + - React-idlecallbacksnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - RCT-Folly + - RCT-Folly/Fabric + - React-hermes - React-jsi - React-jsiexecutor - React-RCTFBReactNativeSpec - React-runtimescheduler - ReactCommon/turbomodule/core - - React-ImageManager (0.78.3): + - SocketRocket + - React-ImageManager (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog + - RCT-Folly - RCT-Folly/Fabric - React-Core/Default - React-debug @@ -1435,68 +1782,156 @@ PODS: - React-graphics - React-rendererdebug - React-utils - - React-jserrorhandler (0.78.3): + - SocketRocket + - React-jserrorhandler (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - React-cxxreact - React-debug - React-featureflags - React-jsi - ReactCommon/turbomodule/bridging - - React-jsi (0.78.3): + - SocketRocket + - React-jsi (0.80.2): - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) - - React-jsiexecutor (0.78.3): + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-jsiexecutor (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) - - React-cxxreact (= 0.78.3) - - React-jsi (= 0.78.3) + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.2) + - React-jsi (= 0.80.2) - React-jsinspector - - React-perflogger (= 0.78.3) - - React-jsinspector (0.78.3): + - React-jsinspectorcdp + - React-jsinspectortracing + - React-perflogger (= 0.80.2) + - SocketRocket + - React-jsinspector (0.80.2): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - RCT-Folly + - RCT-Folly/Fabric - React-featureflags - React-jsi + - React-jsinspectorcdp + - React-jsinspectornetwork - React-jsinspectortracing - - React-perflogger (= 0.78.3) - - React-runtimeexecutor (= 0.78.3) - - React-jsinspectortracing (0.78.3): + - React-perflogger (= 0.80.2) + - React-runtimeexecutor (= 0.80.2) + - SocketRocket + - React-jsinspectorcdp (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-jsinspectornetwork (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-jsinspectorcdp + - SocketRocket + - React-jsinspectortracing (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-oscompat + - SocketRocket + - React-jsitooling (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog - RCT-Folly - - React-jsitracing (0.78.3): + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.2) + - React-jsi (= 0.80.2) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - SocketRocket + - React-jsitracing (0.80.2): - React-jsi - - React-logger (0.78.3): + - React-logger (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - - React-Mapbuffer (0.78.3): + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-Mapbuffer (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog + - RCT-Folly + - RCT-Folly/Fabric - React-debug - - React-microtasksnativemodule (0.78.3): + - SocketRocket + - React-microtasksnativemodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog - hermes-engine - RCT-Folly + - RCT-Folly/Fabric + - React-hermes - React-jsi - React-jsiexecutor - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core + - SocketRocket - react-native-appsflyer (6.16.2): - AppsFlyerFramework (= 6.16.2) - React - react-native-blur (4.4.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1504,24 +1939,32 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - react-native-config (1.4.5): - react-native-config/App (= 1.4.5) - react-native-config/App (1.4.5): - React-Core - react-native-date-picker (5.0.13): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1529,14 +1972,18 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - react-native-geolocation-service (5.3.1): - React @@ -1546,13 +1993,17 @@ PODS: - React-Core - react-native-lottie-splash-screen (1.1.2): - React - - react-native-maps (1.23.12): - - react-native-maps/Maps (= 1.23.12) - - react-native-maps/Generated (1.23.12): + - react-native-maps (1.26.0): + - react-native-maps/Maps (= 1.26.0) + - react-native-maps/Generated (1.26.0): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1560,20 +2011,28 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - react-native-maps/Maps (1.23.12): + - react-native-maps/Maps (1.26.0): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1581,25 +2040,33 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - react-native-maps/Generated - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - react-native-netinfo (11.4.1): - React-Core - react-native-orientation-locker (1.7.0): - React-Core - react-native-performance (5.1.4): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1607,20 +2074,28 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - react-native-safe-area-context (5.5.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1628,22 +2103,30 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - react-native-safe-area-context/common (= 5.5.1) - react-native-safe-area-context/fabric (= 5.5.1) - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - react-native-safe-area-context/common (5.5.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1651,20 +2134,28 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - react-native-safe-area-context/fabric (5.5.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1672,23 +2163,31 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - react-native-safe-area-context/common - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - react-native-tracking-transparency (0.1.2): - React - react-native-webview (13.15.0): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1696,47 +2195,90 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - React-NativeModulesApple (0.78.3): + - React-NativeModulesApple (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric - React-callinvoker - React-Core - React-cxxreact + - React-featureflags + - React-hermes - React-jsi - React-jsinspector + - React-jsinspectorcdp - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.78.3): + - SocketRocket + - React-oscompat (0.80.2) + - React-perflogger (0.80.2): + - boost - DoubleConversion - - RCT-Folly (= 2024.11.18.00) - - React-performancetimeline (0.78.3): - - RCT-Folly (= 2024.11.18.00) - - React-cxxreact - - React-featureflags - - React-jsinspectortracing - - React-timing - - React-RCTActionSheet (0.78.3): - - React-Core/RCTActionSheetHeaders (= 0.78.3) - - React-RCTAnimation (0.78.3): - - RCT-Folly (= 2024.11.18.00) + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-performancetimeline (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-jsinspectortracing + - React-perflogger + - React-timing + - SocketRocket + - React-RCTActionSheet (0.80.2): + - React-Core/RCTActionSheetHeaders (= 0.80.2) + - React-RCTAnimation (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric - RCTTypeSafety - React-Core/RCTAnimationHeaders + - React-featureflags - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTAppDelegate (0.78.3): - - RCT-Folly (= 2024.11.18.00) + - SocketRocket + - React-RCTAppDelegate (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1747,36 +2289,48 @@ PODS: - React-featureflags - React-graphics - React-hermes + - React-jsitooling - React-NativeModulesApple - React-RCTFabric - React-RCTFBReactNativeSpec - React-RCTImage - React-RCTNetwork + - React-RCTRuntime - React-rendererdebug - React-RuntimeApple - React-RuntimeCore - - React-RuntimeHermes - React-runtimescheduler - React-utils - ReactCommon - - React-RCTBlob (0.78.3): + - SocketRocket + - React-RCTBlob (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt + - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - React-Core/RCTBlobHeaders - React-Core/RCTWebSocket - React-jsi - React-jsinspector + - React-jsinspectorcdp - React-NativeModulesApple - React-RCTFBReactNativeSpec - React-RCTNetwork - ReactCommon - - React-RCTFabric (0.78.3): + - SocketRocket + - React-RCTFabric (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - React-Core - React-debug - React-Fabric @@ -1784,30 +2338,50 @@ PODS: - React-FabricImage - React-featureflags - React-graphics + - React-hermes - React-ImageManager - React-jsi - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectornetwork - React-jsinspectortracing - React-performancetimeline + - React-RCTAnimation - React-RCTImage - React-RCTText - React-rendererconsistency + - React-renderercss - React-rendererdebug - React-runtimescheduler - React-utils + - SocketRocket - Yoga - - React-RCTFBReactNativeSpec (0.78.3): + - React-RCTFBReactNativeSpec (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog - hermes-engine - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-hermes - React-jsi - React-jsiexecutor - React-NativeModulesApple - ReactCommon - - React-RCTImage (0.78.3): - - RCT-Folly (= 2024.11.18.00) + - SocketRocket + - React-RCTImage (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric - RCTTypeSafety - React-Core/RCTImageHeaders - React-jsi @@ -1815,50 +2389,108 @@ PODS: - React-RCTFBReactNativeSpec - React-RCTNetwork - ReactCommon - - React-RCTLinking (0.78.3): - - React-Core/RCTLinkingHeaders (= 0.78.3) - - React-jsi (= 0.78.3) + - SocketRocket + - React-RCTLinking (0.80.2): + - React-Core/RCTLinkingHeaders (= 0.80.2) + - React-jsi (= 0.80.2) - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - ReactCommon/turbomodule/core (= 0.78.3) - - React-RCTNetwork (0.78.3): - - RCT-Folly (= 2024.11.18.00) + - ReactCommon/turbomodule/core (= 0.80.2) + - React-RCTNetwork (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric - RCTTypeSafety - React-Core/RCTNetworkHeaders + - React-featureflags - React-jsi + - React-jsinspectorcdp + - React-jsinspectornetwork - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTSettings (0.78.3): - - RCT-Folly (= 2024.11.18.00) + - SocketRocket + - React-RCTRuntime (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Core + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-jsitooling + - React-RuntimeApple + - React-RuntimeCore + - React-RuntimeHermes + - SocketRocket + - React-RCTSettings (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric - RCTTypeSafety - React-Core/RCTSettingsHeaders - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTText (0.78.3): - - React-Core/RCTTextHeaders (= 0.78.3) + - SocketRocket + - React-RCTText (0.80.2): + - React-Core/RCTTextHeaders (= 0.80.2) - Yoga - - React-RCTVibration (0.78.3): - - RCT-Folly (= 2024.11.18.00) + - React-RCTVibration (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric - React-Core/RCTVibrationHeaders - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - React-rendererconsistency (0.78.3) - - React-rendererdebug (0.78.3): + - SocketRocket + - React-rendererconsistency (0.80.2) + - React-renderercss (0.80.2): + - React-debug + - React-utils + - React-rendererdebug (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) - - RCT-Folly (= 2024.11.18.00) + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric - React-debug - - React-rncore (0.78.3) - - React-RuntimeApple (0.78.3): + - SocketRocket + - React-rncore (0.80.2) + - React-RuntimeApple (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - React-callinvoker - React-Core/Default - React-CoreModules @@ -1868,6 +2500,7 @@ PODS: - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsitooling - React-Mapbuffer - React-NativeModulesApple - React-RCTFabric @@ -1877,62 +2510,100 @@ PODS: - React-RuntimeHermes - React-runtimescheduler - React-utils - - React-RuntimeCore (0.78.3): + - SocketRocket + - React-RuntimeCore (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - React-cxxreact - React-Fabric - React-featureflags + - React-hermes - React-jserrorhandler - React-jsi - React-jsiexecutor - React-jsinspector + - React-jsitooling - React-performancetimeline - React-runtimeexecutor - React-runtimescheduler - React-utils - - React-runtimeexecutor (0.78.3): - - React-jsi (= 0.78.3) - - React-RuntimeHermes (0.78.3): + - SocketRocket + - React-runtimeexecutor (0.80.2): + - React-jsi (= 0.80.2) + - React-RuntimeHermes (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - React-featureflags - React-hermes - React-jsi - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-jsitooling - React-jsitracing - React-RuntimeCore - React-utils - - React-runtimescheduler (0.78.3): + - SocketRocket + - React-runtimescheduler (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - React-callinvoker - React-cxxreact - React-debug - React-featureflags + - React-hermes - React-jsi + - React-jsinspectortracing - React-performancetimeline - React-rendererconsistency - React-rendererdebug - React-runtimeexecutor - React-timing - React-utils - - React-timing (0.78.3) - - React-utils (0.78.3): + - SocketRocket + - React-timing (0.80.2) + - React-utils (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - React-debug - - React-jsi (= 0.78.3) - - ReactAppDependencyProvider (0.78.3): + - React-hermes + - React-jsi (= 0.80.2) + - SocketRocket + - ReactAppDependencyProvider (0.80.2): - ReactCodegen - - ReactCodegen (0.78.3): + - ReactCodegen (0.80.2): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -1941,6 +2612,7 @@ PODS: - React-FabricImage - React-featureflags - React-graphics + - React-hermes - React-jsi - React-jsiexecutor - React-NativeModulesApple @@ -1949,55 +2621,77 @@ PODS: - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - ReactCommon (0.78.3): - - ReactCommon/turbomodule (= 0.78.3) - - ReactCommon/turbomodule (0.78.3): + - SocketRocket + - ReactCommon (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - ReactCommon/turbomodule (= 0.80.2) + - SocketRocket + - ReactCommon/turbomodule (0.80.2): + - boost + - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) - - React-callinvoker (= 0.78.3) - - React-cxxreact (= 0.78.3) - - React-jsi (= 0.78.3) - - React-logger (= 0.78.3) - - React-perflogger (= 0.78.3) - - ReactCommon/turbomodule/bridging (= 0.78.3) - - ReactCommon/turbomodule/core (= 0.78.3) - - ReactCommon/turbomodule/bridging (0.78.3): + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.2) + - React-cxxreact (= 0.80.2) + - React-jsi (= 0.80.2) + - React-logger (= 0.80.2) + - React-perflogger (= 0.80.2) + - ReactCommon/turbomodule/bridging (= 0.80.2) + - ReactCommon/turbomodule/core (= 0.80.2) + - SocketRocket + - ReactCommon/turbomodule/bridging (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) - - React-callinvoker (= 0.78.3) - - React-cxxreact (= 0.78.3) - - React-jsi (= 0.78.3) - - React-logger (= 0.78.3) - - React-perflogger (= 0.78.3) - - ReactCommon/turbomodule/core (0.78.3): + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.2) + - React-cxxreact (= 0.80.2) + - React-jsi (= 0.80.2) + - React-logger (= 0.80.2) + - React-perflogger (= 0.80.2) + - SocketRocket + - ReactCommon/turbomodule/core (0.80.2): + - boost - DoubleConversion - - fast_float (= 6.1.4) - - fmt (= 11.0.2) + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) - - React-callinvoker (= 0.78.3) - - React-cxxreact (= 0.78.3) - - React-debug (= 0.78.3) - - React-featureflags (= 0.78.3) - - React-jsi (= 0.78.3) - - React-logger (= 0.78.3) - - React-perflogger (= 0.78.3) - - React-utils (= 0.78.3) + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.2) + - React-cxxreact (= 0.80.2) + - React-debug (= 0.80.2) + - React-featureflags (= 0.80.2) + - React-jsi (= 0.80.2) + - React-logger (= 0.80.2) + - React-perflogger (= 0.80.2) + - React-utils (= 0.80.2) + - SocketRocket - RNBatchPush (1.0.0): - Batch (~> 2.1.0) + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React @@ -2006,22 +2700,30 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - RNCAsyncStorage (1.17.11): - React-Core - RNCClipboard (1.16.2): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2029,21 +2731,56 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - RNDeviceInfo (14.0.4): - React-Core - - RNFastImage (8.6.3): + - RNFastImage (8.13.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - libavif/core (~> 0.11.1) + - libavif/libdav1d (~> 0.11.1) + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety - React-Core - - SDWebImage (~> 5.11.1) - - SDWebImageWebPCoder (~> 0.8.4) + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SDWebImage (>= 5.19.1) + - SDWebImageAVIFCoder (~> 0.11.0) + - SDWebImageSVGCoder (~> 1.7.0) + - SDWebImageWebPCoder (~> 0.14) + - SocketRocket + - Yoga - RNFBAnalytics (22.2.1): - Firebase/Analytics (= 11.13.0) - React-Core @@ -2063,11 +2800,15 @@ PODS: - Firebase/RemoteConfig (= 11.13.0) - React-Core - RNFBApp - - RNGestureHandler (2.26.0): + - RNGestureHandler (2.29.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2076,23 +2817,31 @@ PODS: - React-FabricComponents - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - RNGoogleSignin (10.1.0): - GoogleSignIn (~> 7.0) - React-Core - RNKeychain (10.0.0): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2100,20 +2849,57 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - RNPermissions (5.4.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - RNReanimated (4.1.5): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2121,20 +2907,30 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - RNReanimated/reanimated (= 4.1.5) + - RNWorklets + - SocketRocket - Yoga - - RNReanimated (3.18.0): + - RNReanimated/reanimated (4.1.5): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2147,19 +2943,25 @@ PODS: - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNReanimated/reanimated (= 3.18.0) - - RNReanimated/worklets (= 3.18.0) + - RNReanimated/reanimated/apple (= 4.1.5) + - RNWorklets + - SocketRocket - Yoga - - RNReanimated/reanimated (3.18.0): + - RNReanimated/reanimated/apple (4.1.5): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2172,18 +2974,24 @@ PODS: - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNReanimated/reanimated/apple (= 3.18.0) + - RNWorklets + - SocketRocket - Yoga - - RNReanimated/reanimated/apple (3.18.0): + - RNScreens (4.11.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2196,17 +3004,25 @@ PODS: - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-RCTImage + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - RNScreens/common (= 4.11.1) + - SocketRocket - Yoga - - RNReanimated/worklets (3.18.0): + - RNScreens/common (4.11.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2219,18 +3035,24 @@ PODS: - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-RCTImage + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNReanimated/worklets/apple (= 3.18.0) + - SocketRocket - Yoga - - RNReanimated/worklets/apple (3.18.0): + - RNSentry (6.22.0): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2243,17 +3065,24 @@ PODS: - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - Sentry/HybridSDK (= 8.56.2) + - SocketRocket - Yoga - - RNScreens (4.11.1): + - RNShare (12.2.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2261,22 +3090,28 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric - - React-RCTImage + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNScreens/common (= 4.11.1) + - SocketRocket - Yoga - - RNScreens/common (4.11.1): + - RNSVG (15.12.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2284,21 +3119,29 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric - - React-RCTImage + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - RNSVG/common (= 15.12.1) + - SocketRocket - Yoga - - RNSentry (6.22.0): + - RNSVG/common (15.12.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2308,20 +3151,26 @@ PODS: - React-graphics - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - Sentry/HybridSDK (= 8.56.2) + - SocketRocket - Yoga - - RNShare (12.2.1): + - RNWorklets (0.6.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2329,20 +3178,29 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - RNWorklets/worklets (= 0.6.1) + - SocketRocket - Yoga - - RNSVG (15.12.1): + - RNWorklets/worklets (0.6.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2350,21 +3208,29 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNSVG/common (= 15.12.1) + - RNWorklets/worklets/apple (= 0.6.1) + - SocketRocket - Yoga - - RNSVG/common (15.12.1): + - RNWorklets/worklets/apple (0.6.1): + - boost - DoubleConversion + - fast_float + - fmt - glog - hermes-engine - - RCT-Folly (= 2024.11.18.00) + - RCT-Folly + - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core @@ -2372,21 +3238,30 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric + - React-renderercss - React-rendererdebug - React-utils - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - SocketRocket - Yoga - - SDWebImage (5.11.1): - - SDWebImage/Core (= 5.11.1) - - SDWebImage/Core (5.11.1) - - SDWebImageWebPCoder (0.8.5): + - SDWebImage (5.21.3): + - SDWebImage/Core (= 5.21.3) + - SDWebImage/Core (5.21.3) + - SDWebImageAVIFCoder (0.11.1): + - libavif/core (>= 0.11.0) + - SDWebImage (~> 5.10) + - SDWebImageSVGCoder (1.7.0): + - SDWebImage/Core (~> 5.6) + - SDWebImageWebPCoder (0.15.0): - libwebp (~> 1.0) - - SDWebImage/Core (~> 5.10) + - SDWebImage/Core (~> 5.17) - Sentry/HybridSDK (8.56.2) - SocketRocket (0.7.1) - SSZipArchive (2.2.3) @@ -2408,7 +3283,6 @@ DEPENDENCIES: - "HotUpdater (from `../node_modules/@hot-updater/react-native`)" - lottie-react-native (from `../node_modules/lottie-react-native`) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - RCTRequired (from `../node_modules/react-native/Libraries/Required`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) @@ -2434,7 +3308,10 @@ DEPENDENCIES: - 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-modern`) + - React-jsinspectorcdp (from `../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`) + - React-jsinspectornetwork (from `../node_modules/react-native/ReactCommon/jsinspector-modern/network`) - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) + - React-jsitooling (from `../node_modules/react-native/ReactCommon/jsitooling`) - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) @@ -2455,6 +3332,7 @@ DEPENDENCIES: - react-native-tracking-transparency (from `../node_modules/react-native-tracking-transparency`) - react-native-webview (from `../node_modules/react-native-webview`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) @@ -2466,10 +3344,12 @@ DEPENDENCIES: - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTRuntime (from `../node_modules/react-native/React/Runtime`) - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) + - React-renderercss (from `../node_modules/react-native/ReactCommon/react/renderer/css`) - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) - React-rncore (from `../node_modules/react-native/ReactCommon`) - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) @@ -2486,7 +3366,7 @@ DEPENDENCIES: - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" - "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)" - RNDeviceInfo (from `../node_modules/react-native-device-info`) - - RNFastImage (from `../node_modules/react-native-fast-image`) + - "RNFastImage (from `../node_modules/@d11/react-native-fast-image`)" - "RNFBAnalytics (from `../node_modules/@react-native-firebase/analytics`)" - "RNFBApp (from `../node_modules/@react-native-firebase/app`)" - "RNFBFirestore (from `../node_modules/@react-native-firebase/firestore`)" @@ -2501,6 +3381,8 @@ DEPENDENCIES: - "RNSentry (from `../node_modules/@sentry/react-native`)" - RNShare (from `../node_modules/react-native-share`) - RNSVG (from `../node_modules/react-native-svg`) + - RNWorklets (from `../node_modules/react-native-worklets`) + - SocketRocket (~> 0.7.1) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -2534,12 +3416,16 @@ SPEC REPOS: - GTMAppAuth - GTMSessionFetcher - leveldb-library + - libavif + - libdav1d - libwebp - lottie-ios - nanopb - PromisesObjC - PromisesSwift - SDWebImage + - SDWebImageAVIFCoder + - SDWebImageSVGCoder - SDWebImageWebPCoder - Sentry - SocketRocket @@ -2565,7 +3451,7 @@ EXTERNAL SOURCES: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-2025-01-13-RNv0.78.0-a942ef374897d85da38e9c8904574f8376555388 + :tag: hermes-2025-07-24-RNv0.80.2-5c7dbc0a78cb2d2a8bc81c41c617c3abecf209ff HotUpdater: :path: "../node_modules/@hot-updater/react-native" lottie-react-native: @@ -2620,8 +3506,14 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" + React-jsinspectorcdp: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/cdp" + React-jsinspectornetwork: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/network" React-jsinspectortracing: :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" + React-jsitooling: + :path: "../node_modules/react-native/ReactCommon/jsitooling" React-jsitracing: :path: "../node_modules/react-native/ReactCommon/hermes/executor/" React-logger: @@ -2662,6 +3554,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-webview" React-NativeModulesApple: :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-oscompat: + :path: "../node_modules/react-native/ReactCommon/oscompat" React-perflogger: :path: "../node_modules/react-native/ReactCommon/reactperflogger" React-performancetimeline: @@ -2684,6 +3578,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: :path: "../node_modules/react-native/Libraries/Network" + React-RCTRuntime: + :path: "../node_modules/react-native/React/Runtime" React-RCTSettings: :path: "../node_modules/react-native/Libraries/Settings" React-RCTText: @@ -2692,6 +3588,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Vibration" React-rendererconsistency: :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" + React-renderercss: + :path: "../node_modules/react-native/ReactCommon/react/renderer/css" React-rendererdebug: :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" React-rncore: @@ -2725,7 +3623,7 @@ EXTERNAL SOURCES: RNDeviceInfo: :path: "../node_modules/react-native-device-info" RNFastImage: - :path: "../node_modules/react-native-fast-image" + :path: "../node_modules/@d11/react-native-fast-image" RNFBAnalytics: :path: "../node_modules/@react-native-firebase/analytics" RNFBApp: @@ -2754,6 +3652,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-share" RNSVG: :path: "../node_modules/react-native-svg" + RNWorklets: + :path: "../node_modules/react-native-worklets" Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" @@ -2770,8 +3670,8 @@ SPEC CHECKSUMS: boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 BVLinearGradient: 880f91a7854faff2df62518f0281afb1c60d49a3 DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb - fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6 - FBLazyVector: e053802577a711add20e45bbbf5dd1180b6ca62e + fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 + FBLazyVector: 86588b5a1547e7a417942a08f49559b184e002c8 Firebase: 3435bc66b4d494c2f22c79fd3aae4c1db6662327 FirebaseABTesting: 4048f61cc10d2fad064d3089ace6bd5fb910169b FirebaseAnalytics: 630349facf4a114a0977e5d7570e104261973287 @@ -2792,120 +3692,131 @@ SPEC CHECKSUMS: FirebaseSessions: eaa8ec037e7793769defe4201c20bd4d976f9677 FirebaseSharedSwift: aca73668bc95e8efccb618e0167eab05d19d3a75 fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd - glog: eb93e2f488219332457c3c4eafd2738ddc7e80b8 + glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 GoogleAppMeasurement: 0dfca1a4b534d123de3945e28f77869d10d0d600 GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 - hermes-engine: b5c9cfbe6415f1b0b24759f2942c8f33e9af6347 - HotUpdater: 44ee5ed02413daa001b028cb39af454fb955fd7b + hermes-engine: bbc1152da7d2d40f9e59c28acc6576fcf5d28e2a + HotUpdater: edafe5b2c4e477e270f3a50ac0f1580f739b8ded leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19 + libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7 + libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 lottie-ios: a881093fab623c467d3bce374367755c272bdd59 - lottie-react-native: db1c1d7a2c8104b540d3712e1d27f07fc81f6beb + lottie-react-native: cd435579cf8278bbfb6526684242a53dd335d338 nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 - RCT-Folly: 36fe2295e44b10d831836cc0d1daec5f8abcf809 - RCTDeprecation: cf39863b43871c2031050605fb884019b6193910 - RCTRequired: 8fdd66f4a97f352b66f38cfef13fc11b12d2c884 - RCTTypeSafety: c9c9e64389bc545fc137030615b387ef1654dcee - React: 14a80ea4f13387cfdaa4250b46fbfe19754c220c - React-callinvoker: fed1dad5d6cf992c7b4b5fdbf1bf67fe2e8fb6c5 - React-Core: f703e7a56fcedc3e959b8b7899995e57fd58539a - React-CoreModules: 6e87c904cc257058c271708eef1719b5b3039131 - React-cxxreact: 4153beeff710944832cd90ccb141e299ee16b7d3 - React-debug: a665bbe67eb786b7a7a815ce1b7212b3f9fa962c - React-defaultsnativemodule: 7e4a2c2b13ec2943f2f3b8adec32130443909de6 - React-domnativemodule: dffaa482180243bd1e2b7fba329fd4adc12a2445 - React-Fabric: bd742f0ddb6073ff14f7e51075bc0380b84e7f7a - React-FabricComponents: 347a74f275f989b493ab5324a2161e6b3de5556e - React-FabricImage: f9da31053da5aae09b7f67afdc46329c6e3a2710 - React-featureflags: 55800b546a28b63a8a0f419e1a45871d43523d32 - React-featureflagsnativemodule: a0ea334fdd3342a2e4dc05085c3e7653e16839d3 - React-graphics: 7360f5f3611fd5982aa0de772a73987ab401fb02 - React-hermes: a942bebef5e9fcc31f51c6fb814e96c260a2a20d - React-idlecallbacksnativemodule: 74d091304aad1ceb0c5b86e5dec14372fcdc0f34 - React-ImageManager: 6b2a95469d9a126f14410bbe10fb7378d37ed0e0 - React-jserrorhandler: 2643140639cbf047bf45f5c1a3ea95b04d748582 - React-jsi: b2de88284fc2cc69466a34d8b794160216d3bd2c - React-jsiexecutor: e947af1c9e42610affd9f4178cd4b649e8ac889b - React-jsinspector: 6d768dfb189027f7ff2161be31ccd69215426ded - React-jsinspectortracing: a6a70eb5c9d767d99391d0373330a7239fb6f9d0 - React-jsitracing: 69280997c7a80ac0af62b95f01a241d68581fb52 - React-logger: e6c3c1b55c18cc1b945b647ff9ada53e0e710b50 - React-Mapbuffer: 57bea44149376ecf1241dd9f02a6222adab43e57 - React-microtasksnativemodule: 2739fc8a8cb99486820c933ce560791c93be5337 + RCT-Folly: 59ec0ac1f2f39672a0c6e6cecdd39383b764646f + RCTDeprecation: 300c5eb91114d4339b0bb39505d0f4824d7299b7 + RCTRequired: e0446b01093475b7082fbeee5d1ef4ad1fe20ac4 + RCTTypeSafety: cb974efcdc6695deedf7bf1eb942f2a0603a063f + React: e7a4655b09d0e17e54be188cc34c2f3e2087318a + React-callinvoker: 62192daaa2f30c3321fc531e4f776f7b09cf892b + React-Core: c400b068fdb6172177f3b3fae00c10d1077244d7 + React-CoreModules: 8e911a5a504b45824374eec240a78de7a6db8ca2 + React-cxxreact: 06a91f55ac5f842219d6ca47e0f77187a5b5f4ac + React-debug: ab52e07f7148480ea61c5e9b68408d749c6e2b8f + React-defaultsnativemodule: fab7bf1b5ce1f3ed252aa4e949ec48a8df67d624 + React-domnativemodule: 735fa5238cceebceeecc18f9f4321016461178cf + React-Fabric: c75719fc8818049c3cf9071f0619af988b020c9f + React-FabricComponents: 74a381cc0dfaf2ec3ee29f39ef8533a7fd864b83 + React-FabricImage: 9a3ff143b1ac42e077c0b33ec790f3674ace5783 + React-featureflags: e1eca0727563a61c919131d57bbd0019c3bdb0f0 + React-featureflagsnativemodule: 692211fd48283b2ddee3817767021010e2f1788e + React-graphics: 759b02bde621f12426c1dc1ae2498aaa6b441cd7 + React-hermes: b6e33fcd21aa7523dc76e62acd7a547e68c28a5b + React-idlecallbacksnativemodule: 731552efc0815fc9d65a6931da55e722b1b3a397 + React-ImageManager: 2c510a480f2c358f56a82df823c66d5700949c96 + React-jserrorhandler: 411e18cbdcbdf546f8f8707091faeb00703527c1 + React-jsi: 3fde19aaf675c0607a0824c4d6002a4943820fd9 + React-jsiexecutor: 4f898228240cf261a02568e985dfa7e1d7ad1dfb + React-jsinspector: 2f0751e6a4fb840f4ed325384d0795a9e9afaf39 + React-jsinspectorcdp: 71c48944d97f5f20e8e144e419ddf04ffa931e93 + React-jsinspectornetwork: 102f347669b278644cc9bb4ebf2f90422bd5ccef + React-jsinspectortracing: 0f6f2ec7f3faa9dc73d591b24b460141612515eb + React-jsitooling: b557f8e12efdaf16997e43b0d07dbd8a3fce3a5b + React-jsitracing: f9a77561d99c0cd053a8230bab4829b100903949 + React-logger: ea80169d826e0cd112fa4d68f58b2b3b968f1ecb + React-Mapbuffer: 230c34b1cabd1c4815726c711b9df221c3d3fbfb + React-microtasksnativemodule: 29d62f132e4aba34ebb7f2b936dde754eb08971b react-native-appsflyer: d52a08a5e687e4c2aca78519b0e258e1a82fad0a - react-native-blur: 6782cb12b39a0200ad2a782fb9a5529c2c83c33b + react-native-blur: 92cc889e5515dcb0746d5a24207a28eea2f6bb65 react-native-config: 5e2fe7217716b5472ed7901477620b1370335d67 - react-native-date-picker: 88d5c7fc7a0e9f27edd698e35b8365c8bc2a8fc6 + react-native-date-picker: 01ffc52e9d487c6f1b313185dd7477508f27e8bf react-native-geolocation-service: 608e1da71a1ac31b4de64d9ef2815f697978c55b react-native-get-random-values: 2c4ff6b44cb71291dabe9a8ae87d3877dcf387da react-native-in-app-review: db8bb167a5f238e7ceca5c242d6b36ce8c4404a4 react-native-lottie-splash-screen: 4e1b1fd9d6633f9cd2106d6877eb5ba0147f3e2b - react-native-maps: 20fecb1f385a6775e04878f482a3d3e3d1906f86 + react-native-maps: fd5dfd04c16cb48f5affbab4e60ebb39b2559f38 react-native-netinfo: f0a9899081c185db1de5bb2fdc1c88c202a059ac react-native-orientation-locker: 5819fd23ca89cbac0d736fb4314745f62716d517 - react-native-performance: 446a14bdd7b46ae78c3ae652aa7ab23ff2a93f1f - react-native-safe-area-context: 8f49152d936d4e0b37d586368afde3b8d6af7f9a + react-native-performance: c9fdad2f052f5ca8e2205eb865bc9e8aa5a08cbe + react-native-safe-area-context: 8ee5d09f0dbb3ed3749878784ea7d6cc23e69ba2 react-native-tracking-transparency: 25ff1ff866e338c137c818bdec20526bb05ffcc1 - react-native-webview: f3180bd28381ba09520b01f36fd84d377f6ebc49 - React-NativeModulesApple: 4849912ee050e6ae346f5789bd631570580d8b84 - React-perflogger: 069d41f741187be92ed46c6ac67add03b99f3166 - React-performancetimeline: eda794c5007eb6834e13bc6026a879b5f6d49c74 - React-RCTActionSheet: a078d5008632fed31b0024c420ee02e612b317d5 - React-RCTAnimation: 82e31d191af4175e0c2df5bdac2c8569a5f3ab54 - React-RCTAppDelegate: a5c1ff79f5987462b4f62b27387459ba84012439 - React-RCTBlob: c462b8b7de6ce44ddc56dd96eebe1da0a6e54c77 - React-RCTFabric: 56b946204edb5d563885b3b045bdacbb387b27e7 - React-RCTFBReactNativeSpec: 8392ef66ad156cfa848546859bbff3b5e8a09458 - React-RCTImage: 10fad63f1bb8adbd519c4c2ef6bec3c0d95fdd32 - React-RCTLinking: 3843288a44dc33ec083c843f3ff31dd7d96ece41 - React-RCTNetwork: f237299bda8bbd56c4d01d2825110e40b75c438a - React-RCTSettings: c24ce1ee96c9b001ff5059ddd53412a20b7d5e71 - React-RCTText: d97cfb9c89b06de9530577dd43f178c47ea07853 - React-RCTVibration: 2fcefee071a4f0d416e4368416bb073ea6893451 - React-rendererconsistency: c9f31b6d55877c5d49d25d69270b89f9cb208e26 - React-rendererdebug: 185ba0f801f29565873f7a37e410a812eddaa1ee - React-rncore: 90e637179a4ce46643d445a9ef16f53af02a8d25 - React-RuntimeApple: 713b7c24b3abed07fa39766b35deaabd679ba48e - React-RuntimeCore: 236d704919077fd3393a26fd0ecbaecc081ec94f - React-runtimeexecutor: 2de0d537fc6d5b4a7074587b4459ea331c7e5715 - React-RuntimeHermes: 3e87ad8c5160c976addacd679774a5e4fdb3c4b4 - React-runtimescheduler: bafaf0af0f68bd761d63ff4de3bf13e391820f79 - React-timing: 7ad7dc61dfc93ceb4ec2b3e6d1a6ad9ad3652fe0 - React-utils: cf358d29b6802cca3d1bec20a939f2f5d50d40ba - ReactAppDependencyProvider: ad88c80e06f29900f2e6f9ccf1d4cb0bfc3e1bbc - ReactCodegen: 69c7aec61821e1860aaaf959189218ecca40e811 - ReactCommon: ef3e394efce4b78e9214587689c459cf82927368 - RNBatchPush: 8986444edff758f9924a128af7a89f5893a39572 + react-native-webview: d90a817ab0aeae10c1047fe2a6601765ce69fde0 + React-NativeModulesApple: d061f458c3febdf0ac99b1b0faf23b7305974b25 + React-oscompat: 56d6de59f9ae95cd006a1c40be2cde83bc06a4e1 + React-perflogger: 0633844e495d8b34798c9bf0cb32ce315f1d5c9f + React-performancetimeline: 53bdf62ff49a9b0c4bd4d66329fdcf28d77c1c9d + React-RCTActionSheet: 49138012280ec3bbb35193d8d09adb8bc61c982e + React-RCTAnimation: c7ed4a9d5a4e43c9b10f68bb43cd238c4a2e7e89 + React-RCTAppDelegate: ea2ab6f4aef1489f72025b7128d8ab645b40eafb + React-RCTBlob: c052799460b245e1fffe3d1dddea36fa88e998a0 + React-RCTFabric: fad6230640c42fb8cda29b1d0759f7a1fb8cc677 + React-RCTFBReactNativeSpec: ffb22c3ee3d359ae9245ca94af203845da9371ec + React-RCTImage: 59fc2571f4f109a77139924f5babee8f9cd639c9 + React-RCTLinking: a045cb58c08188dce6c6f4621de105114b1b16ce + React-RCTNetwork: fc7115a2f5e15ae0aa05e9a9be726817feefb482 + React-RCTRuntime: c69b86dc60dcc7297318097fc60bd8e40b050f74 + React-RCTSettings: 30d7dd7eae66290467a1e72bf42d927fa78c3884 + React-RCTText: 755d59284e66c7d33bb4f0ccc428fe69110c3e74 + React-RCTVibration: ffe019e588815df226f6f8ccdc65979f8b2bc440 + React-rendererconsistency: aba18fa58a4d037004f6bed6bb201eb368016c56 + React-renderercss: c7c140782f5f21103b638abfde7b3f11d6a5fd7e + React-rendererdebug: 111519052db9610f1b93baf7350c800621df3d0c + React-rncore: 22f344c7f9109b68c3872194b0b5081ca1aee655 + React-RuntimeApple: 30d20d804a216eb297ccc9ce1dc9e931738c03b1 + React-RuntimeCore: 6e1facd50e0b7aed1bc36b090015f33133958bb6 + React-runtimeexecutor: b35de9cb7f5d19c66ea9b067235f95b947697ba5 + React-RuntimeHermes: 222268a5931a23f095565c4d60e2673c04e2178a + React-runtimescheduler: aea93219348ba3069fe6c7685a84fe17d3a4b4ee + React-timing: 42e8212c479d1e956d3024be0a07f205a2e34d9d + React-utils: 0ebf25dd4eb1b5497933f4d8923b862d0fe9566f + ReactAppDependencyProvider: 6c9197c1f6643633012ab646d2bfedd1b0d25989 + ReactCodegen: f8ae44cfcb65af88f409f4b094b879591232f12c + ReactCommon: a237545f08f598b8b37dc3a9163c1c4b85817b0b + RNBatchPush: d4dea6bf9212953209516b4d802837a22bb4a4ad RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60 - RNCClipboard: de1561c12ba8a15f143347993a382c6474c0d2d6 + RNCClipboard: 15efcee0bdfc617cd0b480c219b1d337fdba4358 RNDeviceInfo: feea80a690d2bde1fe51461cf548039258bd03f2 - RNFastImage: 5c9c9fed9c076e521b3f509fe79e790418a544e8 + RNFastImage: 5a93bbcb0fdce080b045a4b43f862fa3826e77ed RNFBAnalytics: 921718282c3326adb23f1eb732898e31804be5a3 RNFBApp: df5caad9f64b6bc87f8a0b110e6bc411fb00a12b RNFBFirestore: fa1739cc4dc22aff2cc384808a963e809802d956 RNFBPerf: c32ec64522c2e4d81d1562747809314e9050b75f RNFBRemoteConfig: 1bd86986a8372a52c95c00d83d73c44a3d61f31d - RNGestureHandler: 6bd728f386096ebb26670b4dd6a604a67b14f65d + RNGestureHandler: 4ac6e01f5dea6fef42b77e0cf3723727668c3863 RNGoogleSignin: a6a612cce56a45ab701c5c5c6e36f5390522d100 - RNKeychain: 774184659ed098fd715a4976d44e2003c829934f - RNPermissions: 57959c69d512e865639e7c312005ac7d610e0064 - RNReanimated: 54fbd14d2d88e242e8f8ad46376db0c78ae88bd1 - RNScreens: 39b2b81ef7e0d93386810ac7c1860b6248bb1e15 - RNSentry: 4784bc1989fcf63d534afe69274dfb662cf241ef - RNShare: c7be3f1eb30ce8814a67ee22b4fda59dcfb07454 - RNSVG: 02ef1157622e9e59e31c257e48a0dc943411c7bf - SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d - SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d + RNKeychain: 75a69663382c48a55fbe875a6f1bd83fe7169b6a + RNPermissions: 3189bfe4d863b83c8b530a0c9c26f1080a393eb3 + RNReanimated: f58748c1e80282d9f103367967cc5696df3b0214 + RNScreens: 5ca475eb30f4362c5808f3ff4a1c7b786bcd878e + RNSentry: c98dba4c036a77ca114cf9b03d2a7643336454c5 + RNShare: a9e2a2325efa6a31416712a239eae1a282a354cf + RNSVG: 15b549eab93d3c7f1de4f7ab612a88132ebc1bca + RNWorklets: 83f7f4cd8c2ef480a058ff347a74e44d5596a5f8 + SDWebImage: 16309af6d214ba3f77a7c6f6fdda888cb313a50a + SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57 + SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c + SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377 Sentry: b53951377b78e21a734f5dc8318e333dbfc682d7 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 SSZipArchive: 62d4947b08730e4cda640473b0066d209ff033c9 - Yoga: 66a9fd80007d5d5fce19d1676ce17b4d5e16e9b1 + Yoga: 1e9b9a43e24807ab708430d5d1bf5e36a55a1c4d PODFILE CHECKSUM: 1867a18ae22d869eedc7a57c64c4f848b9d75a83 diff --git a/jest.config.js b/jest.config.js index 672be7a4f523..fbce4c213f3e 100644 --- a/jest.config.js +++ b/jest.config.js @@ -59,6 +59,8 @@ module.exports = { 'instantsearch.js', '@pass-culture/design-system', 'search-insights', + '@d11/react-native-fast-image', + '@gorhom/bottom-sheet', ].join('|') + ').+\\.(js|jsx|mjs|cjs|ts|tsx)$', ], diff --git a/jest.web.config.js b/jest.web.config.js index 58f8f9f0f9ea..400ff63d51bd 100644 --- a/jest.web.config.js +++ b/jest.web.config.js @@ -24,7 +24,7 @@ module.exports = { '\\.(css|less)$': '/__mocks__/fileMock.ts', // temporary mock things until implemented - 'react-native-fast-image': '/__mocks__/fragmentMock.ts', + '@d11/react-native-fast-image': '/__mocks__/fragmentMock.ts', }, collectCoverageFrom: ['src/**/*.web.{js,jsx,ts,tsx}', ...excludeCollectCoverageFrom], testPathIgnorePatterns: [ @@ -48,6 +48,7 @@ module.exports = { '|instantsearch.js' + '|react-native-intersection-observer' + '|react-native-reanimated' + + '|react-native-worklets' + '|@pass-culture/design-system' + '|search-insights' + '|react-native-gesture-handler' + diff --git a/jest/jest.setup.ts b/jest/jest.setup.ts index 0dfdde0fc6ee..1c9b3171925c 100644 --- a/jest/jest.setup.ts +++ b/jest/jest.setup.ts @@ -1,6 +1,6 @@ +import { EmitterSubscription, Keyboard } from 'react-native' /* eslint-disable no-undef */ import 'cross-fetch/polyfill' - // @ts-ignore jest can have access to this file but typescript does not know it // We can see it import mockRNDeviceInfo from 'react-native-device-info/jest/react-native-device-info-mock' @@ -36,3 +36,12 @@ jest.mock('react-native-orientation-locker') jest.mock('shared/accessibility/useGetFontScale', () => ({ useGetFontScale: () => ({ fontScale: 1 }), })) + +// It would be better to put it in the __mocks__ folder, but I haven't been able to do that. +// Mock Keyboard.addListener to avoid "TypeError: Cannot read property 'remove' of undefined" +jest.spyOn(Keyboard, 'addListener').mockImplementation( + () => + ({ + remove: jest.fn(), + }) as unknown as EmitterSubscription +) diff --git a/package.json b/package.json index abeec22f0f0b..257230e9a38f 100644 --- a/package.json +++ b/package.json @@ -91,8 +91,9 @@ "@algolia/client-search": "^4.24.0", "@bam.tech/react-native-config": "^1.4.5", "@batch.com/react-native-plugin": "10.1.2", + "@d11/react-native-fast-image": "^8.13.0", "@emotion/is-prop-valid": "^1.3.1", - "@gorhom/bottom-sheet": "^4", + "@gorhom/bottom-sheet": "^5.2.6", "@hookform/resolvers": "^2.9.11", "@hot-updater/react-native": "^0.20.11", "@openspacelabs/react-native-zoomable-view": "^2.1.5", @@ -139,26 +140,25 @@ "lodash": "^4.17.21", "lottie-react-native": "^7.3.2", "patch-package": "^8.0.0", - "react": "19.0.0", + "react": "19.1.0", "react-app-polyfill": "^2.0.0", "react-device-detect": "^2.2.3", - "react-dom": "19.0.0", + "react-dom": "19.1.0", "react-error-boundary": "^3.1.0", "react-helmet": "^6.1.0", "react-hook-form": "^7.35.0", "react-instantsearch": "^7.8.1", "react-instantsearch-core": "^7.8.1", "react-mobile-picker": "^0.2.1", - "react-native": "0.78.3", + "react-native": "0.80.2", "react-native-animatable": "^1.3.3", "react-native-appsflyer": "^6.16.2", "react-native-calendars": "1.1312.0", "react-native-date-picker": "^5.0.13", "react-native-device-info": "^14.0.4", "react-native-email-link": "^1.10.0", - "react-native-fast-image": "^8.6.3", "react-native-geolocation-service": "5.3.1", - "react-native-gesture-handler": "^2.26.0", + "react-native-gesture-handler": "^2.29.1", "react-native-get-random-values": "^1.5.1", "react-native-in-app-review": "^4.3.1", "react-native-intersection-observer": "^0.2.1", @@ -166,13 +166,13 @@ "react-native-linear-gradient": "^2.8.3", "react-native-lottie-splash-screen": "^1.1.2", "react-native-map-clustering": "^4.0.0", - "react-native-maps": "1.23.12", + "react-native-maps": "1.26.0", "react-native-modal": "13.0.1", "react-native-orientation-locker": "^1.7.0", "react-native-performance": "^5.1.4", "react-native-permissions": "^5.4.1", "react-native-qrcode-svg": "^6.1.2", - "react-native-reanimated": "^3.15.0", + "react-native-reanimated": "^4.1.5", "react-native-reanimated-carousel": "^4.0.2", "react-native-safe-area-context": "^5.5.1", "react-native-screens": "^4.11.1", @@ -184,6 +184,7 @@ "react-native-web-lottie": "^1.4.4", "react-native-web-swiper": "2.2.4", "react-native-webview": "^13.15.0", + "react-native-worklets": "^0.6.1", "react-native-youtube-iframe": "^2.3.0", "react-window": "^1.8.9", "react-youtube": "^10.1.0", @@ -194,7 +195,7 @@ "supercluster": "^8.0.1", "uuid": "^8.3.2", "yup": "^0.32.11", - "zustand": "^4.5.2" + "zustand": "^4.5.7" }, "devDependencies": { "@babel/core": "^7.25.2", @@ -214,13 +215,13 @@ "@hot-updater/bare": "^0.20.11", "@hot-updater/firebase": "^0.20.11", "@lhci/cli": "^0.14.0", - "@react-native-community/cli": "15.0.1", - "@react-native-community/cli-platform-android": "15.0.1", - "@react-native-community/cli-platform-ios": "15.0.1", - "@react-native/babel-preset": "0.78.3", - "@react-native/eslint-config": "0.78.3", - "@react-native/metro-config": "0.78.3", - "@react-native/typescript-config": "0.78.3", + "@react-native-community/cli": "19.1.1", + "@react-native-community/cli-platform-android": "19.1.1", + "@react-native-community/cli-platform-ios": "19.1.1", + "@react-native/babel-preset": "0.80.2", + "@react-native/eslint-config": "0.80.2", + "@react-native/metro-config": "0.80.2", + "@react-native/typescript-config": "0.80.2", "@rollup/plugin-commonjs": "^28.0.3", "@sentry/vite-plugin": "^2.22.0", "@storybook/addon-a11y": "^9.0.18", @@ -242,11 +243,11 @@ "@types/jest-axe": "^3.5.9", "@types/lodash": "^4.14.182", "@types/node": "18", - "@types/react": "19.0.0", - "@types/react-dom": "19.0.0", + "@types/react": "19.1.0", + "@types/react-dom": "19.1.0", "@types/react-helmet": "^6.1.2", "@types/react-native-calendars": "^1.1264.3", - "@types/react-test-renderer": "^19.0.0", + "@types/react-test-renderer": "^19.1.0", "@types/react-window": "^1.8.6", "@types/supercluster": "^7.1.3", "@types/uuid": "^8.3.0", @@ -311,7 +312,7 @@ "prettier": "^3.5.3", "react-native-svg-web": "^1.0.9", "react-native-web-linear-gradient": "^1.1.2", - "react-test-renderer": "19.0.0", + "react-test-renderer": "19.1.0", "reassure": "^1.4.0", "storybook": "^9.0.18", "timezone-mock": "^1.2.1", diff --git a/patches/react-native-date-picker+5.0.13.patch b/patches/react-native-date-picker+5.0.13.patch new file mode 100644 index 000000000000..7daed77e9f93 --- /dev/null +++ b/patches/react-native-date-picker+5.0.13.patch @@ -0,0 +1,174 @@ +diff --git a/node_modules/react-native-date-picker/android/src/main/java/com/henninghall/date_picker/DatePickerModuleImpl.java b/node_modules/react-native-date-picker/android/src/main/java/com/henninghall/date_picker/DatePickerModuleImpl.java +index b8a2a80..736a20c 100644 +--- a/node_modules/react-native-date-picker/android/src/main/java/com/henninghall/date_picker/DatePickerModuleImpl.java ++++ b/node_modules/react-native-date-picker/android/src/main/java/com/henninghall/date_picker/DatePickerModuleImpl.java +@@ -30,23 +30,29 @@ public class DatePickerModuleImpl { + ApplicationStarter.initialize(context, false); // false = no need to prefetch on time data background tread + } + +- public void openPicker(ReadableMap props){ ++ public void openPicker(ReadableMap props, Callback onConfirm, Callback onCancel){ + final PickerView picker = createPicker(props); +- Callback onConfirm = new Callback() { ++ Callback onConfirmCallback = new Callback() { + @Override + public void invoke(Object... objects) { + Emitter.onConfirm(picker.getDate(), picker.getPickerId()); ++ if (onConfirm != null) { ++ onConfirm.invoke(picker.getDate()); ++ } + } + }; + +- Callback onCancel = new Callback() { ++ Callback onCancelCallback = new Callback() { + @Override + public void invoke(Object... objects) { + Emitter.onCancel(picker.getPickerId()); ++ if (onCancel != null) { ++ onCancel.invoke(); ++ } + } + }; + +- dialog = createDialog(props, picker, onConfirm, onCancel); ++ dialog = createDialog(props, picker, onConfirmCallback, onCancelCallback); + dialog.show(); + } + +diff --git a/node_modules/react-native-date-picker/android/src/newarch/java/com/henninghall/date_picker/DatePickerModule.java b/node_modules/react-native-date-picker/android/src/newarch/java/com/henninghall/date_picker/DatePickerModule.java +index 0fce9a7..d56b203 100644 +--- a/node_modules/react-native-date-picker/android/src/newarch/java/com/henninghall/date_picker/DatePickerModule.java ++++ b/node_modules/react-native-date-picker/android/src/newarch/java/com/henninghall/date_picker/DatePickerModule.java +@@ -2,6 +2,7 @@ package com.henninghall.date_picker; + + import androidx.annotation.NonNull; + ++import com.facebook.react.bridge.Callback; + import com.facebook.react.bridge.ReactApplicationContext; + import com.facebook.react.bridge.ReadableMap; + +@@ -28,8 +29,8 @@ public class DatePickerModule extends NativeRNDatePickerSpec { + } + + @Override +- public void openPicker(ReadableMap props){ +- module.openPicker(props); ++ public void openPicker(ReadableMap props, Callback onConfirm, Callback onCancel){ ++ module.openPicker(props, onConfirm, onCancel); + } + + @Override +diff --git a/node_modules/react-native-date-picker/ios/RNDatePickerManager.h b/node_modules/react-native-date-picker/ios/RNDatePickerManager.h +index 6a4f206..b6de05c 100644 +--- a/node_modules/react-native-date-picker/ios/RNDatePickerManager.h ++++ b/node_modules/react-native-date-picker/ios/RNDatePickerManager.h +@@ -8,7 +8,14 @@ + #import + #import + ++#ifdef RCT_NEW_ARCH_ENABLED ++#import "RNDatePickerSpecs.h" ++#endif ++ + @interface RNDatePickerManager : RCTViewManager ++#ifdef RCT_NEW_ARCH_ENABLED ++ ++#endif + + @property (strong, nonatomic) UIViewController *topViewController; + +diff --git a/node_modules/react-native-date-picker/ios/RNDatePickerManager.mm b/node_modules/react-native-date-picker/ios/RNDatePickerManager.mm +index da42873..77700f7 100644 +--- a/node_modules/react-native-date-picker/ios/RNDatePickerManager.mm ++++ b/node_modules/react-native-date-picker/ios/RNDatePickerManager.mm +@@ -234,6 +234,22 @@ - (double) getPickerHeight :(UIView *) alertView + return 216; + } + ++// New Architecture support - provide module instance to TurboModule system +++ (BOOL)requiresMainQueueSetup { ++ return NO; ++} ++ ++#ifdef RCT_NEW_ARCH_ENABLED ++// Implement the Spec protocol methods required by TurboModule ++- (void)getConstants:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject { ++ resolve(@{}); ++} ++ ++- (std::shared_ptr)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params { ++ return std::make_shared(params); ++} ++#endif ++ + @end + + +diff --git a/node_modules/react-native-date-picker/src/DatePickerAndroid.js b/node_modules/react-native-date-picker/src/DatePickerAndroid.js +index a8a1e71..3cf1499 100644 +--- a/node_modules/react-native-date-picker/src/DatePickerAndroid.js ++++ b/node_modules/react-native-date-picker/src/DatePickerAndroid.js +@@ -67,9 +67,10 @@ export const DatePickerAndroid = React.memo((props) => { + onStateChange: onSpinnerStateChanged, + } + +- useModal({ props: modifiedProps, id: thisId }) +- +- if (props.modal) return null ++ if (props.modal) { ++ useModal({ props: modifiedProps, id: thisId }) ++ return null ++ } + + return + }) +diff --git a/node_modules/react-native-date-picker/src/DatePickerIOS.js b/node_modules/react-native-date-picker/src/DatePickerIOS.js +index 987cbca..aa40b72 100644 +--- a/node_modules/react-native-date-picker/src/DatePickerIOS.js ++++ b/node_modules/react-native-date-picker/src/DatePickerIOS.js +@@ -28,9 +28,10 @@ export const DatePickerIOS = (props) => { + theme: props.theme ? props.theme : 'auto', + } + +- useModal({ props: modifiedProps, id: undefined }) +- +- if (props.modal) return null ++ if (props.modal) { ++ useModal({ props: modifiedProps, id: undefined }) ++ return null ++ } + + return ( + {} + closePicker(): void +- openPicker(props: UnsafeObject): void ++ openPicker(props: UnsafeObject, onConfirm: (result: UnsafeObject) => void, onCancel: () => void): void + removeListeners(type: Double): void + addListener(eventName: string): void + } +diff --git a/node_modules/react-native-date-picker/src/modal.js b/node_modules/react-native-date-picker/src/modal.js +index fe02e33..b43747f 100644 +--- a/node_modules/react-native-date-picker/src/modal.js ++++ b/node_modules/react-native-date-picker/src/modal.js +@@ -76,12 +76,7 @@ export const useModal = ({ props, id }) => { + useEffect(() => { + if (shouldOpenModal(props, previousProps)) { + closing.current = false +- const params = Platform.select({ +- android: [props], +- ios: [props, onConfirm, onCancel], +- }) +- if (!params) throw Error('Unsupported platform') +- NativeModule.openPicker(...params) ++ NativeModule.openPicker(props, onConfirm, onCancel) + } + }, [onCancel, onConfirm, previousProps, props]) + diff --git a/patches/react-native-maps+1.23.12.patch b/patches/react-native-maps+1.26.18.patch similarity index 99% rename from patches/react-native-maps+1.23.12.patch rename to patches/react-native-maps+1.26.18.patch index 2a5784fed2c4..52af817e6b95 100644 --- a/patches/react-native-maps+1.23.12.patch +++ b/patches/react-native-maps+1.26.18.patch @@ -1,3 +1,4 @@ + diff --git a/node_modules/react-native-maps/src/AnimatedRegion.ts b/node_modules/react-native-maps/src/AnimatedRegion.ts index 03b995c..a7af504 100644 --- a/node_modules/react-native-maps/src/AnimatedRegion.ts @@ -43,7 +44,7 @@ index 549c0d6..9e1b7bb 100644 const makeLine = (l: Position[]) => l.map(makePoint); diff --git a/node_modules/react-native-maps/src/MapOverlay.tsx b/node_modules/react-native-maps/src/MapOverlay.tsx -index 9c2cd2a..26f8a06 100644 +index 1db5d07..9d7f64e 100644 --- a/node_modules/react-native-maps/src/MapOverlay.tsx +++ b/node_modules/react-native-maps/src/MapOverlay.tsx @@ -79,8 +79,8 @@ type NativeProps = Modify; diff --git a/src/features/auth/context/AuthWrapper.tsx b/src/features/auth/context/AuthWrapper.tsx index a4faa52b4bf9..3dc4f245c3ec 100644 --- a/src/features/auth/context/AuthWrapper.tsx +++ b/src/features/auth/context/AuthWrapper.tsx @@ -23,8 +23,8 @@ export const AuthWrapper = memo(function AuthWrapper({ }: { children: React.JSX.Element }) { - const timeoutRef = useRef(null) - const navigationTimeoutRef = useRef(null) + const timeoutRef = useRef(null) + const navigationTimeoutRef = useRef(null) const [loading, setLoading] = useState(true) const [isLoggedIn, setIsLoggedIn] = useState(false) const connectServicesRequiringUserId = useConnectServicesRequiringUserId() diff --git a/src/features/auth/pages/signup/AfterSignupEmailValidationBuffer/AfterSignupEmailValidationBuffer.tsx b/src/features/auth/pages/signup/AfterSignupEmailValidationBuffer/AfterSignupEmailValidationBuffer.tsx index 90e9fc249fb1..04d5a9144d5a 100644 --- a/src/features/auth/pages/signup/AfterSignupEmailValidationBuffer/AfterSignupEmailValidationBuffer.tsx +++ b/src/features/auth/pages/signup/AfterSignupEmailValidationBuffer/AfterSignupEmailValidationBuffer.tsx @@ -15,7 +15,7 @@ export function AfterSignupEmailValidationBuffer() { const { showInfoSnackBar } = useSnackBarContext() const deviceInfo = useDeviceInfo() const { replace } = useNavigation() - const timeoutRef = useRef(undefined) + const timeoutRef = useRef(undefined) const delayedReplace: typeof replace = (...args) => { timeoutRef.current = setTimeout(() => { replace(...args) diff --git a/src/features/bookOffer/helpers/useRotatingText.ts b/src/features/bookOffer/helpers/useRotatingText.ts index 9723f4349ec8..8e28e031d63a 100644 --- a/src/features/bookOffer/helpers/useRotatingText.ts +++ b/src/features/bookOffer/helpers/useRotatingText.ts @@ -24,7 +24,7 @@ export function useRotatingText( shouldRun = true ): T[number]['message'] { const [currentIndex, setCurrentIndex] = useState(0) - const intervalRef = useRef(null) + const intervalRef = useRef(null) const messagesRef = useRef(messages) // assuming the messages will never change, so perfs are great. const currentMessage = messagesRef.current[currentIndex] diff --git a/src/features/bookings/pages/BookingNotFound/BookingNotFound.tsx b/src/features/bookings/pages/BookingNotFound/BookingNotFound.tsx index e81ead5878eb..e8636e336a74 100644 --- a/src/features/bookings/pages/BookingNotFound/BookingNotFound.tsx +++ b/src/features/bookings/pages/BookingNotFound/BookingNotFound.tsx @@ -7,7 +7,7 @@ import { GenericInfoPage } from 'ui/pages/GenericInfoPage' import { NoBookings } from 'ui/svg/icons/NoBookings' export const BookingNotFound = ({ resetErrorBoundary }: ScreenErrorProps) => { - const timer = useRef(null) + const timer = useRef(null) useEffect( () => () => { diff --git a/src/features/cookies/helpers/removeGeneratedStorageKey.native.test.ts b/src/features/cookies/helpers/removeGeneratedStorageKey.native.test.ts index 8299bc99ccdf..2b45f60e4d37 100644 --- a/src/features/cookies/helpers/removeGeneratedStorageKey.native.test.ts +++ b/src/features/cookies/helpers/removeGeneratedStorageKey.native.test.ts @@ -3,7 +3,6 @@ import { storage, StorageKey } from 'libs/storage' import { act } from 'tests/utils' const someValue = 'some value' -const keyColorScheme = 'colorScheme' describe('removeGeneratedStorageKey', () => { it('should clear optional key', async () => { @@ -14,7 +13,7 @@ describe('removeGeneratedStorageKey', () => { removeGeneratedStorageKey(key) }) - expect(await storage.getAllKeys()).toEqual([keyColorScheme]) + expect(await storage.readObject('traffic_medium')).toBeNull() }) it('should clear optional key with prefix', async () => { @@ -26,7 +25,7 @@ describe('removeGeneratedStorageKey', () => { removeGeneratedStorageKey(prefix) }) - expect(await storage.getAllKeys()).toEqual([keyColorScheme]) + expect(await storage.readObject(keyWithPrefix)).toBeNull() }) it('should not clear optional key with partial prefix', async () => { @@ -39,6 +38,6 @@ describe('removeGeneratedStorageKey', () => { removeGeneratedStorageKey(prefix) }) - expect(await storage.getAllKeys()).toEqual([keyColorScheme, keyWithPartialPrefix]) + expect(await storage.readObject(keyWithPartialPrefix)).toEqual(someValue) }) }) diff --git a/src/features/home/pages/GenericHome.tsx b/src/features/home/pages/GenericHome.tsx index 25c7995d6e34..56d0787f3705 100644 --- a/src/features/home/pages/GenericHome.tsx +++ b/src/features/home/pages/GenericHome.tsx @@ -157,7 +157,7 @@ const OnlineHome: FunctionComponent = React.memo(function Onli const [maxIndex, setMaxIndex] = useState(initialNumToRender) const [isLoading, setIsLoading] = useState(false) const { height: screenHeight } = useWindowDimensions() - const modulesIntervalId = useRef(null) + const modulesIntervalId = useRef(null) const { zIndex } = useTheme() const flatListHeaderStyle = { zIndex: zIndex.header } diff --git a/src/features/identityCheck/pages/identification/errors/eduConnect/NotEligibleEduConnect.tsx b/src/features/identityCheck/pages/identification/errors/eduConnect/NotEligibleEduConnect.tsx index e6aed24dfde1..f49935d8658b 100644 --- a/src/features/identityCheck/pages/identification/errors/eduConnect/NotEligibleEduConnect.tsx +++ b/src/features/identityCheck/pages/identification/errors/eduConnect/NotEligibleEduConnect.tsx @@ -14,7 +14,7 @@ export const NotEligibleEduConnect = ({ error: { message }, resetErrorBoundary, }: ScreenErrorProps) => { - const timer = useRef(null) + const timer = useRef(null) const { title, description, diff --git a/src/features/offer/components/OfferBodyImage.tsx b/src/features/offer/components/OfferBodyImage.tsx index 57664ade1f70..c92aa6e769a7 100644 --- a/src/features/offer/components/OfferBodyImage.tsx +++ b/src/features/offer/components/OfferBodyImage.tsx @@ -1,7 +1,7 @@ -import React, { FunctionComponent, useMemo } from 'react' // we import FastImage to get the resizeMode, not to use it as a component // eslint-disable-next-line no-restricted-imports -import FastImage, { OnLoadEvent } from 'react-native-fast-image' +import FastImage, { OnLoadEvent } from '@d11/react-native-fast-image' +import React, { FunctionComponent, useMemo } from 'react' import styled from 'styled-components/native' import { OfferImageContainerDimensions } from 'features/offer/types' diff --git a/src/features/offer/components/OfferContent/OfferContentBase.tsx b/src/features/offer/components/OfferContent/OfferContentBase.tsx index 0632c09b08cf..cd8ea65c02c0 100644 --- a/src/features/offer/components/OfferContent/OfferContentBase.tsx +++ b/src/features/offer/components/OfferContent/OfferContentBase.tsx @@ -155,7 +155,7 @@ export const OfferContentBase: FunctionComponent = ({ const placeholderImage = useRef(cachedOffer?.images?.recto?.url).current useEffect(() => { - let timeoutId: NodeJS.Timeout + let timeoutId: number if (shouldTriggerBatchSurveyEvent) { timeoutId = setTimeout(() => { trackBatchEvent() diff --git a/src/features/offer/components/OfferContent/VideoSection/VideoSection.native.test.tsx b/src/features/offer/components/OfferContent/VideoSection/VideoSection.native.test.tsx index 7ca7abfce7c5..fa63c0a375a6 100644 --- a/src/features/offer/components/OfferContent/VideoSection/VideoSection.native.test.tsx +++ b/src/features/offer/components/OfferContent/VideoSection/VideoSection.native.test.tsx @@ -1,7 +1,7 @@ import React, { ComponentProps, createRef } from 'react' import { ScrollView } from 'react-native' -import FastImage from '__mocks__/react-native-fast-image' +import FastImage from '__mocks__/@d11/react-native-fast-image' import { SubcategoryIdEnum } from 'api/gen' import { VideoSection } from 'features/offer/components/OfferContent/VideoSection/VideoSection' import { analytics } from 'libs/analytics/provider' diff --git a/src/features/offer/components/OfferImageCarousel/OfferImageCarouselItem.tsx b/src/features/offer/components/OfferImageCarousel/OfferImageCarouselItem.tsx index a1bad9bf2eb0..8a2fa1e4b9b6 100644 --- a/src/features/offer/components/OfferImageCarousel/OfferImageCarouselItem.tsx +++ b/src/features/offer/components/OfferImageCarousel/OfferImageCarouselItem.tsx @@ -1,5 +1,5 @@ +import { OnLoadEvent } from '@d11/react-native-fast-image' import React, { PropsWithChildren } from 'react' -import { OnLoadEvent } from 'react-native-fast-image' import { OfferBodyImage } from 'features/offer/components/OfferBodyImage' import { OfferImageWrapper } from 'features/offer/components/OfferImageWrapper/OfferImageWrapper' diff --git a/src/features/offer/components/PinchableBox/PinchableBox.tsx b/src/features/offer/components/PinchableBox/PinchableBox.tsx index f96e3533d3cd..838482a57adf 100644 --- a/src/features/offer/components/PinchableBox/PinchableBox.tsx +++ b/src/features/offer/components/PinchableBox/PinchableBox.tsx @@ -1,12 +1,12 @@ +// Importing FastImage for displaying offer images without resizing, prioritizing optimal quality for potential zooming. +// eslint-disable-next-line no-restricted-imports +import FastImage from '@d11/react-native-fast-image' import { ReactNativeZoomableView, ZoomableViewEvent, } from '@openspacelabs/react-native-zoomable-view' import React from 'react' import { PanResponderGestureState, GestureResponderEvent } from 'react-native' -// Importing FastImage for displaying offer images without resizing, prioritizing optimal quality for potential zooming. -// eslint-disable-next-line no-restricted-imports -import FastImage from 'react-native-fast-image' import styled from 'styled-components/native' type Props = { diff --git a/src/features/offer/pages/Offer/Offer.native.test.tsx b/src/features/offer/pages/Offer/Offer.native.test.tsx index 74f6ab5f9766..86333509a076 100644 --- a/src/features/offer/pages/Offer/Offer.native.test.tsx +++ b/src/features/offer/pages/Offer/Offer.native.test.tsx @@ -24,7 +24,11 @@ import { mockServer } from 'tests/mswServer' import { screen, userEvent, waitFor } from 'tests/utils' import * as useModal from 'ui/components/modals/useModal' -jest.unmock('react-native/Libraries/Animated/createAnimatedComponent') +jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => { + return function createAnimatedComponent(Component: unknown) { + return Component + } +}) jest.mock('libs/jwt/jwt') diff --git a/src/features/offer/pages/OfferNotFound/OfferNotFound.tsx b/src/features/offer/pages/OfferNotFound/OfferNotFound.tsx index df5b274e23cb..4922834ca91b 100644 --- a/src/features/offer/pages/OfferNotFound/OfferNotFound.tsx +++ b/src/features/offer/pages/OfferNotFound/OfferNotFound.tsx @@ -7,7 +7,7 @@ import { GenericInfoPage } from 'ui/pages/GenericInfoPage' import { NoOffer } from 'ui/svg/icons/NoOffer' export const OfferNotFound = ({ resetErrorBoundary }: ScreenErrorProps) => { - const timer = useRef(null) + const timer = useRef(null) useEffect( () => () => { diff --git a/src/features/profile/pages/ConsentSettings/ConsentSettings.native.test.tsx b/src/features/profile/pages/ConsentSettings/ConsentSettings.native.test.tsx index 1a04a60654bc..a20bacbd931d 100644 --- a/src/features/profile/pages/ConsentSettings/ConsentSettings.native.test.tsx +++ b/src/features/profile/pages/ConsentSettings/ConsentSettings.native.test.tsx @@ -79,6 +79,9 @@ jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => { jest.mock('react-native/Libraries/Interaction/InteractionManager', () => ({ ...jest.requireActual('react-native/Libraries/Interaction/InteractionManager'), runAfterInteractions: jest.fn((callback) => callback()), // Exécute le callback immédiatement + createInteractionHandle: jest.fn(() => 1), + clearInteractionHandle: jest.fn(), + setDeadline: jest.fn(), })) const refusedDefault = [ diff --git a/src/features/venue/components/OpeningHoursStatus/OpeningHoursStatus.tsx b/src/features/venue/components/OpeningHoursStatus/OpeningHoursStatus.tsx index 74c88a2d7ecf..6e2a17cff4d7 100644 --- a/src/features/venue/components/OpeningHoursStatus/OpeningHoursStatus.tsx +++ b/src/features/venue/components/OpeningHoursStatus/OpeningHoursStatus.tsx @@ -33,7 +33,7 @@ export const OpeningHoursStatus: FC = ({ openingHours, currentDate, timez useEffect(() => { if (!nextChange) return - let timeoutId: NodeJS.Timeout + let timeoutId: number let timeUntilNextStateChange = nextChange.getTime() - date.getTime() if (timeUntilNextStateChange > ONE_HOUR_IN_MILLISECONDS) { timeUntilNextStateChange -= ONE_HOUR_IN_MILLISECONDS diff --git a/src/features/venue/pages/Venue/Venue.native.test.tsx b/src/features/venue/pages/Venue/Venue.native.test.tsx index d16f65c2250d..23488eeeb56f 100644 --- a/src/features/venue/pages/Venue/Venue.native.test.tsx +++ b/src/features/venue/pages/Venue/Venue.native.test.tsx @@ -38,6 +38,7 @@ mockdate.set(new Date('2021-08-15T00:00:00Z')) jest.mock('libs/network/NetInfoWrapper') jest.mock('libs/firebase/analytics/analytics') + jest.unmock('react-native/Libraries/Animated/createAnimatedComponent') jest.mock('queries/venue/useVenueOffersQuery') diff --git a/src/features/venue/pages/VenueNotFound/VenueNotFound.tsx b/src/features/venue/pages/VenueNotFound/VenueNotFound.tsx index 7ca25dc56258..9a6cc47dcd92 100644 --- a/src/features/venue/pages/VenueNotFound/VenueNotFound.tsx +++ b/src/features/venue/pages/VenueNotFound/VenueNotFound.tsx @@ -7,7 +7,7 @@ import { GenericInfoPage } from 'ui/pages/GenericInfoPage' import { NoOffer } from 'ui/svg/icons/NoOffer' export const VenueNotFound = ({ resetErrorBoundary }: ScreenErrorProps) => { - const timer = useRef(null) + const timer = useRef(null) useEffect( () => () => { diff --git a/src/features/venueMap/components/VenueMapBottomSheet/VenueMapBottomSheet.tsx b/src/features/venueMap/components/VenueMapBottomSheet/VenueMapBottomSheet.tsx index 858239cdafac..1031a19d84d5 100644 --- a/src/features/venueMap/components/VenueMapBottomSheet/VenueMapBottomSheet.tsx +++ b/src/features/venueMap/components/VenueMapBottomSheet/VenueMapBottomSheet.tsx @@ -152,7 +152,6 @@ export const VenueMapBottomSheet = forwardRef ({ backgroundColor: theme.designSystem.color.background.default, paddingTop: theme.designSystem.size.spacing.s, diff --git a/src/libs/hooks/useIsFalseWithDelay.ts b/src/libs/hooks/useIsFalseWithDelay.ts index 77b3845c1203..97061cc9bd2a 100644 --- a/src/libs/hooks/useIsFalseWithDelay.ts +++ b/src/libs/hooks/useIsFalseWithDelay.ts @@ -14,7 +14,7 @@ export const useIsFalseWithDelay = (condition: boolean, delay: number): boolean const [delayedCondition, setDelayedCondition] = useState(condition) useEffect(() => { - let timer: NodeJS.Timeout | null = null + let timer: number | null = null if (condition) { setDelayedCondition(true) } else { diff --git a/src/libs/hooks/useShowReview.ts b/src/libs/hooks/useShowReview.ts index bb080d2d192f..418d52741599 100644 --- a/src/libs/hooks/useShowReview.ts +++ b/src/libs/hooks/useShowReview.ts @@ -8,7 +8,7 @@ import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types' import { eventMonitoring } from 'libs/monitoring/services' export const useShowReview = () => { - const timeoutRef = useRef(undefined) + const timeoutRef = useRef(undefined) const disableStoreReview = useFeatureFlag(RemoteStoreFeatureFlags.WIP_DISABLE_STORE_REVIEW) const { shouldReviewBeRequested, updateInformationWhenReviewHasBeenRequested } = diff --git a/src/libs/hooks/useTimer.ts b/src/libs/hooks/useTimer.ts index 70a93ee581e3..0231b84dc377 100644 --- a/src/libs/hooks/useTimer.ts +++ b/src/libs/hooks/useTimer.ts @@ -8,7 +8,7 @@ export const useTimer = (initialValueInSeconds: number) => { const [timeLeft, setTimeLeft] = useState(initialValueInSeconds) useEffect(() => { - let timerId: NodeJS.Timeout + let timerId: number if (timeLeft > 0) { timerId = setInterval(() => { setTimeLeft((prevTime) => prevTime - 1) diff --git a/src/libs/network/OfflineModeContainer.tsx b/src/libs/network/OfflineModeContainer.tsx index adbdd1f14e73..f4013044acb1 100644 --- a/src/libs/network/OfflineModeContainer.tsx +++ b/src/libs/network/OfflineModeContainer.tsx @@ -17,7 +17,7 @@ export function OfflineModeContainer({ children }: { children: ReactNode }) { useEffect(() => { isInternetReachable.current = netInfo.isInternetReachable - let timer: NodeJS.Timeout | undefined + let timer: number | undefined if (isInternetReachable.current) { setShow(false) } else { diff --git a/src/libs/resizing-image-on-demand/FastImage.tsx b/src/libs/resizing-image-on-demand/FastImage.tsx index 6da4d7af5c8f..2f21cd322348 100644 --- a/src/libs/resizing-image-on-demand/FastImage.tsx +++ b/src/libs/resizing-image-on-demand/FastImage.tsx @@ -1,6 +1,6 @@ -import React, { FunctionComponent, useMemo } from 'react' // eslint-disable-next-line no-restricted-imports -import BaseFastImage, { FastImageProps } from 'react-native-fast-image' +import BaseFastImage, { FastImageProps } from '@d11/react-native-fast-image' +import React, { FunctionComponent, useMemo } from 'react' import { useResizeImageURL } from 'libs/resizing-image-on-demand/useResizeImageURL' diff --git a/src/ui/components/keyboard/useKeyboardEvents.native.test.ts b/src/ui/components/keyboard/useKeyboardEvents.native.test.ts index 3e9ef9028fee..15935930a44c 100644 --- a/src/ui/components/keyboard/useKeyboardEvents.native.test.ts +++ b/src/ui/components/keyboard/useKeyboardEvents.native.test.ts @@ -1,4 +1,4 @@ -import { Keyboard, KeyboardEvent, Platform, DeviceEventEmitter } from 'react-native' +import { Keyboard } from 'react-native' import { renderHook } from 'tests/utils' @@ -9,13 +9,6 @@ const addKeyboardEventListener = jest.spyOn(Keyboard, 'addListener') const onBeforeShowMock = jest.fn() const onBeforeHideMock = jest.fn() -const keyboardEvent: KeyboardEvent = { - startCoordinates: { height: 0, screenX: 0, screenY: 800, width: 450 }, - endCoordinates: { height: 300, screenX: 0, screenY: 500, width: 450 }, - duration: 0, - easing: 'keyboard', -} - describe('useKeyboardEvents', () => { it('creates event listeners', () => { renderHook(useKeyboardEvents, { @@ -42,104 +35,4 @@ describe('useKeyboardEvents', () => { expect(addKeyboardEventListener).toHaveBeenCalledWith('keyboardWillHide', expect.any(Function)) expect(addKeyboardEventListener).toHaveBeenCalledWith('keyboardDidHide', expect.any(Function)) }) - - describe('on iOS', () => { - beforeEach(() => { - Platform.OS = 'ios' - }) - - it('calls onBeforeShow props when calling keyboardWillShow', () => { - renderHook(useKeyboardEvents, { - initialProps: { - onBeforeHide: jest.fn(), - onBeforeShow: onBeforeShowMock, - }, - }) - DeviceEventEmitter.emit(`keyboardWillShow`, keyboardEvent) - - expect(onBeforeShowMock).toHaveBeenCalledWith({ - keyboardShown: true, - keyboardHeight: 300, - coordinates: { start: keyboardEvent.startCoordinates, end: keyboardEvent.endCoordinates }, - }) - }) - - it('calls onBeforeHide props when calling keyboardWillHide', () => { - renderHook(useKeyboardEvents, { - initialProps: { - onBeforeHide: onBeforeHideMock, - onBeforeShow: jest.fn(), - }, - }) - DeviceEventEmitter.emit(`keyboardWillHide`, keyboardEvent) - - expect(onBeforeHideMock).toHaveBeenCalledWith({ - keyboardShown: false, - keyboardHeight: 300, - coordinates: { start: keyboardEvent.startCoordinates, end: keyboardEvent.endCoordinates }, - }) - }) - - it('does nothing when calling keyboardDidShow', () => { - renderHook(useKeyboardEvents, { - initialProps: { - onBeforeHide: jest.fn(), - onBeforeShow: onBeforeShowMock, - }, - }) - DeviceEventEmitter.emit(`keyboardDidShow`, keyboardEvent) - - expect(onBeforeShowMock).not.toHaveBeenCalled() - }) - - it('does nothing when calling keyboardDidHide', () => { - renderHook(useKeyboardEvents, { - initialProps: { - onBeforeHide: onBeforeHideMock, - onBeforeShow: jest.fn(), - }, - }) - DeviceEventEmitter.emit(`keyboardDidHide`, keyboardEvent) - - expect(onBeforeHideMock).not.toHaveBeenCalled() - }) - }) - - describe('on Android', () => { - beforeEach(() => { - Platform.OS = 'android' - }) - - it('calls onBeforeShow props when calling keyboardWillShow', () => { - renderHook(useKeyboardEvents, { - initialProps: { - onBeforeHide: jest.fn(), - onBeforeShow: onBeforeShowMock, - }, - }) - DeviceEventEmitter.emit(`keyboardWillShow`, keyboardEvent) - - expect(onBeforeShowMock).toHaveBeenCalledWith({ - keyboardShown: true, - keyboardHeight: 300, - coordinates: { start: keyboardEvent.startCoordinates, end: keyboardEvent.endCoordinates }, - }) - }) - - it('calls onBeforeHide props when calling keyboardWillHide', () => { - renderHook(useKeyboardEvents, { - initialProps: { - onBeforeHide: onBeforeHideMock, - onBeforeShow: jest.fn(), - }, - }) - DeviceEventEmitter.emit(`keyboardWillHide`, keyboardEvent) - - expect(onBeforeHideMock).toHaveBeenCalledWith({ - keyboardShown: false, - keyboardHeight: 300, - coordinates: { start: keyboardEvent.startCoordinates, end: keyboardEvent.endCoordinates }, - }) - }) - }) }) diff --git a/src/ui/components/modals/AppModal.native.test.tsx b/src/ui/components/modals/AppModal.native.test.tsx index 4d67906717f0..509c87390e89 100644 --- a/src/ui/components/modals/AppModal.native.test.tsx +++ b/src/ui/components/modals/AppModal.native.test.tsx @@ -1,8 +1,8 @@ import React from 'react' -import { DeviceEventEmitter } from 'react-native' import { ReactNativeModal } from 'react-native-modal' import { act, render, screen, userEvent } from 'tests/utils' +import * as useKeyboardEventsModule from 'ui/components/keyboard/useKeyboardEvents' import { AppModal } from './AppModal' import { @@ -20,6 +20,8 @@ jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => { } }) +const spyUseKeyboardEvents = jest.spyOn(useKeyboardEventsModule, 'useKeyboardEvents') + const user = userEvent.setup() jest.useFakeTimers() @@ -287,20 +289,30 @@ describe('', () => { }) describe('should adapt when virtual keyboard is', () => { - const keyboardEvent = { - startCoordinates: { height: 0, screenX: 0, screenY: 800, width: 450 }, - endCoordinates: { height: 300, screenX: 0, screenY: 500, width: 450 }, - duration: 0, - easing: 'keyboard', + const keyboardShowCoordinates = { + start: { height: 0, screenX: 0, screenY: 800, width: 450 }, + end: { height: 300, screenX: 0, screenY: 500, width: 450 }, + } + const keyboardHideCoordinates = { + start: { height: 300, screenX: 0, screenY: 500, width: 450 }, + end: { height: 0, screenX: 0, screenY: 800, width: 450 }, } it('displayed', () => { render() const modalContainer = screen.getByTestId('modalContainer') + const lastCall = spyUseKeyboardEvents.mock.calls[spyUseKeyboardEvents.mock.calls.length - 1] + + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const { onBeforeShow } = lastCall![0] + act(() => { - DeviceEventEmitter.emit('keyboardWillShow', keyboardEvent) - DeviceEventEmitter.emit('keyboardDidShow', keyboardEvent) + onBeforeShow({ + keyboardShown: true, + keyboardHeight: keyboardShowCoordinates.end.height, + coordinates: keyboardShowCoordinates, + }) }) expect(modalContainer.props.height).toEqual(720) @@ -310,11 +322,21 @@ describe('', () => { render() const modalContainer = screen.getByTestId('modalContainer') + const lastCall = spyUseKeyboardEvents.mock.calls[spyUseKeyboardEvents.mock.calls.length - 1] + + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const { onBeforeShow, onBeforeHide } = lastCall![0] act(() => { - DeviceEventEmitter.emit('keyboardWillShow', keyboardEvent) - DeviceEventEmitter.emit('keyboardDidShow', keyboardEvent) - DeviceEventEmitter.emit('keyboardWillHide', keyboardEvent) - DeviceEventEmitter.emit('keyboardDidHide', keyboardEvent) + onBeforeShow({ + keyboardShown: true, + keyboardHeight: keyboardShowCoordinates.end.height, + coordinates: keyboardShowCoordinates, + }) + onBeforeHide({ + keyboardShown: false, + keyboardHeight: keyboardHideCoordinates.end.height, + coordinates: keyboardHideCoordinates, + }) }) expect(modalContainer.props.height).toEqual(428) diff --git a/src/ui/components/tiles/OfferImage.tsx b/src/ui/components/tiles/OfferImage.tsx index 051a8d119b06..5d30ae5ee337 100644 --- a/src/ui/components/tiles/OfferImage.tsx +++ b/src/ui/components/tiles/OfferImage.tsx @@ -1,7 +1,7 @@ -import React from 'react' // we import FastImage to get the resizeMode, not to use it as a component // eslint-disable-next-line no-restricted-imports -import FastImage from 'react-native-fast-image' +import FastImage from '@d11/react-native-fast-image' +import React from 'react' import styled from 'styled-components/native' import { CategoryIdEnum } from 'api/gen' diff --git a/src/ui/designSystem/SelectableAsset.tsx b/src/ui/designSystem/SelectableAsset.tsx index d2d1abee4fda..ec7c1ce09882 100644 --- a/src/ui/designSystem/SelectableAsset.tsx +++ b/src/ui/designSystem/SelectableAsset.tsx @@ -3,10 +3,10 @@ Do not edit this file without prior approval from the Design System team. */ -import React from 'react' // we import FastImage to get the resizeMode, not to use it as a component // eslint-disable-next-line no-restricted-imports -import FastImage from 'react-native-fast-image' +import FastImage from '@d11/react-native-fast-image' +import React from 'react' import styled, { useTheme } from 'styled-components/native' import { FastImage as ResizedFastImage } from 'libs/resizing-image-on-demand/FastImage' diff --git a/tsconfig.json b/tsconfig.json index 33caf44606f1..07203f07720a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -42,5 +42,5 @@ "./server/**", "doc/**" ], - "extends": "@react-native/typescript-config/tsconfig.json" + "extends": "@react-native/typescript-config" } diff --git a/vite.config.js b/vite.config.js index 64a5422776a9..16cfd6cd2e10 100644 --- a/vite.config.js +++ b/vite.config.js @@ -129,7 +129,7 @@ export default ({ mode }) => { }, { find: 'react-native-linear-gradient', replacement: 'react-native-web-linear-gradient' }, { - find: 'react-native-fast-image', + find: '@d11/react-native-fast-image', replacement: '/src/libs/react-native-web-fast-image', }, { diff --git a/yarn.lock b/yarn.lock index 54d4cc48cd9b..af5a02640bfd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -348,49 +348,49 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.24.7, @babel/core@npm:^7.27.4": - version: 7.28.0 - resolution: "@babel/core@npm:7.28.0" +"@babel/core@npm:^7.25.2": + version: 7.27.4 + resolution: "@babel/core@npm:7.27.4" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.27.1 - "@babel/generator": ^7.28.0 + "@babel/generator": ^7.27.3 "@babel/helper-compilation-targets": ^7.27.2 "@babel/helper-module-transforms": ^7.27.3 - "@babel/helpers": ^7.27.6 - "@babel/parser": ^7.28.0 + "@babel/helpers": ^7.27.4 + "@babel/parser": ^7.27.4 "@babel/template": ^7.27.2 - "@babel/traverse": ^7.28.0 - "@babel/types": ^7.28.0 + "@babel/traverse": ^7.27.4 + "@babel/types": ^7.27.3 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: 86da9e26c96e22d96deca0509969d273476f61c30464f262dec5e5a163422e07d5ab690ed54619d10fcab784abd10567022ce3d90f175b40279874f5288215e3 + checksum: e7f961274f2cfc14c81e32dc0f10b06123a847e9fe73ec7b4df90411c3ebdad8ffecd7086f06aa46c2b24d8d27f2f8bef4b7c7319228c768256fc0e13819d395 languageName: node linkType: hard -"@babel/core@npm:^7.25.2": - version: 7.27.4 - resolution: "@babel/core@npm:7.27.4" +"@babel/core@npm:^7.27.4": + version: 7.28.0 + resolution: "@babel/core@npm:7.28.0" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.27.1 - "@babel/generator": ^7.27.3 + "@babel/generator": ^7.28.0 "@babel/helper-compilation-targets": ^7.27.2 "@babel/helper-module-transforms": ^7.27.3 - "@babel/helpers": ^7.27.4 - "@babel/parser": ^7.27.4 + "@babel/helpers": ^7.27.6 + "@babel/parser": ^7.28.0 "@babel/template": ^7.27.2 - "@babel/traverse": ^7.27.4 - "@babel/types": ^7.27.3 + "@babel/traverse": ^7.28.0 + "@babel/types": ^7.28.0 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: e7f961274f2cfc14c81e32dc0f10b06123a847e9fe73ec7b4df90411c3ebdad8ffecd7086f06aa46c2b24d8d27f2f8bef4b7c7319228c768256fc0e13819d395 + checksum: 86da9e26c96e22d96deca0509969d273476f61c30464f262dec5e5a163422e07d5ab690ed54619d10fcab784abd10567022ce3d90f175b40279874f5288215e3 languageName: node linkType: hard @@ -1210,17 +1210,6 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.24.7, @babel/parser@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/parser@npm:7.28.0" - dependencies: - "@babel/types": ^7.28.0 - bin: - parser: ./bin/babel-parser.js - checksum: 718e4ce9b0914701d6f74af610d3e7d52b355ef1dcf34a7dedc5930e96579e387f04f96187e308e601828b900b8e4e66d2fe85023beba2ac46587023c45b01cf - languageName: node - linkType: hard - "@babel/parser@npm:^7.26.9": version: 7.26.9 resolution: "@babel/parser@npm:7.26.9" @@ -1243,6 +1232,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/parser@npm:7.28.0" + dependencies: + "@babel/types": ^7.28.0 + bin: + parser: ./bin/babel-parser.js + checksum: 718e4ce9b0914701d6f74af610d3e7d52b355ef1dcf34a7dedc5930e96579e387f04f96187e308e601828b900b8e4e66d2fe85023beba2ac46587023c45b01cf + languageName: node + linkType: hard + "@babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4": version: 7.28.4 resolution: "@babel/parser@npm:7.28.4" @@ -1946,7 +1946,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.0.0-0, @babel/plugin-transform-class-properties@npm:^7.24.7, @babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.27.1": +"@babel/plugin-transform-class-properties@npm:^7.0.0-0, @babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" dependencies: @@ -2214,7 +2214,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.27.1": +"@babel/plugin-transform-flow-strip-types@npm:^7.25.2": version: 7.27.1 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.27.1" dependencies: @@ -2402,7 +2402,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1": +"@babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" dependencies: @@ -2657,7 +2657,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1": +"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" dependencies: @@ -3363,19 +3363,6 @@ __metadata: languageName: node linkType: hard -"@babel/preset-flow@npm:^7.24.7": - version: 7.27.1 - resolution: "@babel/preset-flow@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/helper-validator-option": ^7.27.1 - "@babel/plugin-transform-flow-strip-types": ^7.27.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f3f25b390debf72a6ff0170a2d5198aea344ba96f05eaca0bae2c7072119706fd46321604d89646bda1842527cfc6eab8828a983ec90149218d2120b9cd26596 - languageName: node - linkType: hard - "@babel/preset-modules@npm:0.1.6-no-external-plugins": version: 0.1.6-no-external-plugins resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" @@ -3420,21 +3407,6 @@ __metadata: languageName: node linkType: hard -"@babel/register@npm:^7.24.6": - version: 7.27.1 - resolution: "@babel/register@npm:7.27.1" - dependencies: - clone-deep: ^4.0.1 - find-cache-dir: ^2.0.0 - make-dir: ^2.1.0 - pirates: ^4.0.6 - source-map-support: ^0.5.16 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 154ab3075f245466bbd7a3f0cf972328365961a6f621ecb7795ba67e70243596138c264ac7cb79df4a93527318021b5edbab1df39b669afc83159a9e6e560770 - languageName: node - linkType: hard - "@babel/regjsgen@npm:^0.8.0": version: 0.8.0 resolution: "@babel/regjsgen@npm:0.8.0" @@ -3843,6 +3815,16 @@ __metadata: languageName: node linkType: hard +"@d11/react-native-fast-image@npm:^8.13.0": + version: 8.13.0 + resolution: "@d11/react-native-fast-image@npm:8.13.0" + peerDependencies: + react: "*" + react-native: "*" + checksum: 225942c3910022ca51cf9254760edad9e81cc140f1a39a94522bff2ab3daf3dec1e7c37c05e12529b6747ee159240cd4d3208e21a9f84188ff391c4863a54f9b + languageName: node + linkType: hard + "@dabh/diagnostics@npm:^2.0.2": version: 2.0.3 resolution: "@dabh/diagnostics@npm:2.0.3" @@ -6115,9 +6097,9 @@ __metadata: languageName: node linkType: hard -"@gorhom/bottom-sheet@npm:^4": - version: 4.6.3 - resolution: "@gorhom/bottom-sheet@npm:4.6.3" +"@gorhom/bottom-sheet@npm:^5.2.6": + version: 5.2.7 + resolution: "@gorhom/bottom-sheet@npm:5.2.7" dependencies: "@gorhom/portal": 1.0.14 invariant: ^2.2.4 @@ -6126,14 +6108,14 @@ __metadata: "@types/react-native": "*" react: "*" react-native: "*" - react-native-gesture-handler: ">=1.10.1" - react-native-reanimated: ">=2.2.0" + react-native-gesture-handler: ">=2.16.1" + react-native-reanimated: "*" peerDependenciesMeta: "@types/react": optional: true "@types/react-native": optional: true - checksum: 718c55a89b0e18581eae6080d1d21caabf4895088e01f0dfe17b5891835a110d7aee1d0cb1b9e623efc16b598fdb28c2ec929e0ed74bfbca283306191d8a5c41 + checksum: ff6212af131274436c5dd586631971275714206a33a8eb7570add4a6236ac183f311a0a100c3f80b3d3d9928b906362ffdf482dedf0f9e8a387591802093cb43 languageName: node linkType: hard @@ -6703,7 +6685,7 @@ __metadata: languageName: node linkType: hard -"@jest/create-cache-key-function@npm:^29.6.3": +"@jest/create-cache-key-function@npm:^29.7.0": version: 29.7.0 resolution: "@jest/create-cache-key-function@npm:29.7.0" dependencies: @@ -7894,62 +7876,65 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-clean@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-clean@npm:15.0.1" +"@react-native-community/cli-clean@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-clean@npm:19.1.1" dependencies: - "@react-native-community/cli-tools": 15.0.1 + "@react-native-community/cli-tools": 19.1.1 chalk: ^4.1.2 execa: ^5.0.0 fast-glob: ^3.3.2 - checksum: ea6c663ec56cfe3a2c4fac7d3f0fec2ac8de9c34458f241b2afdf7f45dfb00d1de9e367fec732f8fef6e2b17046f4ed03c3be2ea4d2075633197dc23c516f986 + checksum: 858bc5ddefe3639d79824e2d02118fb195764b423a550660fee03264e84fefa02a7165f8be644cf09be93e98f01e4281bcad7fda1073520beefccbf1c1a95281 + languageName: node + linkType: hard + +"@react-native-community/cli-config-android@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-config-android@npm:19.1.1" + dependencies: + "@react-native-community/cli-tools": 19.1.1 + chalk: ^4.1.2 + fast-glob: ^3.3.2 + fast-xml-parser: ^4.4.1 + checksum: 365ed1f8a93ae7ffb9a9cb6b9e9b29a5285bbda4d3f4f9152b68a139093877e83327eca32855cef716e498ea6077f3f7c651cf9f2a0dfa7db6d9fa2915494dd6 languageName: node linkType: hard -"@react-native-community/cli-config-apple@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-config-apple@npm:15.0.1" +"@react-native-community/cli-config-apple@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-config-apple@npm:19.1.1" dependencies: - "@react-native-community/cli-tools": 15.0.1 + "@react-native-community/cli-tools": 19.1.1 chalk: ^4.1.2 execa: ^5.0.0 fast-glob: ^3.3.2 - checksum: 67b9be8b6cce14f764a5734b9599eb7d1095c7fb5c06b0b6cd3518cf3a00c90026018c1eb8d497338da092a3cdcaa9b33fec34c5b766a4517c70293e5f1df58d + checksum: 31ad1664860ddbca3a6a3bd0cabfa0a8b00c2069c15902cac064b1942e6656c260ff140552f0dde2550b1c1e42b2c5cfd1652105fd7abe75f41d8e4b50428bf3 languageName: node linkType: hard -"@react-native-community/cli-config@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-config@npm:15.0.1" +"@react-native-community/cli-config@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-config@npm:19.1.1" dependencies: - "@react-native-community/cli-tools": 15.0.1 + "@react-native-community/cli-tools": 19.1.1 chalk: ^4.1.2 cosmiconfig: ^9.0.0 deepmerge: ^4.3.0 fast-glob: ^3.3.2 joi: ^17.2.1 - checksum: 23314bcdf465974ee71a01792f0a1149ea51eea1dc66416e53aa2bc3a123dba6a8e0654d68211d2b20570bc875145b2e5d4abf923190c685c0021bb280230c3f - languageName: node - linkType: hard - -"@react-native-community/cli-debugger-ui@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-debugger-ui@npm:15.0.1" - dependencies: - serve-static: ^1.13.1 - checksum: a97bb195f3722b91e0acf4c63f4e6956d572f5a275a13be01513b6797bd81ad0b838aa4fc8440131e64c39547c8e83feebb6435a34773269355a497122ed2209 + checksum: 8edc94f76c67b4ff566edb6574413dd2961a7d216fbabeda7dfe3dd75366be1c329451270f8011d746461ad26d2c63e2f2b37b662d167559940776a6ac7fc414 languageName: node linkType: hard -"@react-native-community/cli-doctor@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-doctor@npm:15.0.1" +"@react-native-community/cli-doctor@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-doctor@npm:19.1.1" dependencies: - "@react-native-community/cli-config": 15.0.1 - "@react-native-community/cli-platform-android": 15.0.1 - "@react-native-community/cli-platform-apple": 15.0.1 - "@react-native-community/cli-platform-ios": 15.0.1 - "@react-native-community/cli-tools": 15.0.1 + "@react-native-community/cli-config": 19.1.1 + "@react-native-community/cli-platform-android": 19.1.1 + "@react-native-community/cli-platform-apple": 19.1.1 + "@react-native-community/cli-platform-ios": 19.1.1 + "@react-native-community/cli-tools": 19.1.1 chalk: ^4.1.2 command-exists: ^1.2.8 deepmerge: ^4.3.0 @@ -7958,105 +7943,102 @@ __metadata: node-stream-zip: ^1.9.1 ora: ^5.4.1 semver: ^7.5.2 - strip-ansi: ^5.2.0 wcwidth: ^1.0.1 yaml: ^2.2.1 - checksum: 6df1825df9f563096e48528f16d0bc521aceb2933e864921c8092eeeeeade0893963964897a6145b26a3d4de72ce05259f2d06f873eae64796d8c3815f22f1a5 + checksum: 4086ee048b3b3c2653bbc897fb8397e2fa9195efad64da2cba237ddb36d38f47710189348d6312722d20b731d905d407b88ddb16dda1553892da5bd24de0a241 languageName: node linkType: hard -"@react-native-community/cli-platform-android@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-platform-android@npm:15.0.1" +"@react-native-community/cli-platform-android@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-platform-android@npm:19.1.1" dependencies: - "@react-native-community/cli-tools": 15.0.1 + "@react-native-community/cli-config-android": 19.1.1 + "@react-native-community/cli-tools": 19.1.1 chalk: ^4.1.2 execa: ^5.0.0 - fast-glob: ^3.3.2 - fast-xml-parser: ^4.4.1 logkitty: ^0.7.1 - checksum: 6c5e5912b7c81a6cb9076ae08897470090e1ff20fdaa502d500b4700235f2411942c6e38e3373111efa025dee9a1d3cc71dea6a4c42a89272f0d56b1eeb7b38a + checksum: 2f67efd939316adf65c072c693fad0e18f6f5d3c569d1bfcf07b924fae51d8c1dae23863e495ca2006ee2d04bb80f5c7b9d430c1a06baadaa8f5f285cd3b7a7b languageName: node linkType: hard -"@react-native-community/cli-platform-apple@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-platform-apple@npm:15.0.1" +"@react-native-community/cli-platform-apple@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-platform-apple@npm:19.1.1" dependencies: - "@react-native-community/cli-config-apple": 15.0.1 - "@react-native-community/cli-tools": 15.0.1 + "@react-native-community/cli-config-apple": 19.1.1 + "@react-native-community/cli-tools": 19.1.1 chalk: ^4.1.2 execa: ^5.0.0 fast-xml-parser: ^4.4.1 - checksum: 27278ff8790fddc220cba9daa4b05cb027403b7c3b81cd3f025b09f52ceccd41f68e86b71d493794eadc2d54fa4a5f6a1032608c4ec7ce928cc1985dce7b9bd2 + checksum: ce3d3a51541a508d0a38d9eef89c590854b1339621c9272841d31b30454fef689e24d9590a20ae1c98283dc7ebcbe0f750b375196495d234ba34241a9e244da4 languageName: node linkType: hard -"@react-native-community/cli-platform-ios@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-platform-ios@npm:15.0.1" +"@react-native-community/cli-platform-ios@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-platform-ios@npm:19.1.1" dependencies: - "@react-native-community/cli-platform-apple": 15.0.1 - checksum: 27b4775af43ce06e9315fda54f299e96405975c44d20a495443074d2818fc085dcb85cf2d2e6581990b71ab2e9ffc7d88666337bec8eb9412e80abf8dd793851 + "@react-native-community/cli-platform-apple": 19.1.1 + checksum: 7d1985816b201466566303dcfbd181b7c86cc72806659c327b9b5c1a5a2466100e020595e33f7c0ac8455ee18cc346e67bd4991489901543998b98c46633caa7 languageName: node linkType: hard -"@react-native-community/cli-server-api@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-server-api@npm:15.0.1" +"@react-native-community/cli-server-api@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-server-api@npm:19.1.1" dependencies: - "@react-native-community/cli-debugger-ui": 15.0.1 - "@react-native-community/cli-tools": 15.0.1 + "@react-native-community/cli-tools": 19.1.1 + body-parser: ^1.20.3 compression: ^1.7.1 connect: ^3.6.5 errorhandler: ^1.5.1 nocache: ^3.0.1 + open: ^6.2.0 pretty-format: ^26.6.2 serve-static: ^1.13.1 ws: ^6.2.3 - checksum: 354eba589433251a56db7edf005886aa3c4886ff70f52b999db7c3718435f01a3f1081bc56cc681a1b7de2fa50ea4891c4ea673fe0a02eb855ecbc001bd86654 + checksum: bf8a5832a5080742cf8c65f9110b77a76e95d1b77e102dacd347cde2b1455d5d2613a2fadc7b7e8a2029852255a7ff891e29a50b7dd8bb5e4e953d05672e7258 languageName: node linkType: hard -"@react-native-community/cli-tools@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-tools@npm:15.0.1" +"@react-native-community/cli-tools@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-tools@npm:19.1.1" dependencies: + "@vscode/sudo-prompt": ^9.0.0 appdirsjs: ^1.2.4 chalk: ^4.1.2 execa: ^5.0.0 find-up: ^5.0.0 + launch-editor: ^2.9.1 mime: ^2.4.1 - open: ^6.2.0 ora: ^5.4.1 prompts: ^2.4.2 semver: ^7.5.2 - shell-quote: ^1.7.3 - sudo-prompt: ^9.0.0 - checksum: 0c40d5aa2306a2bfc1ee15362d045b0eff3cb162dd1b070f504508b2bbdd00c791151cf9f8679d248b4480b75b758e60b8d0cf3c19a19a02b4b4ece9928a119c + checksum: cf53fa3e0ce5eb02455b0237bb50b6b071ae1ffeeaffd1920a2562e1f572a75d41a6d0bae45ea639280017ff592cbb96f50b561a1f85a170f1c109580956c8f7 languageName: node linkType: hard -"@react-native-community/cli-types@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli-types@npm:15.0.1" +"@react-native-community/cli-types@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli-types@npm:19.1.1" dependencies: joi: ^17.2.1 - checksum: 77452486158afcf1f03a3596135b6dba16dba5dd10209dacd5a6a4b176df36d37b8e49af61590d5a64df4907cf0575b6f37e0a3893335f961a9380edaee32152 + checksum: 6811879692317d72236eab4cd2a28fcf8da70c635111fe81445e77b9b3627e847de4fddf5116e17671f6c7f8e69760c04fed7622d4f4d3ec6c5981318f1c88b0 languageName: node linkType: hard -"@react-native-community/cli@npm:15.0.1": - version: 15.0.1 - resolution: "@react-native-community/cli@npm:15.0.1" - dependencies: - "@react-native-community/cli-clean": 15.0.1 - "@react-native-community/cli-config": 15.0.1 - "@react-native-community/cli-debugger-ui": 15.0.1 - "@react-native-community/cli-doctor": 15.0.1 - "@react-native-community/cli-server-api": 15.0.1 - "@react-native-community/cli-tools": 15.0.1 - "@react-native-community/cli-types": 15.0.1 +"@react-native-community/cli@npm:19.1.1": + version: 19.1.1 + resolution: "@react-native-community/cli@npm:19.1.1" + dependencies: + "@react-native-community/cli-clean": 19.1.1 + "@react-native-community/cli-config": 19.1.1 + "@react-native-community/cli-doctor": 19.1.1 + "@react-native-community/cli-server-api": 19.1.1 + "@react-native-community/cli-tools": 19.1.1 + "@react-native-community/cli-types": 19.1.1 chalk: ^4.1.2 commander: ^9.4.1 deepmerge: ^4.3.0 @@ -8068,7 +8050,7 @@ __metadata: semver: ^7.5.2 bin: rnc-cli: build/bin.js - checksum: 26c98ef67b4b89d3af13f2a3b19e51c7b2de5d320ca908cb628ca22b32bff5a17b8a1cc7f4b0ece303c4e53dc10e8ac0e88df9b376e63ebc97acb8d358f78c2e + checksum: c472e941744872c2ac89a55a621b975aa57741d05da94f31dfe56db8f4208e6ac549632050c0c7344b125cfea5b14e3e4688f76a8a3915bd99a0e6c24695ebd2 languageName: node linkType: hard @@ -8154,26 +8136,26 @@ __metadata: languageName: node linkType: hard -"@react-native/assets-registry@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/assets-registry@npm:0.78.3" - checksum: 246a1631717f1be7050ce8c395db1a466e9cb111ffbd006ce44f053c5aab8835969ecc9d347ccb1cd1445b91769cbd3318ec28ef075822361f769c6f8a868e77 +"@react-native/assets-registry@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/assets-registry@npm:0.80.2" + checksum: 3c42fc3b4a6dd221e8b7929ca2eec1d22259df12381b8afe640048080aabf9e8fc0f20f27a3814ca4713c23f4f0450c4e5933aa620ea01e74e75ab7167cd6b75 languageName: node linkType: hard -"@react-native/babel-plugin-codegen@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/babel-plugin-codegen@npm:0.78.3" +"@react-native/babel-plugin-codegen@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/babel-plugin-codegen@npm:0.80.2" dependencies: "@babel/traverse": ^7.25.3 - "@react-native/codegen": 0.78.3 - checksum: 728f5347be554905a7af8306465d825206990dbb18b0b669bc8b062e9e08e7020f4c8899df137af7664e0bc8d7088b5f6de4692201e6dc8fbb00dbce0c94ad3e + "@react-native/codegen": 0.80.2 + checksum: 3208561de59a4a24591117800c2d55b955adce8b50ef5abb7e6ae3bb4c6c5cb31d5158c3fde8564ffb20c74ae8197b77dbeb5b3724c880ca4cb243ef53aebd00 languageName: node linkType: hard -"@react-native/babel-preset@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/babel-preset@npm:0.78.3" +"@react-native/babel-preset@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/babel-preset@npm:0.80.2" dependencies: "@babel/core": ^7.25.2 "@babel/plugin-proposal-export-default-from": ^7.24.7 @@ -8216,90 +8198,85 @@ __metadata: "@babel/plugin-transform-typescript": ^7.25.2 "@babel/plugin-transform-unicode-regex": ^7.24.7 "@babel/template": ^7.25.0 - "@react-native/babel-plugin-codegen": 0.78.3 - babel-plugin-syntax-hermes-parser: 0.25.1 + "@react-native/babel-plugin-codegen": 0.80.2 + babel-plugin-syntax-hermes-parser: 0.28.1 babel-plugin-transform-flow-enums: ^0.0.2 react-refresh: ^0.14.0 peerDependencies: "@babel/core": "*" - checksum: 32f8e3df8a46f6a4edea024cc3f3179da6b26be1b91b3c1141bcc1e1c84e83287110812d5f05f8a3d2cde4083b4cabe3e3886273d20a44801ceb25754cd583de + checksum: de7777953937c9531266f9d03194f7bb46884566291f394caaa295bcc395f7eaab5150f567627146be43b4c161138749f92a94c249a0085f9bd54c3de38a79e8 languageName: node linkType: hard -"@react-native/codegen@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/codegen@npm:0.78.3" +"@react-native/codegen@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/codegen@npm:0.80.2" dependencies: - "@babel/parser": ^7.25.3 glob: ^7.1.1 - hermes-parser: 0.25.1 + hermes-parser: 0.28.1 invariant: ^2.2.4 - jscodeshift: ^17.0.0 nullthrows: ^1.1.1 yargs: ^17.6.2 peerDependencies: - "@babel/preset-env": ^7.1.6 - checksum: 8d4a5d814bb4f0326f9e612c08e549a4ff4a544c9e01b7e703ddc0dbe614e621c0b78bf26be515ca7a9f16a06206ecb59d0748a04a0193cf44e5c7a85a9be79a + "@babel/core": "*" + checksum: 73df6062cf7a05445209214d1023552902e6e6d064e4e320112f06a325c6a310882eeb09e1f595674c52d2b27158fa8896bf3499ed15030850ca41dec0460333 languageName: node linkType: hard -"@react-native/community-cli-plugin@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/community-cli-plugin@npm:0.78.3" +"@react-native/community-cli-plugin@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/community-cli-plugin@npm:0.80.2" dependencies: - "@react-native/dev-middleware": 0.78.3 - "@react-native/metro-babel-transformer": 0.78.3 + "@react-native/dev-middleware": 0.80.2 chalk: ^4.0.0 - debug: ^2.2.0 + debug: ^4.4.0 invariant: ^2.2.4 - metro: ^0.81.3 - metro-config: ^0.81.3 - metro-core: ^0.81.3 - readline: ^1.3.0 + metro: ^0.82.2 + metro-config: ^0.82.2 + metro-core: ^0.82.2 semver: ^7.1.3 peerDependencies: "@react-native-community/cli": "*" peerDependenciesMeta: "@react-native-community/cli": optional: true - checksum: 663af8ba4ada71739d9dccfc014c81fa1f7171a3968b7ac4e0b5b25ccaf43d1d9e265fd5bcdbc9db7bfc22283debca9e83e34059fe2ff7f12cf0b50d06505e54 + checksum: 3eca6bd604bb2c47ae997c95de8b6b047b8c01df5fb11b8fa2e33aba29f996d1e3a761c585608fe579b261a9ebacf3f882d5aae0bf93e52dda22ce649581f016 languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/debugger-frontend@npm:0.78.3" - checksum: 5476f42c0bfa3c77b00d6f8a274d2cf7771bac529a70f2b85f35e6bdac9524b530396c1dc43cb0b5cc8786c3411759cda05e5a59810d26f5f3e1afcf5e68acac +"@react-native/debugger-frontend@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/debugger-frontend@npm:0.80.2" + checksum: a138345d7f81ed485b0cfd7ec6c23c6c2f4192753f3ef9a18f986e124ca9722e48813424b7358842cc86e863f1598d0204612d2b40271c9d2150c11a530fb526 languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/dev-middleware@npm:0.78.3" +"@react-native/dev-middleware@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/dev-middleware@npm:0.80.2" dependencies: "@isaacs/ttlcache": ^1.4.1 - "@react-native/debugger-frontend": 0.78.3 + "@react-native/debugger-frontend": 0.80.2 chrome-launcher: ^0.15.2 chromium-edge-launcher: ^0.2.0 connect: ^3.6.5 - debug: ^2.2.0 + debug: ^4.4.0 invariant: ^2.2.4 nullthrows: ^1.1.1 open: ^7.0.3 - selfsigned: ^2.4.1 serve-static: ^1.16.2 ws: ^6.2.3 - checksum: 06e4c47642c18dec9c1376660b6bdeaddb2a01a7589f8db05717ccb9b186d9981c88726d9e56b681f03bd9168c5f19fccb311f6bd2b73614a89372edbf2f36cc + checksum: a20144a4c182afb1faccd8d46f0af4407df64b65391b83435475f8e7d995b1edad4e9063953237d642a5a9b4ac2d8f0a4a04e9526d805874bb15f1b1ad0e3389 languageName: node linkType: hard -"@react-native/eslint-config@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/eslint-config@npm:0.78.3" +"@react-native/eslint-config@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/eslint-config@npm:0.80.2" dependencies: "@babel/core": ^7.25.2 "@babel/eslint-parser": ^7.25.1 - "@react-native/eslint-plugin": 0.78.3 + "@react-native/eslint-plugin": 0.80.2 "@typescript-eslint/eslint-plugin": ^7.1.1 "@typescript-eslint/parser": ^7.1.1 eslint-config-prettier: ^8.5.0 @@ -8307,66 +8284,66 @@ __metadata: eslint-plugin-ft-flow: ^2.0.1 eslint-plugin-jest: ^27.9.0 eslint-plugin-react: ^7.30.1 - eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-react-hooks: ^5.2.0 eslint-plugin-react-native: ^4.0.0 peerDependencies: eslint: ">=8" prettier: ">=2" - checksum: 92aaa23067b99ed6783f28ff51d7e39b8e7363b173d5a449ecb101b84913ea6224649a76729eb805ab9003843d2ce674acf61db14dc95475b9070748a382386f + checksum: d5b127af21a11da2917f63f468d5a9b71f2921aea5dc76cd14495dcaa449a5181458582f8d02fc6fb50402d439f12380127931b0b8827e31c7c13cf94b75e741 languageName: node linkType: hard -"@react-native/eslint-plugin@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/eslint-plugin@npm:0.78.3" - checksum: b14a613641a2f79db83268661aa2bf82ab97cf13c6a00e30745d7c689d4b3551b05109d1fe833b58659b728b411b37255f221d9a91d9cd58f2badbc68c4bdcec +"@react-native/eslint-plugin@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/eslint-plugin@npm:0.80.2" + checksum: 41e60d6686c3960c9ab94e89b6a8fdf5583bebad0d5f4e2c43d8a1202d2e5657d6f50f042c7c50dc3fa8e19935ec135647998e8e2f054f98bb868b36701ab8df languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/gradle-plugin@npm:0.78.3" - checksum: 795474d1f931153b3363416287ae9c5252b0681ea239f15cb5575127d97b64d8031ea47aba85d50f72c5842aaa96ddf3a97c4099c4be28edc7915b6008bf726e +"@react-native/gradle-plugin@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/gradle-plugin@npm:0.80.2" + checksum: 757fc8977fe75428eaf700f097a38bbaefacd67470cb3710a62ae2f2c681b247deb15e8aeb7d4677354fa7c4a0ec361460f3c2aa4ba9ac410e774dc40e753a8a languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/js-polyfills@npm:0.78.3" - checksum: 007c5cdb95277899ce26cf1ed049fe005339f97e136b954d54beac8f61337b246d5d0377a2bbee71fb7b43447c1e90c13a2af8beebc4af98419fecbaa38774c1 +"@react-native/js-polyfills@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/js-polyfills@npm:0.80.2" + checksum: d78325920f9fb798287003ba8348e33f32393b7904243f23e3713f1a91763bafa227d42032f87af475292f30a2b202af808b3226df731c48f1e7647821befb5d languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/metro-babel-transformer@npm:0.78.3" +"@react-native/metro-babel-transformer@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/metro-babel-transformer@npm:0.80.2" dependencies: "@babel/core": ^7.25.2 - "@react-native/babel-preset": 0.78.3 - hermes-parser: 0.25.1 + "@react-native/babel-preset": 0.80.2 + hermes-parser: 0.28.1 nullthrows: ^1.1.1 peerDependencies: "@babel/core": "*" - checksum: ae4727ad662b734bab947246808afe600e0066ea474237b70fa7bb671e1d809445ba99e3363d8d48a379b40e37232a973c2753e21f880aeef946e64594109361 + checksum: 883ec22919ac90766f1d51530e988db223c7512f9bdd7cb420684cd1cb0634bc48ccccccf6b639a014fd5cdc71dcb902f84611cfd4209ca975428f1f8abe1290 languageName: node linkType: hard -"@react-native/metro-config@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/metro-config@npm:0.78.3" +"@react-native/metro-config@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/metro-config@npm:0.80.2" dependencies: - "@react-native/js-polyfills": 0.78.3 - "@react-native/metro-babel-transformer": 0.78.3 - metro-config: ^0.81.3 - metro-runtime: ^0.81.3 - checksum: 4225017872f8bd8192feb7a2eab440be29df7b4d1407924f25fd08c60125754b1897a4a55fb029ba3133491659ef2b254b4fee770e692d73c9bd819f29171c81 + "@react-native/js-polyfills": 0.80.2 + "@react-native/metro-babel-transformer": 0.80.2 + metro-config: ^0.82.2 + metro-runtime: ^0.82.2 + checksum: 104d1e38783848d6b4363c27e22911ad8378003f3eaec39f22e0a4314615bce2d978dada84a11689e6c57ba4e31ed73adb64070309ddf44a646a41abdabf40a4 languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/normalize-colors@npm:0.78.3" - checksum: c5c1a17fdc7614f74360c1115d31d47b3110a3d2b601a9a930e5c0fb6ecd4e33b4b075b4a2e0bffd34e3ba9c64133c0026c8e41f845c2d2e7528a18d10c1606e +"@react-native/normalize-colors@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/normalize-colors@npm:0.80.2" + checksum: 24a1c1e87b8b03338691170a199d3d0f339e7983f7b69acbf933c4b5101b3f294b51a03d78b8b570b5d594dd6f8755f67a86a3c86b1dce30a1e6db042e3c543d languageName: node linkType: hard @@ -8377,16 +8354,16 @@ __metadata: languageName: node linkType: hard -"@react-native/typescript-config@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/typescript-config@npm:0.78.3" - checksum: d1a2080e75d050abb2b6adebb2897313f853eaf9ea2a9ae5cf13fecc005c0905a755ba7f2c89cea4455632324593fec55fd0997102b9f8a9bfd1f8c417cd1b4d +"@react-native/typescript-config@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/typescript-config@npm:0.80.2" + checksum: 5e79f1aa81acbfa15b23ef3221e8f86d04a6eb9827dd092190538b67efda382dffaa065786076b83f765ba7290b21063f731e69c2603c5a3eaf677831f09dca7 languageName: node linkType: hard -"@react-native/virtualized-lists@npm:0.78.3": - version: 0.78.3 - resolution: "@react-native/virtualized-lists@npm:0.78.3" +"@react-native/virtualized-lists@npm:0.80.2": + version: 0.80.2 + resolution: "@react-native/virtualized-lists@npm:0.80.2" dependencies: invariant: ^2.2.4 nullthrows: ^1.1.1 @@ -8397,7 +8374,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: f75b05fc9d34bafd8a7df3eac81893a11e4b01f6ef34a818f1925e826d6ef4d8e7ec91656f66fa78ac6df22eb1e5ff94ac2ed9b9713553b9357f358d7e9d842c + checksum: e255798fed08a5e727580bcea412f2dd2a73622668fda3bbacf062a0f55012c45b397dc795d2de2b44a7e4e2107299ac7a46ee1e46c8e28a34ffb0ca0b19e02a languageName: node linkType: hard @@ -10009,15 +9986,6 @@ __metadata: languageName: node linkType: hard -"@types/node-forge@npm:^1.3.0": - version: 1.3.11 - resolution: "@types/node-forge@npm:1.3.11" - dependencies: - "@types/node": "*" - checksum: 1e86bd55b92a492eaafd75f6d01f31e7d86a5cdadd0c6bcdc0b1df4103b7f99bb75b832efd5217c7ddda5c781095dc086a868e20b9de00f5a427ddad4c296cd5 - languageName: node - linkType: hard - "@types/node@npm:*": version: 18.19.86 resolution: "@types/node@npm:18.19.86" @@ -10085,12 +10053,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:19.0.0": - version: 19.0.0 - resolution: "@types/react-dom@npm:19.0.0" - dependencies: - "@types/react": "*" - checksum: 86945c4d4c4cd82e993acdd380c3d9d8e8ca297228aa72c0fa6af4620abb145e7b12235c9165d569f1b25b5f72d1dbe4b4e3f2419432248de9838b22e94295a2 +"@types/react-dom@npm:19.1.0": + version: 19.1.0 + resolution: "@types/react-dom@npm:19.1.0" + peerDependencies: + "@types/react": ^19.0.0 + checksum: 9bd88e628a0e90c81472f1513dd3e3593af3304754f264357ccee73c5a74af1276b078725a5913f5188561331f72f877a6417a3fb915813b596af66f74dbb4c6 languageName: node linkType: hard @@ -10123,7 +10091,7 @@ __metadata: languageName: node linkType: hard -"@types/react-test-renderer@npm:^19.0.0": +"@types/react-test-renderer@npm:^19.1.0": version: 19.1.0 resolution: "@types/react-test-renderer@npm:19.1.0" dependencies: @@ -10152,12 +10120,12 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:19.0.0": - version: 19.0.0 - resolution: "@types/react@npm:19.0.0" +"@types/react@npm:19.1.0": + version: 19.1.0 + resolution: "@types/react@npm:19.1.0" dependencies: csstype: ^3.0.2 - checksum: dd7d7388b28fdf78cdf28c88490fe99413a0e1fab33e92afdf862620edc77dfe605ffe48dd3aeffb1de29107ea958a12f6d667236b2ead1affdf609db7152fad + checksum: 7dd7e021897509a68672ab38c268d2f1f519306ade66cc12ffce4dd46e9d2b4224ab49e0b1191b17ac5eceafc65d76e987d6c5b0679224ddbb46f8debce5decc languageName: node linkType: hard @@ -10992,6 +10960,13 @@ __metadata: languageName: node linkType: hard +"@vscode/sudo-prompt@npm:^9.0.0": + version: 9.3.1 + resolution: "@vscode/sudo-prompt@npm:9.3.1" + checksum: 07a6ce9ef2e4e2b369288b78344f7ef3db977d5f1576b944075c22aacb9cf830acfd5f773d1b0497610bec4f811d44793142234114e57763abc78ea2cef8940a + languageName: node + linkType: hard + "@welldone-software/why-did-you-render@npm:^7.0.1": version: 7.0.1 resolution: "@welldone-software/why-did-you-render@npm:7.0.1" @@ -11038,8 +11013,9 @@ __metadata: "@batch.com/react-native-plugin": 10.1.2 "@chanzuckerberg/axe-storybook-testing": ^9.0.0 "@chromatic-com/storybook": ^4.0.1 + "@d11/react-native-fast-image": ^8.13.0 "@emotion/is-prop-valid": ^1.3.1 - "@gorhom/bottom-sheet": ^4 + "@gorhom/bottom-sheet": ^5.2.6 "@hookform/resolvers": ^2.9.11 "@hot-updater/bare": ^0.20.11 "@hot-updater/firebase": ^0.20.11 @@ -11051,9 +11027,9 @@ __metadata: "@react-native-async-storage/async-storage": ^1.17.11 "@react-native-clipboard/clipboard": ^1.16.2 "@react-native-community/blur": ^4.4.1 - "@react-native-community/cli": 15.0.1 - "@react-native-community/cli-platform-android": 15.0.1 - "@react-native-community/cli-platform-ios": 15.0.1 + "@react-native-community/cli": 19.1.1 + "@react-native-community/cli-platform-android": 19.1.1 + "@react-native-community/cli-platform-ios": 19.1.1 "@react-native-community/netinfo": ^11.4.1 "@react-native-firebase/analytics": ^22.2.1 "@react-native-firebase/app": ^22.2.1 @@ -11061,10 +11037,10 @@ __metadata: "@react-native-firebase/perf": ^22.2.1 "@react-native-firebase/remote-config": ^22.2.1 "@react-native-google-signin/google-signin": ^10.1.0 - "@react-native/babel-preset": 0.78.3 - "@react-native/eslint-config": 0.78.3 - "@react-native/metro-config": 0.78.3 - "@react-native/typescript-config": 0.78.3 + "@react-native/babel-preset": 0.80.2 + "@react-native/eslint-config": 0.80.2 + "@react-native/metro-config": 0.80.2 + "@react-native/typescript-config": 0.80.2 "@react-navigation/bottom-tabs": ^6.6.1 "@react-navigation/devtools": ^7.0.38 "@react-navigation/native": ^6.1.17 @@ -11099,11 +11075,11 @@ __metadata: "@types/jest-axe": ^3.5.9 "@types/lodash": ^4.14.182 "@types/node": 18 - "@types/react": 19.0.0 - "@types/react-dom": 19.0.0 + "@types/react": 19.1.0 + "@types/react-dom": 19.1.0 "@types/react-helmet": ^6.1.2 "@types/react-native-calendars": ^1.1264.3 - "@types/react-test-renderer": ^19.0.0 + "@types/react-test-renderer": ^19.1.0 "@types/react-window": ^1.8.6 "@types/supercluster": ^7.1.3 "@types/uuid": ^8.3.0 @@ -11184,26 +11160,25 @@ __metadata: msw: ^2.7.3 patch-package: ^8.0.0 prettier: ^3.5.3 - react: 19.0.0 + react: 19.1.0 react-app-polyfill: ^2.0.0 react-device-detect: ^2.2.3 - react-dom: 19.0.0 + react-dom: 19.1.0 react-error-boundary: ^3.1.0 react-helmet: ^6.1.0 react-hook-form: ^7.35.0 react-instantsearch: ^7.8.1 react-instantsearch-core: ^7.8.1 react-mobile-picker: ^0.2.1 - react-native: 0.78.3 + react-native: 0.80.2 react-native-animatable: ^1.3.3 react-native-appsflyer: ^6.16.2 react-native-calendars: 1.1312.0 react-native-date-picker: ^5.0.13 react-native-device-info: ^14.0.4 react-native-email-link: ^1.10.0 - react-native-fast-image: ^8.6.3 react-native-geolocation-service: 5.3.1 - react-native-gesture-handler: ^2.26.0 + react-native-gesture-handler: ^2.29.1 react-native-get-random-values: ^1.5.1 react-native-in-app-review: ^4.3.1 react-native-intersection-observer: ^0.2.1 @@ -11211,13 +11186,13 @@ __metadata: react-native-linear-gradient: ^2.8.3 react-native-lottie-splash-screen: ^1.1.2 react-native-map-clustering: ^4.0.0 - react-native-maps: 1.23.12 + react-native-maps: 1.26.0 react-native-modal: 13.0.1 react-native-orientation-locker: ^1.7.0 react-native-performance: ^5.1.4 react-native-permissions: ^5.4.1 react-native-qrcode-svg: ^6.1.2 - react-native-reanimated: ^3.15.0 + react-native-reanimated: ^4.1.5 react-native-reanimated-carousel: ^4.0.2 react-native-safe-area-context: ^5.5.1 react-native-screens: ^4.11.1 @@ -11231,8 +11206,9 @@ __metadata: react-native-web-lottie: ^1.4.4 react-native-web-swiper: 2.2.4 react-native-webview: ^13.15.0 + react-native-worklets: ^0.6.1 react-native-youtube-iframe: ^2.3.0 - react-test-renderer: 19.0.0 + react-test-renderer: 19.1.0 react-window: ^1.8.9 react-youtube: ^10.1.0 reassure: ^1.4.0 @@ -11251,7 +11227,7 @@ __metadata: vite-bundle-analyzer: ^0.16.2 vite-plugin-html: ^3.2.2 yup: ^0.32.11 - zustand: ^4.5.2 + zustand: ^4.5.7 languageName: unknown linkType: soft @@ -12287,12 +12263,12 @@ __metadata: languageName: node linkType: hard -"babel-plugin-syntax-hermes-parser@npm:0.25.1": - version: 0.25.1 - resolution: "babel-plugin-syntax-hermes-parser@npm:0.25.1" +"babel-plugin-syntax-hermes-parser@npm:0.28.1": + version: 0.28.1 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.28.1" dependencies: - hermes-parser: 0.25.1 - checksum: dc80fafde1aed8e60cf86ecd2e9920e7f35ffe02b33bd4e772daaa786167bcf508aac3fc1aea425ff4c7a0be94d82528f3fe8619b7f41dac853264272d640c04 + hermes-parser: 0.28.1 + checksum: 2cbc921e663463480ead9ccc8bb229a5196032367ba2b5ccb18a44faa3afa84b4dc493297749983b9a837a3d76b0b123664aecc06f9122618c3246f03e076a9d languageName: node linkType: hard @@ -12552,7 +12528,7 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.3, body-parser@npm:^1.18.3, body-parser@npm:^1.19.0": +"body-parser@npm:1.20.3, body-parser@npm:^1.18.3, body-parser@npm:^1.19.0, body-parser@npm:^1.20.3": version: 1.20.3 resolution: "body-parser@npm:1.20.3" dependencies: @@ -13263,17 +13239,6 @@ __metadata: languageName: node linkType: hard -"clone-deep@npm:^4.0.1": - version: 4.0.1 - resolution: "clone-deep@npm:4.0.1" - dependencies: - is-plain-object: ^2.0.4 - kind-of: ^6.0.2 - shallow-clone: ^3.0.0 - checksum: 770f912fe4e6f21873c8e8fbb1e99134db3b93da32df271d00589ea4a29dbe83a9808a322c93f3bcaf8584b8b4fa6fc269fc8032efbaa6728e0c9886c74467d2 - languageName: node - linkType: hard - "clone-response@npm:^1.0.2": version: 1.0.2 resolution: "clone-response@npm:1.0.2" @@ -14091,7 +14056,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.6.6, debug@npm:^2.6.8, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.6.6, debug@npm:^2.6.8, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -15532,12 +15497,12 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.6.0": - version: 4.6.0 - resolution: "eslint-plugin-react-hooks@npm:4.6.0" +"eslint-plugin-react-hooks@npm:^5.2.0": + version: 5.2.0 + resolution: "eslint-plugin-react-hooks@npm:5.2.0" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 23001801f14c1d16bf0a837ca7970d9dd94e7b560384b41db378b49b6e32dc43d6e2790de1bd737a652a86f81a08d6a91f402525061b47719328f586a57e86c3 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 5920736a78c0075488e7e30e04fbe5dba5b6b5a6c8c4b5742fdae6f9b8adf4ee387bc45dc6e03b4012865e6fd39d134da7b83a40f57c90cc9eecf80692824e3a languageName: node linkType: hard @@ -15884,7 +15849,7 @@ __metadata: languageName: node linkType: hard -"event-target-shim@npm:^5.0.0, event-target-shim@npm:^5.0.1": +"event-target-shim@npm:^5.0.0": version: 5.0.1 resolution: "event-target-shim@npm:5.0.1" checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 @@ -16475,17 +16440,6 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^2.0.0": - version: 2.1.0 - resolution: "find-cache-dir@npm:2.1.0" - dependencies: - commondir: ^1.0.1 - make-dir: ^2.0.0 - pkg-dir: ^3.0.0 - checksum: 60ad475a6da9f257df4e81900f78986ab367d4f65d33cf802c5b91e969c28a8762f098693d7a571b6e4dd4c15166c2da32ae2d18b6766a18e2071079448fdce4 - languageName: node - linkType: hard - "find-cache-dir@npm:^3.3.1": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" @@ -16797,13 +16751,6 @@ __metadata: languageName: node linkType: hard -"flow-parser@npm:0.*": - version: 0.166.1 - resolution: "flow-parser@npm:0.166.1" - checksum: 2c63ef1447d2b9e6e0a5e918726745eb6dc635d42fd9b5ddc0c3360e1fc3ac914b541f25cc45a8a9f2c922b8fee640f6b9714e8878167a4525bed0191a9e26df - languageName: node - linkType: hard - "flow-remove-types@npm:^2.158.0": version: 2.263.0 resolution: "flow-remove-types@npm:2.263.0" @@ -17663,6 +17610,20 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.28.1": + version: 0.28.1 + resolution: "hermes-estree@npm:0.28.1" + checksum: 4f7b4e0491352012a6cb799315a0aae16abdcc894335e901552ee6c64732d0cf06f0913c579036f9f452b7c4ad9bb0b6ab14e510c13bd7e5997385f77633ab00 + languageName: node + linkType: hard + +"hermes-estree@npm:0.29.1": + version: 0.29.1 + resolution: "hermes-estree@npm:0.29.1" + checksum: a72fe490d99ba2f56b3e22f3d050ca7757cc8dc9ebcb9d907104e46aaabdea9d32b445f73cca724a2537090fad3dde3cce0dc733bad6d7b3930c6bcde484d45c + languageName: node + linkType: hard + "hermes-parser@npm:0.25.1, hermes-parser@npm:^0.25.1": version: 0.25.1 resolution: "hermes-parser@npm:0.25.1" @@ -17672,6 +17633,24 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.28.1": + version: 0.28.1 + resolution: "hermes-parser@npm:0.28.1" + dependencies: + hermes-estree: 0.28.1 + checksum: 0d95280d527e1ad46e8caacd56b24d07e4aec39704de86cf164600f2c4fb00f406dd74a37b2103433ef7ec388a549072da20438e224bd47def21f973c36aab7d + languageName: node + linkType: hard + +"hermes-parser@npm:0.29.1": + version: 0.29.1 + resolution: "hermes-parser@npm:0.29.1" + dependencies: + hermes-estree: 0.29.1 + checksum: 3a7cd5cbdb191579f521dcb17edf199e24631314b9f69d043007e91762b53cd1f38eeb7688571f5be378b1c118e99af42040139e5f00e74a7cfd5c52c9d262e0 + languageName: node + linkType: hard + "highlight-words-core@npm:^1.2.2": version: 1.2.2 resolution: "highlight-words-core@npm:1.2.2" @@ -17904,7 +17883,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5, https-proxy-agent@npm:^7.0.6": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -18555,15 +18534,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:^2.0.4": - version: 2.0.4 - resolution: "is-plain-object@npm:2.0.4" - dependencies: - isobject: ^3.0.1 - checksum: 2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca - languageName: node - linkType: hard - "is-plain-object@npm:^5.0.0": version: 5.0.0 resolution: "is-plain-object@npm:5.0.0" @@ -18772,13 +18742,6 @@ __metadata: languageName: node linkType: hard -"isobject@npm:^3.0.1": - version: 3.0.1 - resolution: "isobject@npm:3.0.1" - checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 - languageName: node - linkType: hard - "isomorphic-fetch@npm:^3.0.0": version: 3.0.0 resolution: "isomorphic-fetch@npm:3.0.0" @@ -19124,7 +19087,7 @@ __metadata: languageName: node linkType: hard -"jest-environment-node@npm:^29.6.3": +"jest-environment-node@npm:^29.7.0": version: 29.7.0 resolution: "jest-environment-node@npm:29.7.0" dependencies: @@ -19742,39 +19705,6 @@ __metadata: languageName: node linkType: hard -"jscodeshift@npm:^17.0.0": - version: 17.3.0 - resolution: "jscodeshift@npm:17.3.0" - dependencies: - "@babel/core": ^7.24.7 - "@babel/parser": ^7.24.7 - "@babel/plugin-transform-class-properties": ^7.24.7 - "@babel/plugin-transform-modules-commonjs": ^7.24.7 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.24.7 - "@babel/plugin-transform-optional-chaining": ^7.24.7 - "@babel/plugin-transform-private-methods": ^7.24.7 - "@babel/preset-flow": ^7.24.7 - "@babel/preset-typescript": ^7.24.7 - "@babel/register": ^7.24.6 - flow-parser: 0.* - graceful-fs: ^4.2.4 - micromatch: ^4.0.7 - neo-async: ^2.5.0 - picocolors: ^1.0.1 - recast: ^0.23.11 - tmp: ^0.2.3 - write-file-atomic: ^5.0.1 - peerDependencies: - "@babel/preset-env": ^7.1.6 - peerDependenciesMeta: - "@babel/preset-env": - optional: true - bin: - jscodeshift: bin/jscodeshift.js - checksum: 6a529c8dcab8eef48381425c706d58a0a9205397cad367925872845ff1c35924f8f838bbd1397b28a065061032047c9fd843877000a3743240db4ba6ded2546b - languageName: node - linkType: hard - "jsdom@npm:^20.0.0": version: 20.0.3 resolution: "jsdom@npm:20.0.3" @@ -20097,13 +20027,6 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b - languageName: node - linkType: hard - "klaw-sync@npm:^6.0.0": version: 6.0.0 resolution: "klaw-sync@npm:6.0.0" @@ -20157,6 +20080,16 @@ __metadata: languageName: node linkType: hard +"launch-editor@npm:^2.9.1": + version: 2.12.0 + resolution: "launch-editor@npm:2.12.0" + dependencies: + picocolors: ^1.1.1 + shell-quote: ^1.8.3 + checksum: b1aa1b92ef4e720d1edd7f80affb90b2fa1cc2c41641cf80158940698c18a4b6a67e2a7cb060547712e858f0ec1a7c8c39f605e0eb299f516a6184f4e680ffc8 + languageName: node + linkType: hard + "lazystream@npm:^1.0.0": version: 1.0.1 resolution: "lazystream@npm:1.0.1" @@ -20709,16 +20642,6 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": - version: 2.1.0 - resolution: "make-dir@npm:2.1.0" - dependencies: - pify: ^4.0.1 - semver: ^5.6.0 - checksum: 043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab - languageName: node - linkType: hard - "make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -20928,70 +20851,71 @@ __metadata: languageName: node linkType: hard -"metro-babel-transformer@npm:0.81.5": - version: 0.81.5 - resolution: "metro-babel-transformer@npm:0.81.5" +"metro-babel-transformer@npm:0.82.5": + version: 0.82.5 + resolution: "metro-babel-transformer@npm:0.82.5" dependencies: "@babel/core": ^7.25.2 flow-enums-runtime: ^0.0.6 - hermes-parser: 0.25.1 + hermes-parser: 0.29.1 nullthrows: ^1.1.1 - checksum: 687b0657fcb2c6a01784a29abaa9979539a9047c0632c299d7764e7cafa9412cbb17f4e866212dc4c96a73eb47381d30340b30628b2d083fef0c88523ae0a293 + checksum: 3a3a8a9404c74290b5687290236e242f7b4edb3bc25cad6afe2424ddab8632a657b55ccbbd49dfa9b26078b5f3184f00930b8aa8b50d7c922247fd7d63ada395 languageName: node linkType: hard -"metro-cache-key@npm:0.81.5": - version: 0.81.5 - resolution: "metro-cache-key@npm:0.81.5" +"metro-cache-key@npm:0.82.5": + version: 0.82.5 + resolution: "metro-cache-key@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 - checksum: d5656bc8906ff4366d8093d19304d6ac386c59429e3e7e24050f4bc9f93ca4e04d8062af6bdd28874a5e4b9bcc84f248855933ffa80af56aeed8be5ff02c85bf + checksum: d5dcd86249905c7adad0375111a4bef395a5021df251a463f840eb21bf7b34f4e581ae919a88fb612a63c48a5f379ce50f104a576bd71e052693d89ae6a0d9f0 languageName: node linkType: hard -"metro-cache@npm:0.81.5": - version: 0.81.5 - resolution: "metro-cache@npm:0.81.5" +"metro-cache@npm:0.82.5": + version: 0.82.5 + resolution: "metro-cache@npm:0.82.5" dependencies: exponential-backoff: ^3.1.1 flow-enums-runtime: ^0.0.6 - metro-core: 0.81.5 - checksum: cba822d3f5c38163558e8240f7b8f189a597829c7df07a3f205c9565f66c0d3a9d7deab7be9449dec3bd1c615b71918c8cd05b0e2bf9cc21c517702405d468d1 + https-proxy-agent: ^7.0.5 + metro-core: 0.82.5 + checksum: d0d193845063b1e1241a770d928630c68418b6bff2a25d7d14e71b88e905c640b65817ac069abf807b6e7c6db5470b8c52fe6236b3850ae55ce68e910747eb63 languageName: node linkType: hard -"metro-config@npm:0.81.5, metro-config@npm:^0.81.3": - version: 0.81.5 - resolution: "metro-config@npm:0.81.5" +"metro-config@npm:0.82.5, metro-config@npm:^0.82.2": + version: 0.82.5 + resolution: "metro-config@npm:0.82.5" dependencies: connect: ^3.6.5 cosmiconfig: ^5.0.5 flow-enums-runtime: ^0.0.6 jest-validate: ^29.7.0 - metro: 0.81.5 - metro-cache: 0.81.5 - metro-core: 0.81.5 - metro-runtime: 0.81.5 - checksum: 43ba163fcfcbd0bcf69c3416901779c3de94536b0ee451ad73cad6311734e931cb1bf2c007dd71317f35ddf346cca74bc07b5a3075adf5c09b0e6e859d2169e4 + metro: 0.82.5 + metro-cache: 0.82.5 + metro-core: 0.82.5 + metro-runtime: 0.82.5 + checksum: 641c88d795394e551fffe238670ad09f3c8637b45da767ee95c5b401e11b65d5a4e86694fb68bd13fde1fc148d9c4f738439a0a427fe5325bd36aa19ea7a5fc9 languageName: node linkType: hard -"metro-core@npm:0.81.5, metro-core@npm:^0.81.3": - version: 0.81.5 - resolution: "metro-core@npm:0.81.5" +"metro-core@npm:0.82.5, metro-core@npm:^0.82.2": + version: 0.82.5 + resolution: "metro-core@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 lodash.throttle: ^4.1.1 - metro-resolver: 0.81.5 - checksum: 5fb02d055669f0d37aaffc165444aa723741e9e9a74c1e17c54b53e635e4b7246d8ec582bfb951710ff02cd2d26d5565811182464f3f42728c1f346d0e699f8a + metro-resolver: 0.82.5 + checksum: f6f0c91240ad4ff2ebd61e5cb23f433309fc82e8042e240da1347f8edf61cc6b893bd176cabecad0dc91d214dd315d501af21cb518459aeb0ed613881619b583 languageName: node linkType: hard -"metro-file-map@npm:0.81.5": - version: 0.81.5 - resolution: "metro-file-map@npm:0.81.5" +"metro-file-map@npm:0.82.5": + version: 0.82.5 + resolution: "metro-file-map@npm:0.82.5" dependencies: - debug: ^2.2.0 + debug: ^4.4.0 fb-watchman: ^2.0.0 flow-enums-runtime: ^0.0.6 graceful-fs: ^4.2.4 @@ -21000,76 +20924,76 @@ __metadata: micromatch: ^4.0.4 nullthrows: ^1.1.1 walker: ^1.0.7 - checksum: dcc975a6a3a0ceaf25048cca834d6b065b719b768f332c2a720d6a0341b6b640783625d1188dc1b85204e42420853240fa0419988bade2395ce3c054079c3b65 + checksum: 46bda99f0ae892071c1b48b09f884f017f48d564c30b2a1f858f6fae1c6c1848bbbce20f66a5be086d7e0acfec3d8c1ddbf69699aaf2829f10954ae39d8a27d7 languageName: node linkType: hard -"metro-minify-terser@npm:0.81.5": - version: 0.81.5 - resolution: "metro-minify-terser@npm:0.81.5" +"metro-minify-terser@npm:0.82.5": + version: 0.82.5 + resolution: "metro-minify-terser@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 terser: ^5.15.0 - checksum: 4623743676e2bb8bb74b99bd2b2c26feb2509a8db5596f265e21042b43e84611f9025977ae298b8271644cb27e8da8a60b8dff791f57517b4bd2f5ae366f2945 + checksum: 754c150f0928460e1254e90e4e11bd87e069a0b286d21906758cb71fb8b4ec50dc8f78337bf8a9f8a28ddbd34230f5c66dad0fecf18dbe49715bf1300e5318c2 languageName: node linkType: hard -"metro-resolver@npm:0.81.5": - version: 0.81.5 - resolution: "metro-resolver@npm:0.81.5" +"metro-resolver@npm:0.82.5": + version: 0.82.5 + resolution: "metro-resolver@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 - checksum: 84d9f3c10538a747c2718ddc1cf366c38b1a6080e2b6cdfd4731511e5a25cec45fbf35101fae8691bda59fd2e9aa3f559d436bc46e05b603c446072e4a1bc6e9 + checksum: d1f7b57687c9cbb100114474689fee2fcfb86428a1228499b28391d16378573ac0f07c750874a2d75eabe237d67eb32a5c947bbbd70cd851885f1f6b13992472 languageName: node linkType: hard -"metro-runtime@npm:0.81.5, metro-runtime@npm:^0.81.3": - version: 0.81.5 - resolution: "metro-runtime@npm:0.81.5" +"metro-runtime@npm:0.82.5, metro-runtime@npm:^0.82.2": + version: 0.82.5 + resolution: "metro-runtime@npm:0.82.5" dependencies: "@babel/runtime": ^7.25.0 flow-enums-runtime: ^0.0.6 - checksum: 43b54e07ce0534928c12f59a3d2e68ecf4fc7e7ad1a78cb691f90a406796eec381af21fcef5af73ecc5081153a4da5f935797ebe9ea4a025a5e526039bf19b21 + checksum: 931c2b581ac1527899cfec6b9c4bbbac75545c78bf192abd8efddd4dbff481b052513857c8544507e7900e7c06f08a8da75e16c864cd86ec3a8c3d6c05738dae languageName: node linkType: hard -"metro-source-map@npm:0.81.5, metro-source-map@npm:^0.81.3": - version: 0.81.5 - resolution: "metro-source-map@npm:0.81.5" +"metro-source-map@npm:0.82.5, metro-source-map@npm:^0.82.2": + version: 0.82.5 + resolution: "metro-source-map@npm:0.82.5" dependencies: "@babel/traverse": ^7.25.3 "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3" "@babel/types": ^7.25.2 flow-enums-runtime: ^0.0.6 invariant: ^2.2.4 - metro-symbolicate: 0.81.5 + metro-symbolicate: 0.82.5 nullthrows: ^1.1.1 - ob1: 0.81.5 + ob1: 0.82.5 source-map: ^0.5.6 vlq: ^1.0.0 - checksum: a31e459c8a18fe3fc6b3cc5d87a2f25b2f3794425d590bbbab8abafa537647110b18edd0ff025971d1783e16d3c114099bf13c406a01a6456e3e004a54f621d8 + checksum: 1bb53abe636524593207c578bfd0e15f47f4e15db919793a49b89359726d043cd69107244b6e1c2c8194983b8df7faa8b56ffa73a5f81c0fefc0cc1727907177 languageName: node linkType: hard -"metro-symbolicate@npm:0.81.5": - version: 0.81.5 - resolution: "metro-symbolicate@npm:0.81.5" +"metro-symbolicate@npm:0.82.5": + version: 0.82.5 + resolution: "metro-symbolicate@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 invariant: ^2.2.4 - metro-source-map: 0.81.5 + metro-source-map: 0.82.5 nullthrows: ^1.1.1 source-map: ^0.5.6 vlq: ^1.0.0 bin: metro-symbolicate: src/index.js - checksum: f1ec6df153be8b469c87179dcc0807e6e94e2523140e0b0044aa2fecedfd222f9d05a408bd142d3293e52e9c7ef59064332fce5f489cddb0f38d11d3ed897c2b + checksum: ae91be09cca42567ea3c2bee695e0db42512fc8bf28cf2aa281ae8043edc3bbddcadd0793b401b6bcb7e0cc1df1428647662462a8f515ab6c47420421b1e96f8 languageName: node linkType: hard -"metro-transform-plugins@npm:0.81.5": - version: 0.81.5 - resolution: "metro-transform-plugins@npm:0.81.5" +"metro-transform-plugins@npm:0.82.5": + version: 0.82.5 + resolution: "metro-transform-plugins@npm:0.82.5" dependencies: "@babel/core": ^7.25.2 "@babel/generator": ^7.25.0 @@ -21077,34 +21001,34 @@ __metadata: "@babel/traverse": ^7.25.3 flow-enums-runtime: ^0.0.6 nullthrows: ^1.1.1 - checksum: 2d156882c6545730638aeb362856288649e5049f336d532040dd4b9435ad53d35adbc808903f01519dfda5e7a9a1d80b6f2303171921f32aa823f86484ab2b60 + checksum: 891838d529df2c3170614de9e55025d37fb799a8d444d9e898fc203496ec33620ad8066e0ab06244b7abb806ffdae4728b84047d0d01bceee877ea5d69240d04 languageName: node linkType: hard -"metro-transform-worker@npm:0.81.5": - version: 0.81.5 - resolution: "metro-transform-worker@npm:0.81.5" +"metro-transform-worker@npm:0.82.5": + version: 0.82.5 + resolution: "metro-transform-worker@npm:0.82.5" dependencies: "@babel/core": ^7.25.2 "@babel/generator": ^7.25.0 "@babel/parser": ^7.25.3 "@babel/types": ^7.25.2 flow-enums-runtime: ^0.0.6 - metro: 0.81.5 - metro-babel-transformer: 0.81.5 - metro-cache: 0.81.5 - metro-cache-key: 0.81.5 - metro-minify-terser: 0.81.5 - metro-source-map: 0.81.5 - metro-transform-plugins: 0.81.5 + metro: 0.82.5 + metro-babel-transformer: 0.82.5 + metro-cache: 0.82.5 + metro-cache-key: 0.82.5 + metro-minify-terser: 0.82.5 + metro-source-map: 0.82.5 + metro-transform-plugins: 0.82.5 nullthrows: ^1.1.1 - checksum: 59d144c44e7979317ee702a0f11da19443e5bf56a4fb6be026e4e09377631a2704ca4aba4e7290711fbe481176e82006fe195a18cacd6007f01c6b1ebe2a7a84 + checksum: 653868f5fc525ad5b36181e7d1b3bb893c49ce6647791c21b585dd29cccc2f00e68d66b16e00eeb385fcb0c5f205a713aba0fe57971b1ab2bf150938cb820aaa languageName: node linkType: hard -"metro@npm:0.81.5, metro@npm:^0.81.3": - version: 0.81.5 - resolution: "metro@npm:0.81.5" +"metro@npm:0.82.5, metro@npm:^0.82.2": + version: 0.82.5 + resolution: "metro@npm:0.82.5" dependencies: "@babel/code-frame": ^7.24.7 "@babel/core": ^7.25.2 @@ -21117,28 +21041,28 @@ __metadata: chalk: ^4.0.0 ci-info: ^2.0.0 connect: ^3.6.5 - debug: ^2.2.0 + debug: ^4.4.0 error-stack-parser: ^2.0.6 flow-enums-runtime: ^0.0.6 graceful-fs: ^4.2.4 - hermes-parser: 0.25.1 + hermes-parser: 0.29.1 image-size: ^1.0.2 invariant: ^2.2.4 jest-worker: ^29.7.0 jsc-safe-url: ^0.2.2 lodash.throttle: ^4.1.1 - metro-babel-transformer: 0.81.5 - metro-cache: 0.81.5 - metro-cache-key: 0.81.5 - metro-config: 0.81.5 - metro-core: 0.81.5 - metro-file-map: 0.81.5 - metro-resolver: 0.81.5 - metro-runtime: 0.81.5 - metro-source-map: 0.81.5 - metro-symbolicate: 0.81.5 - metro-transform-plugins: 0.81.5 - metro-transform-worker: 0.81.5 + metro-babel-transformer: 0.82.5 + metro-cache: 0.82.5 + metro-cache-key: 0.82.5 + metro-config: 0.82.5 + metro-core: 0.82.5 + metro-file-map: 0.82.5 + metro-resolver: 0.82.5 + metro-runtime: 0.82.5 + metro-source-map: 0.82.5 + metro-symbolicate: 0.82.5 + metro-transform-plugins: 0.82.5 + metro-transform-worker: 0.82.5 mime-types: ^2.1.27 nullthrows: ^1.1.1 serialize-error: ^2.1.0 @@ -21148,11 +21072,11 @@ __metadata: yargs: ^17.6.2 bin: metro: src/cli.js - checksum: 7665b811aa09abe5c7743764402f03cf64ccb3e1b381a46716470b58b05a952dde45e5e34c6a485f79154e2905b89fc178455c378831f9425767d76392418f9f + checksum: 391411e1be9463f4d52e804f0a9680e59be1cfc5c76ca890f3a9e9c014561da65bbf6e3ccc44f7f52601add064b3b70862b3813c963384a0df2218a345a304e5 languageName: node linkType: hard -"micromatch@npm:4.0.8, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.7, micromatch@npm:^4.0.8": +"micromatch@npm:4.0.8, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -21684,13 +21608,6 @@ __metadata: languageName: node linkType: hard -"neo-async@npm:^2.5.0": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 - languageName: node - linkType: hard - "netmask@npm:^2.0.2": version: 2.0.2 resolution: "netmask@npm:2.0.2" @@ -21780,7 +21697,7 @@ __metadata: languageName: node linkType: hard -"node-forge@npm:^1, node-forge@npm:^1.3.1": +"node-forge@npm:^1.3.1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" checksum: 08fb072d3d670599c89a1704b3e9c649ff1b998256737f0e06fbd1a5bf41cae4457ccaee32d95052d80bbafd9ffe01284e078c8071f0267dc9744e51c5ed42a9 @@ -21933,12 +21850,12 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.81.5": - version: 0.81.5 - resolution: "ob1@npm:0.81.5" +"ob1@npm:0.82.5": + version: 0.82.5 + resolution: "ob1@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 - checksum: 249ad576be69151a3099207b35b2f6da5c6bb39dfacb9295028ebdc182c2f61f6544d1f6f167af759a77174ab19d8997d1ae6aecdbd9bdc293b2826067e66c5b + checksum: 3faa161e5b5307188b6bbbf7e21727b1e434b8f6c31c51386808b2efd5e7238cf85a7ce71416d9a3f073625afb5a2212f80ec267996dc88fe086944adbb525d9 languageName: node linkType: hard @@ -22758,7 +22675,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -22779,13 +22696,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b - languageName: node - linkType: hard - "pinpoint@npm:^1.1.0": version: 1.1.0 resolution: "pinpoint@npm:1.1.0" @@ -22809,7 +22719,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.6, pirates@npm:^4.0.7": +"pirates@npm:^4.0.7": version: 4.0.7 resolution: "pirates@npm:4.0.7" checksum: 3dcbaff13c8b5bc158416feb6dc9e49e3c6be5fddc1ea078a05a73ef6b85d79324bbb1ef59b954cdeff000dbf000c1d39f32dc69310c7b78fbada5171b583e40 @@ -22823,15 +22733,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^3.0.0": - version: 3.0.0 - resolution: "pkg-dir@npm:3.0.0" - dependencies: - find-up: ^3.0.0 - checksum: 70c9476ffefc77552cc6b1880176b71ad70bfac4f367604b2b04efd19337309a4eec985e94823271c7c0e83946fa5aeb18cd360d15d10a5d7533e19344bfa808 - languageName: node - linkType: hard - "pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -23477,7 +23378,7 @@ __metadata: languageName: node linkType: hard -"react-devtools-core@npm:^6.0.1": +"react-devtools-core@npm:^6.1.1": version: 6.1.5 resolution: "react-devtools-core@npm:6.1.5" dependencies: @@ -23514,7 +23415,18 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:19.0.0, react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": +"react-dom@npm:19.1.0": + version: 19.1.0 + resolution: "react-dom@npm:19.1.0" + dependencies: + scheduler: ^0.26.0 + peerDependencies: + react: ^19.1.0 + checksum: 1d154b6543467095ac269e61ca59db546f34ef76bcdeb90f2dad41d682cd210aae492e70c85010ed5d0a2caea225e9a55139ebc1a615ee85bf197d7f99678cdf + languageName: node + linkType: hard + +"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": version: 19.0.0 resolution: "react-dom@npm:19.0.0" dependencies: @@ -23690,16 +23602,6 @@ __metadata: languageName: node linkType: hard -"react-native-fast-image@npm:^8.6.3": - version: 8.6.3 - resolution: "react-native-fast-image@npm:8.6.3" - peerDependencies: - react: ^17 || ^18 - react-native: ">=0.60.0" - checksum: 29289cb6b2eae0983c8922b22e2d9de3be07322bb7991c5def19f95eadefaedb0e308ff0b38cc1d0444e8bd4fe94a7621a99a2d3d9298100bcb60b3144677234 - languageName: node - linkType: hard - "react-native-geolocation-service@npm:5.3.1": version: 5.3.1 resolution: "react-native-geolocation-service@npm:5.3.1" @@ -23707,9 +23609,9 @@ __metadata: languageName: node linkType: hard -"react-native-gesture-handler@npm:^2.26.0": - version: 2.26.0 - resolution: "react-native-gesture-handler@npm:2.26.0" +"react-native-gesture-handler@npm:^2.29.1": + version: 2.29.1 + resolution: "react-native-gesture-handler@npm:2.29.1" dependencies: "@egjs/hammerjs": ^2.0.17 hoist-non-react-statics: ^3.3.0 @@ -23717,7 +23619,7 @@ __metadata: peerDependencies: react: "*" react-native: "*" - checksum: e01cc57598b1cd2b4bf2886906e0d3a03ef09a57ce7a8ab530ec7779853919bb8265dd9afc0f023a0418cf60f6762eb27d1d71f8e3e9416a78ab0ddd55c22bb9 + checksum: dddabdb12ce31d68ef71796e8fcaa57acd4608cca14412f36ce36fee14911fb629f325f0ced86bea1336a64673a434e34cde32a63be8d33f29d9a7bed292c5b2 languageName: node linkType: hard @@ -23748,7 +23650,7 @@ __metadata: languageName: node linkType: hard -"react-native-is-edge-to-edge@npm:1.1.7, react-native-is-edge-to-edge@npm:^1.1.7": +"react-native-is-edge-to-edge@npm:^1.1.7": version: 1.1.7 resolution: "react-native-is-edge-to-edge@npm:1.1.7" peerDependencies: @@ -23758,6 +23660,16 @@ __metadata: languageName: node linkType: hard +"react-native-is-edge-to-edge@npm:^1.2.1": + version: 1.2.1 + resolution: "react-native-is-edge-to-edge@npm:1.2.1" + peerDependencies: + react: "*" + react-native: "*" + checksum: 8fb6d8ab7b953c7d7cec8c987cef24f1c5348a293a85cb49c7c53b54ef110c0ca746736ae730e297603c8c76020df912e93915fb17518c4f2f91143757177aba + languageName: node + linkType: hard + "react-native-keychain@npm:^10.0.0": version: 10.0.0 resolution: "react-native-keychain@npm:10.0.0" @@ -23800,9 +23712,9 @@ __metadata: languageName: node linkType: hard -"react-native-maps@npm:1.23.12": - version: 1.23.12 - resolution: "react-native-maps@npm:1.23.12" +"react-native-maps@npm:1.26.0": + version: 1.26.0 + resolution: "react-native-maps@npm:1.26.0" dependencies: "@types/geojson": ^7946.0.13 peerDependencies: @@ -23812,7 +23724,7 @@ __metadata: peerDependenciesMeta: react-native-web: optional: true - checksum: 5ee7790fae80691d55974c9bff57f71729b5d6cee70c5239a06067477088bffa5c948270382ecd0f95982eedfcb70e3e21f1b596a098f98c3874f74865ac2c03 + checksum: 0387f9c7e9a68fa4b89bd9cefbc23f3c414d38ae7b3bcfc23c9eb91772faf1e7236c6f8060a6d6ec6450e3548bb2073b6d258be7d60b27e7f0619ff037476aca languageName: node linkType: hard @@ -23892,27 +23804,18 @@ __metadata: languageName: node linkType: hard -"react-native-reanimated@npm:^3.15.0": - version: 3.18.0 - resolution: "react-native-reanimated@npm:3.18.0" +"react-native-reanimated@npm:^4.1.5": + version: 4.1.5 + resolution: "react-native-reanimated@npm:4.1.5" dependencies: - "@babel/plugin-transform-arrow-functions": ^7.0.0-0 - "@babel/plugin-transform-class-properties": ^7.0.0-0 - "@babel/plugin-transform-classes": ^7.0.0-0 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.0.0-0 - "@babel/plugin-transform-optional-chaining": ^7.0.0-0 - "@babel/plugin-transform-shorthand-properties": ^7.0.0-0 - "@babel/plugin-transform-template-literals": ^7.0.0-0 - "@babel/plugin-transform-unicode-regex": ^7.0.0-0 - "@babel/preset-typescript": ^7.16.7 - convert-source-map: ^2.0.0 - invariant: ^2.2.4 - react-native-is-edge-to-edge: 1.1.7 + react-native-is-edge-to-edge: ^1.2.1 + semver: 7.7.2 peerDependencies: "@babel/core": ^7.0.0-0 react: "*" react-native: "*" - checksum: d425c0bd2004012330242b6d0abbf32b4f7d4f2090bc4af4b1b156a5edd8a3c6deb1fbf6b1cf5041be8f67615d5853742cef74c5b25d9d00aea4688112d0b1a2 + react-native-worklets: ">=0.5.0" + checksum: 5439c2f5c27af9590719a4c412f3cb8415c626e346885821898ae50c7e3cdf00bc21058a1bc29cafa1366231f414c6979fae852acf0713ba7bdc7e5ba351827c languageName: node linkType: hard @@ -24084,6 +23987,29 @@ __metadata: languageName: node linkType: hard +"react-native-worklets@npm:^0.6.1": + version: 0.6.1 + resolution: "react-native-worklets@npm:0.6.1" + dependencies: + "@babel/plugin-transform-arrow-functions": ^7.0.0-0 + "@babel/plugin-transform-class-properties": ^7.0.0-0 + "@babel/plugin-transform-classes": ^7.0.0-0 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.0.0-0 + "@babel/plugin-transform-optional-chaining": ^7.0.0-0 + "@babel/plugin-transform-shorthand-properties": ^7.0.0-0 + "@babel/plugin-transform-template-literals": ^7.0.0-0 + "@babel/plugin-transform-unicode-regex": ^7.0.0-0 + "@babel/preset-typescript": ^7.16.7 + convert-source-map: ^2.0.0 + semver: 7.7.2 + peerDependencies: + "@babel/core": ^7.0.0-0 + react: "*" + react-native: "*" + checksum: fee8de844ef2286dee9f81a53f9cf309424d26251953c8524204342c8531fef403c625a23632a6bb65ea57409d6f8522a60e02de772322bebb5ff4aa4cccf569 + languageName: node + linkType: hard + "react-native-youtube-iframe@npm:^2.3.0": version: 2.3.0 resolution: "react-native-youtube-iframe@npm:2.3.0" @@ -24103,55 +24029,54 @@ __metadata: languageName: node linkType: hard -"react-native@npm:0.78.3": - version: 0.78.3 - resolution: "react-native@npm:0.78.3" +"react-native@npm:0.80.2": + version: 0.80.2 + resolution: "react-native@npm:0.80.2" dependencies: - "@jest/create-cache-key-function": ^29.6.3 - "@react-native/assets-registry": 0.78.3 - "@react-native/codegen": 0.78.3 - "@react-native/community-cli-plugin": 0.78.3 - "@react-native/gradle-plugin": 0.78.3 - "@react-native/js-polyfills": 0.78.3 - "@react-native/normalize-colors": 0.78.3 - "@react-native/virtualized-lists": 0.78.3 + "@jest/create-cache-key-function": ^29.7.0 + "@react-native/assets-registry": 0.80.2 + "@react-native/codegen": 0.80.2 + "@react-native/community-cli-plugin": 0.80.2 + "@react-native/gradle-plugin": 0.80.2 + "@react-native/js-polyfills": 0.80.2 + "@react-native/normalize-colors": 0.80.2 + "@react-native/virtualized-lists": 0.80.2 abort-controller: ^3.0.0 anser: ^1.4.9 ansi-regex: ^5.0.0 babel-jest: ^29.7.0 - babel-plugin-syntax-hermes-parser: 0.25.1 + babel-plugin-syntax-hermes-parser: 0.28.1 base64-js: ^1.5.1 chalk: ^4.0.0 commander: ^12.0.0 - event-target-shim: ^5.0.1 flow-enums-runtime: ^0.0.6 glob: ^7.1.1 invariant: ^2.2.4 - jest-environment-node: ^29.6.3 + jest-environment-node: ^29.7.0 memoize-one: ^5.0.0 - metro-runtime: ^0.81.3 - metro-source-map: ^0.81.3 + metro-runtime: ^0.82.2 + metro-source-map: ^0.82.2 nullthrows: ^1.1.1 pretty-format: ^29.7.0 promise: ^8.3.0 - react-devtools-core: ^6.0.1 + react-devtools-core: ^6.1.1 react-refresh: ^0.14.0 regenerator-runtime: ^0.13.2 - scheduler: 0.25.0 + scheduler: 0.26.0 semver: ^7.1.3 stacktrace-parser: ^0.1.10 whatwg-fetch: ^3.0.0 ws: ^6.2.3 yargs: ^17.6.2 peerDependencies: - "@types/react": ^19.0.0 - react: ^19.0.0 + "@types/react": ^19.1.0 + react: ^19.1.0 peerDependenciesMeta: "@types/react": optional: true bin: react-native: cli.js - checksum: 58fa0fa7338e25b3214ad20f97966f2da5be650f8de0615c07beef6cb4f4788405cc4f0cb0f7d3a5013eac7df166fe5d05a6056704e1a6cf6654682a74e4596a + checksum: 77dc71b6d64b1a706cac86daa777ab1627ae3dcd703e0a6d895137101b2961d3c4a4c68dc1baf2ea1ff360f492cecc702430b5bf0e9f25b164479776c6ca908e languageName: node linkType: hard @@ -24171,15 +24096,15 @@ __metadata: languageName: node linkType: hard -"react-test-renderer@npm:19.0.0": - version: 19.0.0 - resolution: "react-test-renderer@npm:19.0.0" +"react-test-renderer@npm:19.1.0": + version: 19.1.0 + resolution: "react-test-renderer@npm:19.1.0" dependencies: - react-is: ^19.0.0 - scheduler: ^0.25.0 + react-is: ^19.1.0 + scheduler: ^0.26.0 peerDependencies: - react: ^19.0.0 - checksum: 2e1e527588c69e822b7aa25262c9f4a48161ede9cee5109b88228ecafbd91ce82f7afed176645efcba903ba5a43d05842a8229cdde220049e42a0cf679715dbc + react: ^19.1.0 + checksum: e060239f8fbfbe54c2fa0e1d7a9eb1ee77787b0b29fd75ba6170dc22cd637c3a9052a82285db6be5a269309a65b8e8c40ddc8103620fbe1652cce693fd608acc languageName: node linkType: hard @@ -24209,7 +24134,14 @@ __metadata: languageName: node linkType: hard -"react@npm:19.0.0, react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": +"react@npm:19.1.0": + version: 19.1.0 + resolution: "react@npm:19.1.0" + checksum: c0905f8cfb878b0543a5522727e5ed79c67c8111dc16ceee135b7fe19dce77b2c1c19293513061a8934e721292bfc1517e0487e262d1906f306bdf95fa54d02f + languageName: node + linkType: hard + +"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": version: 19.0.0 resolution: "react@npm:19.0.0" checksum: 86de15d85b2465feb40297a90319c325cb07cf27191a361d47bcfe8c6126c973d660125aa67b8f4cbbe39f15a2f32efd0c814e98196d8e5b68c567ba40a399c6 @@ -24313,13 +24245,6 @@ __metadata: languageName: node linkType: hard -"readline@npm:^1.3.0": - version: 1.3.0 - resolution: "readline@npm:1.3.0" - checksum: dfaf8e6ac20408ea00d650e95f7bb47f77c4c62dd12ed7fb51731ee84532a2f3675fcdc4cab4923dc1eef227520a2e082a093215190907758bea9f585b19438e - languageName: node - linkType: hard - "reassure@npm:^1.4.0": version: 1.4.0 resolution: "reassure@npm:1.4.0" @@ -24335,7 +24260,7 @@ __metadata: languageName: node linkType: hard -"recast@npm:^0.23.11, recast@npm:^0.23.5": +"recast@npm:^0.23.5": version: 0.23.11 resolution: "recast@npm:0.23.11" dependencies: @@ -24969,7 +24894,14 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:0.25.0, scheduler@npm:^0.25.0": +"scheduler@npm:0.26.0, scheduler@npm:^0.26.0": + version: 0.26.0 + resolution: "scheduler@npm:0.26.0" + checksum: c63a9f1c0e5089b537231cff6c11f75455b5c8625ae09535c1d7cd0a1b0c77ceecdd9f1074e5e063da5d8dc11e73e8033dcac3361791088be08a6e60c0283ed9 + languageName: node + linkType: hard + +"scheduler@npm:^0.25.0": version: 0.25.0 resolution: "scheduler@npm:0.25.0" checksum: b7bb9fddbf743e521e9aaa5198a03ae823f5e104ebee0cb9ec625392bb7da0baa1c28ab29cee4b1e407a94e76acc6eee91eeb749614f91f853efda2613531566 @@ -25008,16 +24940,6 @@ __metadata: languageName: node linkType: hard -"selfsigned@npm:^2.4.1": - version: 2.4.1 - resolution: "selfsigned@npm:2.4.1" - dependencies: - "@types/node-forge": ^1.3.0 - node-forge: ^1 - checksum: 38b91c56f1d7949c0b77f9bbe4545b19518475cae15e7d7f0043f87b1626710b011ce89879a88969651f650a19d213bb15b7d5b4c2877df9eeeff7ba8f8b9bfa - languageName: node - linkType: hard - "semver-diff@npm:^3.1.1": version: 3.1.1 resolution: "semver-diff@npm:3.1.1" @@ -25164,15 +25086,6 @@ __metadata: languageName: node linkType: hard -"shallow-clone@npm:^3.0.0": - version: 3.0.1 - resolution: "shallow-clone@npm:3.0.1" - dependencies: - kind-of: ^6.0.2 - checksum: 39b3dd9630a774aba288a680e7d2901f5c0eae7b8387fc5c8ea559918b29b3da144b7bdb990d7ccd9e11be05508ac9e459ce51d01fd65e583282f6ffafcba2e7 - languageName: node - linkType: hard - "shallowequal@npm:1.1.0": version: 1.1.0 resolution: "shallowequal@npm:1.1.0" @@ -25196,13 +25109,20 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.6.1, shell-quote@npm:^1.7.3": +"shell-quote@npm:^1.6.1": version: 1.7.3 resolution: "shell-quote@npm:1.7.3" checksum: aca58e73a3a5d933d02e0bdddedc53ee14f7c2ec264f97ac915b9d4482d077a38e422aa664631d60a672cd3cdb4054eb2e6c0303f54882453dacb6483e482d34 languageName: node linkType: hard +"shell-quote@npm:^1.8.3": + version: 1.8.3 + resolution: "shell-quote@npm:1.8.3" + checksum: 550dd84e677f8915eb013d43689c80bb114860649ec5298eb978f40b8f3d4bc4ccb072b82c094eb3548dc587144bb3965a8676f0d685c1cf4c40b5dc27166242 + languageName: node + linkType: hard + "side-channel-list@npm:^1.0.0": version: 1.0.0 resolution: "side-channel-list@npm:1.0.0" @@ -25413,7 +25333,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.16, source-map-support@npm:~0.5.20": +"source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -25783,7 +25703,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": +"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0": version: 5.2.0 resolution: "strip-ansi@npm:5.2.0" dependencies: @@ -25909,13 +25829,6 @@ __metadata: languageName: node linkType: hard -"sudo-prompt@npm:^9.0.0": - version: 9.2.1 - resolution: "sudo-prompt@npm:9.2.1" - checksum: 50a29eec2f264f2b78d891452a64112d839a30bffbff4ec065dba4af691a35b23cdb8f9107d413e25c1a9f1925644a19994c00602495cab033d53f585fdfd665 - languageName: node - linkType: hard - "summary@npm:2.1.0": version: 2.1.0 resolution: "summary@npm:2.1.0" @@ -27069,7 +26982,16 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:1.2.0, use-sync-external-store@npm:^1.0.0": +"use-sync-external-store@npm:1.5.0": + version: 1.5.0 + resolution: "use-sync-external-store@npm:1.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 5e639c9273200adb6985b512c96a3a02c458bc8ca1a72e91da9cdc6426144fc6538dca434b0f99b28fb1baabc82e1c383ba7900b25ccdcb43758fb058dc66c34 + languageName: node + linkType: hard + +"use-sync-external-store@npm:^1.0.0": version: 1.2.0 resolution: "use-sync-external-store@npm:1.2.0" peerDependencies: @@ -27078,12 +27000,12 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:1.5.0": - version: 1.5.0 - resolution: "use-sync-external-store@npm:1.5.0" +"use-sync-external-store@npm:^1.2.2": + version: 1.6.0 + resolution: "use-sync-external-store@npm:1.6.0" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 5e639c9273200adb6985b512c96a3a02c458bc8ca1a72e91da9cdc6426144fc6538dca434b0f99b28fb1baabc82e1c383ba7900b25ccdcb43758fb058dc66c34 + checksum: 61a62e910713adfaf91bdb72ff2cd30e5ba83687accaf3b6e75a903b45bf635f5722e3694af30d83a03e92cb533c0a5c699298d2fef639a03ffc86b469f4eee2 languageName: node linkType: hard @@ -28034,11 +27956,11 @@ __metadata: languageName: node linkType: hard -"zustand@npm:^4.5.2": - version: 4.5.2 - resolution: "zustand@npm:4.5.2" +"zustand@npm:^4.5.7": + version: 4.5.7 + resolution: "zustand@npm:4.5.7" dependencies: - use-sync-external-store: 1.2.0 + use-sync-external-store: ^1.2.2 peerDependencies: "@types/react": ">=16.8" immer: ">=9.0.6" @@ -28050,6 +27972,6 @@ __metadata: optional: true react: optional: true - checksum: 160052a7faaefbaad1071e890a06e5d7a04f6ff6985def30a7b4471f4ddbdd1d30bb05b3688a2777cd0b717d1f0d98dad24883a5caa3deeb3afb4d83b6dabc55 + checksum: 103ab43456bbc3be6afe79b18a93c7fa46ffaa1aa35c45b213f13f4cd0868fee78b43c6805c6d80a822297df2e455fd021c28be94b80529ec4806b2724f20219 languageName: node linkType: hard