From 8ecd8e339ad6c62f965f81a5a06428be3e579c7c Mon Sep 17 00:00:00 2001 From: Cory Chambers Date: Fri, 26 Apr 2024 09:07:58 -0400 Subject: [PATCH 01/19] Updated classifier styling to match updated designs. Added auto play multi image functionality. --- images/zooni-nav-logo2.png | Bin 0 -> 67755 bytes ios/Podfile.lock | 36 +- .../project.pbxproj | 2 +- package-lock.json | 3861 +++++++++-------- package.json | 6 +- src/actions/projects.js | 28 +- src/components/FullScreenMedia.js | 40 +- src/components/Markings/DrawableSubject.js | 42 +- src/components/Markings/DrawingClassifier.js | 153 +- .../Markings/DrawingClassifierSubject.js | 3 +- src/components/Markings/DrawingModeButton.js | 51 + src/components/Markings/ToolNameDrawCount.js | 58 + .../Markings/components/DrawingHeader.js | 9 +- .../Markings/components/DrawingToolView.js | 20 +- src/components/SizedImage.js | 3 + src/components/StyledMarkdown.js | 2 +- src/components/ZoomableImage.js | 6 +- .../classifier/AutoPlayMultiImage.js | 181 + src/components/classifier/ButtonAnswer.js | 66 + src/components/classifier/ButtonLarge.js | 58 + src/components/classifier/ButtonsDrawing.js | 142 + .../classifier/ButtonsDrawingModal.js | 68 + .../classifier/ClassificationPanel.js | 92 +- src/components/classifier/ExpandImageIcon.js | 15 + src/components/classifier/FieldGuide.js | 127 +- src/components/classifier/FieldGuideBtn.js | 59 + .../classifier/FieldGuideItemDetail.js | 15 +- .../classifier/FieldGuideItemRow.js | 38 +- .../classifier/MultiAnswerClassifier.js | 197 +- src/components/classifier/NeedHelpButton.js | 13 +- src/components/classifier/PaginateDot.js | 54 + .../classifier/QuestionClassifier.js | 202 +- .../classifier/SubjectOptionsBar.js | 2 +- src/components/classifier/SwipeCard.js | 45 +- src/components/classifier/SwipeClassifier.js | 64 +- src/components/classifier/SwipeSingleImage.js | 46 + src/components/classifier/SwipeTabs.js | 26 +- src/components/classifier/SwipeableSubject.js | 300 +- src/components/classifier/TappableSubject.js | 110 +- src/components/classifier/TaskHelpModal.js | 77 +- src/components/classifier/Tutorial.js | 81 +- src/components/classifier/UnlinkedTask.js | 29 +- src/components/common/LoadableMedia.js | 23 +- src/components/common/SizedMarkdown.js | 2 +- src/containers/SafeAreaContainer.js | 30 +- src/navigation/ClassifierHeader.js | 131 + src/navigation/RootNavigator.js | 14 +- 47 files changed, 3864 insertions(+), 2763 deletions(-) create mode 100644 images/zooni-nav-logo2.png create mode 100644 src/components/Markings/DrawingModeButton.js create mode 100644 src/components/Markings/ToolNameDrawCount.js create mode 100644 src/components/classifier/AutoPlayMultiImage.js create mode 100644 src/components/classifier/ButtonAnswer.js create mode 100644 src/components/classifier/ButtonLarge.js create mode 100644 src/components/classifier/ButtonsDrawing.js create mode 100644 src/components/classifier/ButtonsDrawingModal.js create mode 100644 src/components/classifier/ExpandImageIcon.js create mode 100644 src/components/classifier/FieldGuideBtn.js create mode 100644 src/components/classifier/PaginateDot.js create mode 100644 src/components/classifier/SwipeSingleImage.js create mode 100644 src/navigation/ClassifierHeader.js diff --git a/images/zooni-nav-logo2.png b/images/zooni-nav-logo2.png new file mode 100644 index 0000000000000000000000000000000000000000..0a77d06ca455d3a8d01a4004f8a7c4636fd7afcd GIT binary patch literal 67755 zcmY(rby$?!_dX2cpaY1Mgyhg&QUU@a(p@4AlF|**Gs=F$&i zaNym8=X}1u_m8Us9wYp-?hd#!bE!Zp1AfT8ZHMd)E3&Hfm~EoZxF17Ivr|78HDi4L(%hgM|gjf&BNA zYg0Mb{`Ykx=9lG>+=^IO2rMPp2fEL&x2AE^XynG*e%0A{C&rmLVs9L8Z$%2(+AX%Op9OFV!vNsxJMmEiI%KT+ugK0X=&-TCM>V&)R;iM&l``f+^ zjnjFP{r=ma2NmMPsb7pX4pM^1_EK0kT}p<63xs}|DOnwz)JC!d&P3?D4?MjZOdmha z^;_e)-F+||(G%=%0@{KH4+nQ0`B3+}eE~sjjycluf8DG%#Eln+O-1WJl4HDH;J5X2BlU^47R< zc1DS`p7uz0b=#BKkknz|i{WnMj87EnXx~rDu8^kAj*ssMe%D=aQ~ee=o4gmvtW&8- z(kVA+`X;CY^@#L)Z1@?QQC3rfS61jCLnixz7&w7N z;8GB>ZR!oLmL?^U11-sAe;>6R@1cS9%%i#t^Cr>=w})_1?7YXZ66sM*O7%}koDaVZ zoOdSJE+`PQ z6OuTusUb6XA4Tt8Ja5?{e=4WpaQEV{Z8wljQiE}aN3wtk7}AX#J|E+;JLC;s)rOA} z^XTYO*$q-@5xl&0#1p%1Z%s<&|$*3j5-RX)1HYwGTcN9
!9~#p5g!4GV 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 RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n"; + shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\n\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_analytics_storage\n _ANALYTICS_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_analytics_storage\")\n if [[ $_ANALYTICS_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_storage\n _ANALYTICS_AD_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_storage\")\n if [[ $_ANALYTICS_AD_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_user_data\n _ANALYTICS_AD_USER_DATA=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_user_data\")\n if [[ $_ANALYTICS_AD_USER_DATA ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_USER_DATA\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n"; }; E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; diff --git a/package-lock.json b/package-lock.json index aeee5d1d..28700b92 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,14 +9,14 @@ "version": "0.0.1", "dependencies": { "@react-native-async-storage/async-storage": "^1.19.3", - "@react-native-community/blur": "^4.3.2", + "@react-native-community/blur": "^4.4.0", "@react-native-community/masked-view": "^0.1.11", "@react-native-community/netinfo": "^9.4.1", "@react-native-community/push-notification-ios": "^1.11.0", "@react-native-firebase/analytics": "^18.6.0", "@react-native-firebase/app": "^18.6.0", "@react-native-firebase/messaging": "^18.6.0", - "@react-navigation/drawer": "^6.6.6", + "@react-navigation/drawer": "6.6.6", "@react-navigation/native": "^6.1.7", "@react-navigation/native-stack": "^6.9.13", "@reduxjs/toolkit": "^1.9.7", @@ -28,7 +28,7 @@ "prop-types": "^15.8.1", "ramda": "0.25.0", "react": "18.2.0", - "react-native": "0.73.4", + "react-native": "0.72.4", "react-native-checkbox-field": "^2.0.2", "react-native-deck-swiper": "^2.0.16", "react-native-device-info": "^10.9.0", @@ -37,12 +37,14 @@ "react-native-image-pan-zoom": "^2.1.12", "react-native-linear-gradient": "^2.8.3", "react-native-loading-spinner-overlay": "^3.0.1", + "react-native-modal": "^13.0.1", "react-native-reanimated": "^3.4.2", "react-native-safe-area-context": "^4.7.2", "react-native-screens": "^3.29.0", "react-native-simple-markdown": "^1.1.0", "react-native-splash-screen": "^3.3.0", "react-native-svg": "^13.13.0", + "react-native-swipe-gestures": "^1.0.5", "react-native-swiper": "^1.6.0", "react-native-toggle-element": "^2.0.1", "react-native-vector-icons": "^10.0.0", @@ -92,52 +94,52 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", - "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.9", - "@babel/parser": "^7.23.9", - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -153,9 +155,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.23.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.10.tgz", - "integrity": "sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz", + "integrity": "sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==", "dev": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -171,13 +173,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -222,16 +224,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz", - "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", + "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -260,9 +262,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -317,11 +319,11 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -357,9 +359,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "engines": { "node": ">=6.9.0" } @@ -381,12 +383,12 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { @@ -430,9 +432,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "engines": { "node": ">=6.9.0" } @@ -467,35 +469,36 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", - "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", "dependencies": { - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -503,12 +506,27 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz", + "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -518,13 +536,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" + "@babel/plugin-transform-optional-chaining": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -534,12 +552,12 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -583,12 +601,12 @@ } }, "node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz", - "integrity": "sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.24.1.tgz", + "integrity": "sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-default-from": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -752,11 +770,11 @@ } }, "node_modules/@babel/plugin-syntax-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz", - "integrity": "sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.1.tgz", + "integrity": "sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -777,11 +795,11 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", - "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz", + "integrity": "sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -791,11 +809,11 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -805,11 +823,11 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -841,11 +859,11 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -949,11 +967,11 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -978,11 +996,11 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -992,12 +1010,12 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-remap-async-to-generator": "^7.22.20", "@babel/plugin-syntax-async-generators": "^7.8.4" }, @@ -1009,12 +1027,12 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { @@ -1025,11 +1043,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1039,11 +1057,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", + "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1053,12 +1071,12 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1068,12 +1086,12 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", + "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1084,16 +1102,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" }, @@ -1105,12 +1123,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1120,11 +1138,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1134,12 +1152,12 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1149,11 +1167,11 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1163,11 +1181,11 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1178,12 +1196,12 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1193,11 +1211,11 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1208,12 +1226,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", - "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz", + "integrity": "sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-flow": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1223,11 +1241,11 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { @@ -1238,13 +1256,13 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1254,11 +1272,11 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1269,11 +1287,11 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1283,11 +1301,11 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1298,11 +1316,11 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1312,12 +1330,12 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", "dependencies": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1327,12 +1345,12 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", "dependencies": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-simple-access": "^7.22.5" }, "engines": { @@ -1343,13 +1361,13 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { @@ -1360,12 +1378,12 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", "dependencies": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1390,11 +1408,11 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1404,11 +1422,11 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1419,11 +1437,11 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1433,30 +1451,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-assign": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.23.3.tgz", - "integrity": "sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" + "@babel/plugin-transform-parameters": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1466,12 +1469,12 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1481,11 +1484,11 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1496,11 +1499,11 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -1512,11 +1515,11 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1526,12 +1529,12 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1541,13 +1544,13 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1558,11 +1561,11 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1572,11 +1575,11 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", + "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1604,11 +1607,11 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz", + "integrity": "sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1618,11 +1621,11 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", + "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1632,11 +1635,11 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1647,11 +1650,11 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1661,15 +1664,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", - "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz", + "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, "engines": { @@ -1680,11 +1683,11 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1694,11 +1697,11 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { @@ -1709,11 +1712,11 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1723,11 +1726,11 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1737,11 +1740,11 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1751,14 +1754,14 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz", + "integrity": "sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-typescript": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1768,11 +1771,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1782,12 +1785,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1797,12 +1800,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1812,12 +1815,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1827,25 +1830,26 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", - "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz", + "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==", "dependencies": { - "@babel/compat-data": "^7.23.5", + "@babel/compat-data": "^7.24.4", "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1857,58 +1861,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.4", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.4", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -1920,13 +1924,13 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz", - "integrity": "sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.1.tgz", + "integrity": "sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-flow-strip-types": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-flow-strip-types": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1949,15 +1953,15 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", + "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-typescript": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -2019,9 +2023,9 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", - "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2030,31 +2034,31 @@ } }, "node_modules/@babel/template": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", - "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dependencies": { "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", - "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2063,9 +2067,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -2197,9 +2201,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2246,19 +2250,11 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, - "node_modules/@isaacs/ttlcache": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", - "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", - "engines": { - "node": ">=12" - } - }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -2671,14 +2667,14 @@ } }, "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", "semver": "^7.5.4" }, @@ -2963,13 +2959,13 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -2984,20 +2980,20 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { @@ -3006,9 +3002,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", - "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3059,9 +3055,9 @@ } }, "node_modules/@react-native-async-storage/async-storage": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.22.0.tgz", - "integrity": "sha512-b5KD010iiZnot86RbAaHpLuHwmPW2qA3SSN/OSZhd1kBoINEQEVBuv+uFtcaTxAhX27bT0wd13GOb2IOSDUXSA==", + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.23.1.tgz", + "integrity": "sha512-Qd2kQ3yi6Y3+AcUlrHxSLlnBvpdCEMVGFlVBneVOjaFaPU61g1huc38g339ysXspwY1QZA2aNhrk/KlHGO+ewA==", "dependencies": { "merge-options": "^3.0.4" }, @@ -3079,44 +3075,44 @@ } }, "node_modules/@react-native-community/cli": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.2.tgz", - "integrity": "sha512-WgoUWwLDcf/G1Su2COUUVs3RzAwnV/vUTdISSpAUGgSc57mPabaAoUctKTnfYEhCnE3j02k3VtaVPwCAFRO3TQ==", - "dependencies": { - "@react-native-community/cli-clean": "12.3.2", - "@react-native-community/cli-config": "12.3.2", - "@react-native-community/cli-debugger-ui": "12.3.2", - "@react-native-community/cli-doctor": "12.3.2", - "@react-native-community/cli-hermes": "12.3.2", - "@react-native-community/cli-plugin-metro": "12.3.2", - "@react-native-community/cli-server-api": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "@react-native-community/cli-types": "12.3.2", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", + "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", + "dependencies": { + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", "chalk": "^4.1.2", "commander": "^9.4.1", - "deepmerge": "^4.3.0", "execa": "^5.0.0", "find-up": "^4.1.0", "fs-extra": "^8.1.0", "graceful-fs": "^4.1.3", - "prompts": "^2.4.2", + "prompts": "^2.4.0", "semver": "^7.5.2" }, "bin": { "react-native": "build/bin.js" }, "engines": { - "node": ">=18" + "node": ">=16" } }, "node_modules/@react-native-community/cli-clean": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz", - "integrity": "sha512-90k2hCX0ddSFPT7EN7h5SZj0XZPXP0+y/++v262hssoey3nhurwF57NGWN0XAR0o9BSW7+mBfeInfabzDraO6A==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", + "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", "dependencies": { - "@react-native-community/cli-tools": "12.3.2", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", - "execa": "^5.0.0" + "execa": "^5.0.0", + "prompts": "^2.4.0" } }, "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { @@ -3184,11 +3180,11 @@ } }, "node_modules/@react-native-community/cli-config": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.3.2.tgz", - "integrity": "sha512-UUCzDjQgvAVL/57rL7eOuFUhd+d+6qfM7V8uOegQFeFEmSmvUUDLYoXpBa5vAK9JgQtSqMBJ1Shmwao+/oElxQ==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", + "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", "dependencies": { - "@react-native-community/cli-tools": "12.3.2", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "cosmiconfig": "^5.1.0", "deepmerge": "^4.3.0", @@ -3261,33 +3257,34 @@ } }, "node_modules/@react-native-community/cli-debugger-ui": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.2.tgz", - "integrity": "sha512-nSWQUL+51J682DlfcC1bjkUbQbGvHCC25jpqTwHIjmmVjYCX1uHuhPSqQKgPNdvtfOkrkACxczd7kVMmetxY2Q==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", + "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", "dependencies": { "serve-static": "^1.13.1" } }, "node_modules/@react-native-community/cli-doctor": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.3.2.tgz", - "integrity": "sha512-GrAabdY4qtBX49knHFvEAdLtCjkmndjTeqhYO6BhsbAeKOtspcLT/0WRgdLIaKODRa61ADNB3K5Zm4dU0QrZOg==", - "dependencies": { - "@react-native-community/cli-config": "12.3.2", - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-platform-ios": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", + "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", + "dependencies": { + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "command-exists": "^1.2.8", - "deepmerge": "^4.3.0", - "envinfo": "^7.10.0", + "envinfo": "^7.7.2", "execa": "^5.0.0", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5", "node-stream-zip": "^1.9.1", "ora": "^5.4.1", + "prompts": "^2.4.0", "semver": "^7.5.2", "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", "wcwidth": "^1.0.1", "yaml": "^2.2.1" } @@ -3406,12 +3403,12 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@react-native-community/cli-hermes": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.3.2.tgz", - "integrity": "sha512-SL6F9O8ghp4ESBFH2YAPLtIN39jdnvGBKnK4FGKpDCjtB3DnUmDsGFlH46S+GGt5M6VzfG2eeKEOKf3pZ6jUzA==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", + "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", "dependencies": { - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" @@ -3482,14 +3479,13 @@ } }, "node_modules/@react-native-community/cli-platform-android": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.2.tgz", - "integrity": "sha512-MZ5nO8yi/N+Fj2i9BJcJ9C/ez+9/Ir7lQt49DWRo9YDmzye66mYLr/P2l/qxsixllbbDi7BXrlLpxaEhMrDopg==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", + "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", "dependencies": { - "@react-native-community/cli-tools": "12.3.2", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "execa": "^5.0.0", - "fast-xml-parser": "^4.2.4", "glob": "^7.1.3", "logkitty": "^0.7.1" } @@ -3559,11 +3555,11 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.2.tgz", - "integrity": "sha512-OcWEAbkev1IL6SUiQnM6DQdsvfsKZhRZtoBNSj9MfdmwotVZSOEZJ+IjZ1FR9ChvMWayO9ns/o8LgoQxr1ZXeg==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", + "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", "dependencies": { - "@react-native-community/cli-tools": "12.3.2", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-xml-parser": "^4.0.12", @@ -3636,50 +3632,47 @@ } }, "node_modules/@react-native-community/cli-plugin-metro": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.2.tgz", - "integrity": "sha512-FpFBwu+d2E7KRhYPTkKvQsWb2/JKsJv+t1tcqgQkn+oByhp+qGyXBobFB8/R3yYvRRDCSDhS+atWTJzk9TjM8g==" - }, - "node_modules/@react-native-community/cli-server-api": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.3.2.tgz", - "integrity": "sha512-iwa7EO9XFA/OjI5pPLLpI/6mFVqv8L73kNck3CNOJIUCCveGXBKK0VMyOkXaf/BYnihgQrXh+x5cxbDbggr7+Q==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", + "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", "dependencies": { - "@react-native-community/cli-debugger-ui": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-react-native-babel-transformer": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "readline": "^1.3.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^15.0.0", + "@types/yargs": "^16.0.0", "chalk": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/ansi-styles": { + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -3693,7 +3686,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/chalk": { + "node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -3708,7 +3701,12 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/color-convert": { + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -3719,12 +3717,20 @@ "node": ">=7.0.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/color-name": { + "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@react-native-community/cli-server-api/node_modules/has-flag": { + "node_modules/@react-native-community/cli-plugin-metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -3732,487 +3738,594 @@ "node": ">=8" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", "engines": { - "node": ">= 10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/@react-native-community/cli-server-api/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "has-flag": "^4.0.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@react-native-community/cli-tools": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.3.2.tgz", - "integrity": "sha512-nDH7vuEicHI2TI0jac/DjT3fr977iWXRdgVAqPZFFczlbs7A8GQvEdGnZ1G8dqRUmg+kptw0e4hwczAOG89JzQ==", - "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3", - "sudo-prompt": "^9.0.0" + "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" } }, - "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dependencies": { - "color-convert": "^2.0.1" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10.13.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/@react-native-community/cli-tools/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", + "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", "dependencies": { - "color-name": "~1.1.4" + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-file-map": "0.76.7", + "metro-inspector-proxy": "0.76.7", + "metro-minify-terser": "0.76.7", + "metro-minify-uglify": "0.76.7", + "metro-react-native-babel-preset": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "metro-source-map": "0.76.7", + "metro-symbolicate": "0.76.7", + "metro-transform-plugins": "0.76.7", + "metro-transform-worker": "0.76.7", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=16" } }, - "node_modules/@react-native-community/cli-tools/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-tools/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", + "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", + "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", + "dependencies": { + "metro-core": "0.76.7", + "rimraf": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=16" } }, - "node_modules/@react-native-community/cli-tools/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache-key": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", + "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", "engines": { - "node": ">=8" + "node": ">=16" } }, - "node_modules/@react-native-community/cli-tools/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-config": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", + "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", "dependencies": { - "p-locate": "^5.0.0" + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.7", + "metro-cache": "0.76.7", + "metro-core": "0.76.7", + "metro-runtime": "0.76.7" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16" } }, - "node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-core": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", + "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", "dependencies": { - "yallist": "^4.0.0" + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.7" }, "engines": { - "node": ">=10" + "node": ">=16" } }, - "node_modules/@react-native-community/cli-tools/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-file-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", + "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", "dependencies": { - "p-limit": "^3.0.2" + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" }, "engines": { - "node": ">=10" + "node": ">=16" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/@react-native-community/cli-tools/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-inspector-proxy": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", + "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", "dependencies": { - "lru-cache": "^6.0.0" + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" }, "bin": { - "semver": "bin/semver.js" + "metro-inspector-proxy": "src/cli.js" }, "engines": { - "node": ">=10" + "node": ">=16" } }, - "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-terser": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", + "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", "dependencies": { - "has-flag": "^4.0.0" + "terser": "^5.15.0" }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "node_modules/@react-native-community/cli-tools/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@react-native-community/cli-types": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.3.2.tgz", - "integrity": "sha512-9D0UEFqLW8JmS16mjHJxUJWX8E+zJddrHILSH8AJHZ0NNHv4u2DXKdb0wFLMobFxGNxPT+VSOjc60fGvXzWHog==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-uglify": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", + "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", "dependencies": { - "joi": "^17.2.1" + "uglify-es": "^3.1.9" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@react-native-community/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-react-native-babel-preset": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", + "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", "dependencies": { - "color-convert": "^2.0.1" + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" }, "engines": { - "node": ">=8" + "node": ">=16" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "*" } }, - "node_modules/@react-native-community/cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-react-native-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", + "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.7", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">=16" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "*" } }, - "node_modules/@react-native-community/cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-resolver": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", + "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", "engines": { - "node": ">=7.0.0" + "node": ">=16" } }, - "node_modules/@react-native-community/cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "node_modules/@react-native-community/cli/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", "dependencies": { - "yallist": "^4.0.0" + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=16" } }, - "node_modules/@react-native-community/cli/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-symbolicate": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", + "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", "dependencies": { - "lru-cache": "^6.0.0" + "invariant": "^2.2.4", + "metro-source-map": "0.76.7", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" }, "bin": { - "semver": "bin/semver.js" + "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">=10" + "node": ">=16" } }, - "node_modules/@react-native-community/cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-plugins": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", + "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", "dependencies": { - "has-flag": "^4.0.0" + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "node_modules/@react-native-community/cli/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-worker": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", + "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.7", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-source-map": "0.76.7", + "metro-transform-plugins": "0.76.7", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } }, - "node_modules/@react-native-community/masked-view": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", - "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==", - "deprecated": "Repository was moved to @react-native-masked-view/masked-view", - "peerDependencies": { - "react": ">=16.0", - "react-native": ">=0.57" + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "engines": { + "node": ">=16" } }, - "node_modules/@react-native-community/netinfo": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-9.5.0.tgz", - "integrity": "sha512-sppTBobjvIlPYXyDAyb5WJoBaQq1hprnHj1PWICsA10mVnlmwX5ZVkgO2vGjsfFtb+fmWK9XtZF+aQ6ijqQcwg==", - "peerDependencies": { - "react-native": ">=0.59" + "node_modules/@react-native-community/cli-plugin-metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@react-native-community/push-notification-ios": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@react-native-community/push-notification-ios/-/push-notification-ios-1.11.0.tgz", - "integrity": "sha512-nfkUs8P2FeydOCR4r7BNmtGxAxI22YuGP6RmqWt6c8EEMUpqvIhNKWkRSFF3pHjkgJk2tpRb9wQhbezsqTyBvA==", + "node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "invariant": "^2.2.4" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "react": ">=16.6.3", - "react-native": ">=0.58.4" + "engines": { + "node": ">=8" } }, - "node_modules/@react-native-firebase/analytics": { - "version": "18.8.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/analytics/-/analytics-18.8.0.tgz", - "integrity": "sha512-7Zgs5g8H/QqQqisoE3TJCqkwy+lATKlA2zHIm9kwjj/+WbkCXcUQgdxklhAcWWFPDQyEVfhZHbFjFOoag9z5NQ==", - "peerDependencies": { - "@react-native-firebase/app": "18.8.0" + "node_modules/@react-native-community/cli-server-api": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", + "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "dependencies": { + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" } }, - "node_modules/@react-native-firebase/app": { - "version": "18.8.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-18.8.0.tgz", - "integrity": "sha512-bVwjop3zLKV1G+ZxyxrdSXVutdSHSM9mngk3qG9W1swmAdeTjvWWIFpyJBf6KlkbKzWbDmLeK7Q+Yc+HLJlg7A==", + "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dependencies": { - "opencollective-postinstall": "^2.0.3", - "superstruct": "^0.6.2" - }, - "peerDependencies": { - "expo": ">=47.0.0", - "react": "*", - "react-native": "*" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, - "peerDependenciesMeta": { - "expo": { - "optional": true - } + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/@react-native-firebase/messaging": { - "version": "18.8.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/messaging/-/messaging-18.8.0.tgz", - "integrity": "sha512-MJVJ4dvczCEdPWER1vF7rhBMI78HpuMmGg7qsahERfho3dETNroust82DNqBSawsGTz4vVMOFpDSzs0Kt2WgSQ==", - "peerDependencies": { - "@react-native-firebase/app": "18.8.0", - "expo": ">=47.0.0" - }, - "peerDependenciesMeta": { - "expo": { - "optional": true - } + "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/@react-native/assets-registry": { - "version": "0.73.1", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz", - "integrity": "sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==", + "node_modules/@react-native-community/cli-server-api/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz", - "integrity": "sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==", + "node_modules/@react-native-community/cli-server-api/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "@react-native/codegen": "0.73.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@react-native/babel-preset": { - "version": "0.73.21", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.21.tgz", - "integrity": "sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==", + "node_modules/@react-native-community/cli-server-api/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.73.4", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/core": "*" + "node": ">=7.0.0" } }, - "node_modules/@react-native/babel-preset/node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "node_modules/@react-native-community/cli-server-api/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@react-native-community/cli-server-api/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/@react-native/codegen": { - "version": "0.73.3", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz", - "integrity": "sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==", + "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "node": ">= 10" } }, - "node_modules/@react-native/community-cli-plugin": { - "version": "0.73.16", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz", - "integrity": "sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ==", + "node_modules/@react-native-community/cli-server-api/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@react-native-community/cli-server-api/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "@react-native-community/cli-server-api": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "@react-native/dev-middleware": "0.73.7", - "@react-native/metro-babel-transformer": "0.73.15", - "chalk": "^4.0.0", - "execa": "^5.1.1", - "metro": "^0.80.3", - "metro-config": "^0.80.3", - "metro-core": "^0.80.3", - "node-fetch": "^2.2.0", - "readline": "^1.3.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", + "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "dependencies": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { + "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -4226,7 +4339,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/chalk": { + "node_modules/@react-native-community/cli-tools/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -4241,12 +4354,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/@react-native/community-cli-plugin/node_modules/color-convert": { + "node_modules/@react-native-community/cli-tools/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -4257,20 +4365,27 @@ "node": ">=7.0.0" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/color-name": { + "node_modules/@react-native-community/cli-tools/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@react-native/community-cli-plugin/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/@react-native-community/cli-tools/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dependencies": { - "ms": "2.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/has-flag": { + "node_modules/@react-native-community/cli-tools/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -4278,350 +4393,268 @@ "node": ">=8" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/hermes-estree": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz", - "integrity": "sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==" - }, - "node_modules/@react-native/community-cli-plugin/node_modules/hermes-parser": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz", - "integrity": "sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==", - "dependencies": { - "hermes-estree": "0.19.1" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.6.tgz", - "integrity": "sha512-f6Nhnht9TxVRP6zdBq9J2jNdeDBxRmJFnjxhQS1GeCpokBvI6fTXq+wHTLz5jZA+75fwbkPSzBxBJzQa6xi0AQ==", + "node_modules/@react-native-community/cli-tools/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.19.1", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.80.6", - "metro-cache": "0.80.6", - "metro-cache-key": "0.80.6", - "metro-config": "0.80.6", - "metro-core": "0.80.6", - "metro-file-map": "0.80.6", - "metro-resolver": "0.80.6", - "metro-runtime": "0.80.6", - "metro-source-map": "0.80.6", - "metro-symbolicate": "0.80.6", - "metro-transform-plugins": "0.80.6", - "metro-transform-worker": "0.80.6", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "bin": { - "metro": "src/cli.js" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-babel-transformer": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.6.tgz", - "integrity": "sha512-ssuoVC4OzqaOt3LpwfUbDfBlFGRu9v1Yf2JJnKPz0ROYHNjSBws4aUesqQQ/Ea8DbiH7TK4j4cJmm+XjdHmgqA==", + "node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.19.1", - "nullthrows": "^1.1.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=10" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-cache": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.6.tgz", - "integrity": "sha512-NP81pHSPkzs+iNlpVkJqijrpcd6lfuDAunYH9/Rn8oLNz0yLfkl8lt+xOdUU4IkFt3oVcTBEFCnzAzv4B8YhyA==", + "node_modules/@react-native-community/cli-tools/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dependencies": { - "metro-core": "0.80.6", - "rimraf": "^3.0.2" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-cache-key": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.6.tgz", - "integrity": "sha512-DFmjQacC8m/S3HpELklLMWkPGP/fZPX3BSgjd0xQvwIvWyFwk8Nn/lfp/uWdEVDtDSIr64/anXU5uWohGwlWXw==", + "node_modules/@react-native-community/cli-tools/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=18" + "node": ">=10" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-config": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.6.tgz", - "integrity": "sha512-vHYYvJpRTWYbmvqlR7i04xQpZCHJ6yfZ/xIcPdz2ssbdJGGJbiT1Aar9wr8RAhsccSxdJgfE5B1DB8Mo+DnhIg==", + "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.6.3", - "metro": "0.80.6", - "metro-cache": "0.80.6", - "metro-core": "0.80.6", - "metro-runtime": "0.80.6" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@react-native-community/cli-types": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", + "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", + "dependencies": { + "joi": "^17.2.1" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-core": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.6.tgz", - "integrity": "sha512-fn4rryTUAwzFJWj7VIPDH4CcW/q7MV4oGobqR6NsuxZoIGYrVpK7pBasumu5YbCqifuErMs5s23BhmrDNeZURw==", + "node_modules/@react-native-community/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.6" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-file-map": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.6.tgz", - "integrity": "sha512-S3CUqvpXpc+q3q+hCEWvFKhVqgq0VmXdZQDF6u7ue86E2elq1XLnfLOt9JSpwyhpMQRyysjSCnd/Yh6GZMNHoQ==", + "node_modules/@react-native-community/cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18" + "node": ">=10" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-minify-terser": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.6.tgz", - "integrity": "sha512-83eZaH2+B+jP92KuodPqXknzwmiboKAuZY4doRfTEEXAG57pNVNN6cqSRJlwDnmaTBKRffxoncBXbYqHQgulgg==", + "node_modules/@react-native-community/cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "terser": "^5.15.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=18" + "node": ">=7.0.0" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-resolver": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.6.tgz", - "integrity": "sha512-R7trfglG4zY4X9XyM9cvuffAhQ9W1reWoahr1jdEWa6rOI8PyM0qXjcsb8l+fsOQhdSiVlkKcYAmkyrs1S/zrA==", - "engines": { - "node": ">=18" - } + "node_modules/@react-native-community/cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-runtime": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.6.tgz", - "integrity": "sha512-21GQVd0pp2nACoK0C2PL8mBsEhIFUFFntYrWRlYNHtPQoqDzddrPEIgkyaABGXGued+dZoBlFQl+LASlmmfkvw==", - "dependencies": { - "@babel/runtime": "^7.0.0" - }, + "node_modules/@react-native-community/cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-source-map": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.6.tgz", - "integrity": "sha512-lqDuSLctWy9Qccu4Zl0YB1PzItpsqcKGb1nK0aDY+lzJ26X65OCib2VzHlj+xj7e4PiIKOfsvDCczCBz4cnxdg==", + "node_modules/@react-native-community/cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.80.6", - "nullthrows": "^1.1.1", - "ob1": "0.80.6", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=10" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-symbolicate": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.6.tgz", - "integrity": "sha512-SGwKeBi+lK7NmM5+EcW6DyRRa9HmGSvH0LJtlT4XoRMbpxzsLYs0qUEA+olD96pOIP+ta7I8S30nQr2ttqgO8A==", + "node_modules/@react-native-community/cli/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.80.6", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" + "lru-cache": "^6.0.0" }, "bin": { - "metro-symbolicate": "src/index.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-transform-plugins": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.6.tgz", - "integrity": "sha512-e04tdTC5Fy1vOQrTTXb5biao0t7nR/h+b1IaBTlM5UaHaAJZr658uVOoZhkRxKjbhF2mIwJ/8DdorD2CA15BCg==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" + "semver": "bin/semver.js" }, "engines": { - "node": ">=18" + "node": ">=10" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/metro-transform-worker": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.6.tgz", - "integrity": "sha512-jV+VgCLiCj5jQadW/h09qJaqDreL6XcBRY52STCoz2xWn6WWLLMB5nXzQtvFNPmnIOps+Xu8+d5hiPcBNOhYmA==", + "node_modules/@react-native-community/cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "metro": "0.80.6", - "metro-babel-transformer": "0.80.6", - "metro-cache": "0.80.6", - "metro-cache-key": "0.80.6", - "metro-minify-terser": "0.80.6", - "metro-source-map": "0.80.6", - "metro-transform-plugins": "0.80.6", - "nullthrows": "^1.1.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/@react-native-community/cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/@react-native/community-cli-plugin/node_modules/ob1": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.6.tgz", - "integrity": "sha512-nlLGZPMQ/kbmkdIb5yvVzep1jKUII2x6ehNsHpgy71jpnJMW7V+KsB3AjYI2Ajb7UqMAMNjlssg6FUodrEMYzg==", - "engines": { - "node": ">=18" + "node_modules/@react-native-community/masked-view": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", + "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==", + "deprecated": "Repository was moved to @react-native-masked-view/masked-view", + "peerDependencies": { + "react": ">=16.0", + "react-native": ">=0.57" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" + "node_modules/@react-native-community/netinfo": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-9.5.0.tgz", + "integrity": "sha512-sppTBobjvIlPYXyDAyb5WJoBaQq1hprnHj1PWICsA10mVnlmwX5ZVkgO2vGjsfFtb+fmWK9XtZF+aQ6ijqQcwg==", + "peerDependencies": { + "react-native": ">=0.59" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@react-native-community/push-notification-ios": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@react-native-community/push-notification-ios/-/push-notification-ios-1.11.0.tgz", + "integrity": "sha512-nfkUs8P2FeydOCR4r7BNmtGxAxI22YuGP6RmqWt6c8EEMUpqvIhNKWkRSFF3pHjkgJk2tpRb9wQhbezsqTyBvA==", "dependencies": { - "has-flag": "^4.0.0" + "invariant": "^2.2.4" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": ">=16.6.3", + "react-native": ">=0.58.4" } }, - "node_modules/@react-native/debugger-frontend": { - "version": "0.73.3", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz", - "integrity": "sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==", - "engines": { - "node": ">=18" + "node_modules/@react-native-firebase/analytics": { + "version": "18.9.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/analytics/-/analytics-18.9.0.tgz", + "integrity": "sha512-+5xuU2k+6zCG+QOzHTKLdZpD14DD9tz1m7gfO89/gO2qFdCqwOpLcBu2bb6ocsfgUE9CJkb0cFceO/m/9pe3jw==", + "peerDependencies": { + "@react-native-firebase/app": "18.9.0" } }, - "node_modules/@react-native/dev-middleware": { - "version": "0.73.7", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz", - "integrity": "sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg==", + "node_modules/@react-native-firebase/app": { + "version": "18.9.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-18.9.0.tgz", + "integrity": "sha512-kMY4HVWxfz0YjQ5n9oyW9uifI5CkQfLfj2FEeQrI9mCwaCNuRw04x9Yc8LeFpew7NPEDVfty7tlL3WEjDpvNEw==", "dependencies": { - "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.73.3", - "chrome-launcher": "^0.15.2", - "chromium-edge-launcher": "^1.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "open": "^7.0.3", - "serve-static": "^1.13.1", - "temp-dir": "^2.0.0" + "opencollective-postinstall": "^2.0.3", + "superstruct": "^0.6.2" }, - "engines": { - "node": ">=18" + "peerDependencies": { + "expo": ">=47.0.0", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + } } }, - "node_modules/@react-native/dev-middleware/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "node_modules/@react-native-firebase/messaging": { + "version": "18.9.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/messaging/-/messaging-18.9.0.tgz", + "integrity": "sha512-Jl62EI1WEpM7TZG4BXXeKAphkiFlyNh57yiBJRRY4N5/c8GXxP4GoB7UZVyQjhD55RuqrVfosFG63uBtd7Hsvg==", + "peerDependencies": { + "@react-native-firebase/app": "18.9.0", + "expo": ">=47.0.0" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + } } }, - "node_modules/@react-native/dev-middleware/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/@react-native/assets-registry": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", + "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==" }, - "node_modules/@react-native/dev-middleware/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "node_modules/@react-native/codegen": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.8.tgz", + "integrity": "sha512-jQCcBlXV7B7ap5VlHhwIPieYz89yiRgwd2FPUBu+unz+kcJ6pAiB2U8RdLDmyIs8fiWd+Vq1xxaWs4TR329/ng==", "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "glob": "^7.1.1", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, "node_modules/@react-native/eslint-config": { @@ -4656,59 +4689,25 @@ "dev": true }, "node_modules/@react-native/gradle-plugin": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz", - "integrity": "sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==", - "engines": { - "node": ">=18" - } + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", + "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==" }, "node_modules/@react-native/js-polyfills": { "version": "0.72.1", "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", - "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==", - "dev": true - }, - "node_modules/@react-native/metro-babel-transformer": { - "version": "0.73.15", - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz", - "integrity": "sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==", - "dependencies": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.73.21", - "hermes-parser": "0.15.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz", - "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==" - }, - "node_modules/@react-native/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz", - "integrity": "sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==", - "dependencies": { - "hermes-estree": "0.15.0" - } + "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==" }, "node_modules/@react-native/metro-config": { - "version": "0.72.11", - "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.11.tgz", - "integrity": "sha512-661EyQnDdVelyc0qP/ew7kKkGAh6N6KlkuPLC2SQ8sxaXskVU6fSuNlpLW4bUTBUDFKG8gEOU2hp6rzk4wQnGQ==", + "version": "0.72.12", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.12.tgz", + "integrity": "sha512-6NC5nr70oV8gH5vTz0yVYig6TGn97NfE58DdYottuOGPEODZf9Jpb7gdLs6Rqj5ryFDsKVPU3NsFmXKBJwEgXQ==", "dev": true, "dependencies": { "@react-native/js-polyfills": "^0.72.1", - "metro-config": "0.76.8", - "metro-react-native-babel-transformer": "0.76.8", - "metro-runtime": "0.76.8" + "metro-config": "^0.76.9", + "metro-react-native-babel-transformer": "^0.76.9", + "metro-runtime": "^0.76.9" } }, "node_modules/@react-native/normalize-color": { @@ -4717,47 +4716,44 @@ "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" }, "node_modules/@react-native/normalize-colors": { - "version": "0.73.2", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz", - "integrity": "sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==" + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", + "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==" }, "node_modules/@react-native/virtualized-lists": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz", - "integrity": "sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==", + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", + "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", "dependencies": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" }, - "engines": { - "node": ">=18" - }, "peerDependencies": { "react-native": "*" } }, "node_modules/@react-navigation/core": { - "version": "6.4.10", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.10.tgz", - "integrity": "sha512-oYhqxETRHNHKsipm/BtGL0LI43Hs2VSFoWMbBdHK9OqgQPjTVUitslgLcPpo4zApCcmBWoOLX2qPxhsBda644A==", + "version": "6.4.16", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.16.tgz", + "integrity": "sha512-UDTJBsHxnzgFETR3ZxhctP+RWr4SkyeZpbhpkQoIGOuwSCkt1SE0qjU48/u6r6w6XlX8OqVudn1Ab0QFXTHxuQ==", "dependencies": { "@react-navigation/routers": "^6.1.9", "escape-string-regexp": "^4.0.0", "nanoid": "^3.1.23", "query-string": "^7.1.3", "react-is": "^16.13.0", - "use-latest-callback": "^0.1.7" + "use-latest-callback": "^0.1.9" }, "peerDependencies": { "react": "*" } }, "node_modules/@react-navigation/drawer": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.7.tgz", - "integrity": "sha512-9hSJySPQcG33vV199uzkI3jHewvAGjVFF2bhC28TkQYDKtp/DmtTvjCEiecOm+qep1Qp4ksh5vBo2P0A1hF6vQ==", + "version": "6.6.6", + "resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-6.6.6.tgz", + "integrity": "sha512-DW/oNRisSOGOqvZfCzfhKBxnzT97Teqtg1Gal85g+K3gnVbM1jOBE2PdnYsKU0fULfFtDwvp/QZSbcgjDpr12A==", "dependencies": { - "@react-navigation/elements": "^1.3.22", + "@react-navigation/elements": "^1.3.21", "color": "^4.2.3", "warn-once": "^0.1.0" }, @@ -4772,9 +4768,9 @@ } }, "node_modules/@react-navigation/elements": { - "version": "1.3.22", - "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.22.tgz", - "integrity": "sha512-HYKucs0TwQT8zMvgoZbJsY/3sZfzeP8Dk9IDv4agst3zlA7ReTx4+SROCG6VGC7JKqBCyQykHIwkSwxhapoc+Q==", + "version": "1.3.30", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.30.tgz", + "integrity": "sha512-plhc8UvCZs0UkV+sI+3bisIyn78wz9O/BiWZXpounu72k/R/Sj5PuZYFJ1fi6psvriUveMCGh4LeZckAZu2qiQ==", "peerDependencies": { "@react-navigation/native": "^6.0.0", "react": "*", @@ -4783,11 +4779,11 @@ } }, "node_modules/@react-navigation/native": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.10.tgz", - "integrity": "sha512-jDG89TbZItY7W7rIcS1RqT63vWOPD4XuQLNKqZO0DY7mKnKh/CGBd0eg3nDMXUl143Qp//IxJKe2TfBQRDEU4A==", + "version": "6.1.17", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.17.tgz", + "integrity": "sha512-mer3OvfwWOHoUSMJyLa4vnBH3zpFmCwuzrBPlw7feXklurr/ZDiLjLxUScOot6jLRMz/67GyilEYMmP99LL0RQ==", "dependencies": { - "@react-navigation/core": "^6.4.10", + "@react-navigation/core": "^6.4.16", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.1.23" @@ -4798,11 +4794,11 @@ } }, "node_modules/@react-navigation/native-stack": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.18.tgz", - "integrity": "sha512-PSe0qjROy8zD78ehW048NSuzWRktioSCJmB8LzWSR65ndgVaC2rO+xvgyjhHjqm01YdyVM1XTct2EorSjDV2Ow==", + "version": "6.9.26", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.26.tgz", + "integrity": "sha512-++dueQ+FDj2XkZ902DVrK79ub1vp19nSdAZWxKRgd6+Bc0Niiesua6rMCqymYOVaYh+dagwkA9r00bpt/U5WLw==", "dependencies": { - "@react-navigation/elements": "^1.3.22", + "@react-navigation/elements": "^1.3.30", "warn-once": "^0.1.0" }, "peerDependencies": { @@ -5164,9 +5160,9 @@ } }, "node_modules/@tsconfig/react-native": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/react-native/-/react-native-3.0.3.tgz", - "integrity": "sha512-3FVk8Uwb5YRwaHW/4dpcYQa5TTJSBXzIHRBDn3l+YmsXqFfcVGii+G8RPboC6I9iGgtUTxKHz3Y+6WDJDwVXnA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@tsconfig/react-native/-/react-native-3.0.5.tgz", + "integrity": "sha512-0+pmYzHccvwWpFz2Tv5AJxp6UroLALmAy+SX34tKlwaCie1mNbtCv6uOJp7x8pKchgNA9/n6BGrx7uLQvw8p9A==", "dev": true }, "node_modules/@types/babel__core": { @@ -5261,25 +5257,24 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.11.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", - "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", + "version": "20.12.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.6.tgz", + "integrity": "sha512-3KurE8taB8GCvZBPngVbp0lk5CKi8M9f9k1rsADh0Evdz5SzJ+Q+Hx9uHoFGsLnLnd1xmkDQr2hVhlA0Mn0lKQ==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" }, "node_modules/@types/react": { - "version": "18.2.56", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.56.tgz", - "integrity": "sha512-NpwHDMkS/EFZF2dONFQHgkPRwhvgq/OAvIaGQzxGSBmaeR++kTg6njr15Vatz0/2VcCEwJQFi6Jf4Q0qBu0rLA==", + "version": "18.2.75", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.75.tgz", + "integrity": "sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg==", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, @@ -5292,15 +5287,10 @@ "@types/react": "*" } }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" - }, "node_modules/@types/semver": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz", - "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "node_modules/@types/stack-utils": { @@ -5811,15 +5801,16 @@ } }, "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -5838,6 +5829,26 @@ "node": ">=8" } }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.flat": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", @@ -5874,6 +5885,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, "node_modules/array.prototype.tosorted": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", @@ -5936,33 +5959,26 @@ "node_modules/async": { "version": "3.2.5", "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, "node_modules/async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/available-typed-arrays": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz", - "integrity": "sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -6101,12 +6117,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", + "@babel/helper-define-polyfill-provider": "^0.6.1", "semver": "^6.3.1" }, "peerDependencies": { @@ -6114,23 +6130,23 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" + "@babel/helper-define-polyfill-provider": "^0.6.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6139,8 +6155,7 @@ "node_modules/babel-plugin-syntax-trailing-function-commas": { "version": "7.0.0-beta.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", - "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", - "dev": true + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" }, "node_modules/babel-plugin-transform-flow-enums": { "version": "0.0.2", @@ -6177,7 +6192,6 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", - "dev": true, "dependencies": { "@babel/plugin-proposal-class-properties": "^7.0.0", "@babel/plugin-proposal-object-rest-spread": "^7.0.0", @@ -6432,9 +6446,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001588", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz", - "integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==", + "version": "1.0.30001607", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001607.tgz", + "integrity": "sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==", "funding": [ { "type": "opencollective", @@ -6480,47 +6494,6 @@ "node": ">=10" } }, - "node_modules/chrome-launcher": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", - "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0" - }, - "bin": { - "print-chrome-path": "bin/print-chrome-path.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/chromium-edge-launcher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", - "integrity": "sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==", - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0", - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "node_modules/chromium-edge-launcher/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", @@ -6789,9 +6762,9 @@ "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" }, "node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz", + "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==", "dev": true, "hasInstallScript": true, "funding": { @@ -6800,11 +6773,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", "dependencies": { - "browserslist": "^4.22.3" + "browserslist": "^4.23.0" }, "funding": { "type": "opencollective", @@ -7019,6 +6992,57 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/dayjs": { "version": "1.11.10", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", @@ -7150,16 +7174,13 @@ } }, "node_modules/deprecated-react-native-prop-types": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz", - "integrity": "sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", + "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", "dependencies": { - "@react-native/normalize-colors": "^0.73.0", - "invariant": "^2.2.4", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=18" + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" } }, "node_modules/destroy": { @@ -7285,9 +7306,9 @@ } }, "node_modules/dotenv": { - "version": "16.4.4", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.4.tgz", - "integrity": "sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg==", + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "dev": true, "engines": { "node": ">=12" @@ -7302,9 +7323,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.673", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.673.tgz", - "integrity": "sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==" + "version": "1.4.730", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.730.tgz", + "integrity": "sha512-oJRPo82XEqtQAobHpJIR3zW5YO3sSRRkPz2an4yxi1UvqhsGm54vR/wzTFV74a3soDOJ8CKW7ajOOX5ESzddwg==" }, "node_modules/eme-encryption-scheme-polyfill": { "version": "2.1.1", @@ -7356,9 +7377,9 @@ } }, "node_modules/envinfo": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", - "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.12.0.tgz", + "integrity": "sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==", "bin": { "envinfo": "dist/cli.js" }, @@ -7395,18 +7416,22 @@ } }, "node_modules/es-abstract": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.4.tgz", - "integrity": "sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.6", + "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.2", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.4", @@ -7414,15 +7439,16 @@ "globalthis": "^1.0.3", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.1", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.1", + "hasown": "^2.0.2", "internal-slot": "^1.0.7", "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", @@ -7430,17 +7456,17 @@ "object-keys": "^1.1.1", "object.assign": "^4.1.5", "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.0", + "safe-array-concat": "^1.1.2", "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.1", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -7469,40 +7495,51 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz", - "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==", + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", "dev": true, "dependencies": { - "asynciterator.prototype": "^1.0.0", "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.4", + "es-abstract": "^1.23.0", "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.2", + "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.1", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.7", "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.0" + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -7559,16 +7596,16 @@ } }, "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -7716,27 +7753,29 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.0.17", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.10" }, "engines": { "node": ">=4" @@ -8226,9 +8265,9 @@ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "node_modules/fast-xml-parser": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz", - "integrity": "sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz", + "integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==", "funding": [ { "type": "github", @@ -8479,15 +8518,15 @@ } }, "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "node_modules/flow-enums-runtime": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", - "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==" + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", + "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==" }, "node_modules/flow-parser": { "version": "0.206.0", @@ -8822,9 +8861,9 @@ } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -8859,9 +8898,9 @@ } }, "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -8872,14 +8911,12 @@ "node_modules/hermes-estree": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", - "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==", - "dev": true + "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==" }, "node_modules/hermes-parser": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", - "dev": true, "dependencies": { "hermes-estree": "0.12.0" } @@ -9215,6 +9252,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -9238,20 +9290,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -9334,18 +9372,21 @@ } }, "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "engines": { "node": ">= 0.4" @@ -9422,21 +9463,27 @@ } }, "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9510,10 +9557,13 @@ } }, "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9531,27 +9581,27 @@ } }, "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/isarray": { @@ -9674,9 +9724,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -11216,6 +11266,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -11230,6 +11281,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -11238,6 +11290,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -11249,9 +11302,9 @@ } }, "node_modules/joi": { - "version": "17.12.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", - "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", + "version": "17.12.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.3.tgz", + "integrity": "sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==", "dependencies": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", @@ -11526,28 +11579,6 @@ "immediate": "~3.0.5" } }, - "node_modules/lighthouse-logger": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", - "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", - "dependencies": { - "debug": "^2.6.9", - "marky": "^1.2.2" - } - }, - "node_modules/lighthouse-logger/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/lighthouse-logger/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -11885,11 +11916,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "node_modules/marky": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", - "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==" - }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -11939,9 +11965,9 @@ } }, "node_modules/metro": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.8.tgz", - "integrity": "sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.9.tgz", + "integrity": "sha512-gcjcfs0l5qIPg0lc5P7pj0x7vPJ97tan+OnEjiYLbKjR1D7Oa78CE93YUPyymUPH6q7VzlzMm1UjT35waEkZUw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", @@ -11966,22 +11992,21 @@ "jest-worker": "^27.2.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.8", - "metro-cache": "0.76.8", - "metro-cache-key": "0.76.8", - "metro-config": "0.76.8", - "metro-core": "0.76.8", - "metro-file-map": "0.76.8", - "metro-inspector-proxy": "0.76.8", - "metro-minify-terser": "0.76.8", - "metro-minify-uglify": "0.76.8", - "metro-react-native-babel-preset": "0.76.8", - "metro-resolver": "0.76.8", - "metro-runtime": "0.76.8", - "metro-source-map": "0.76.8", - "metro-symbolicate": "0.76.8", - "metro-transform-plugins": "0.76.8", - "metro-transform-worker": "0.76.8", + "metro-babel-transformer": "0.76.9", + "metro-cache": "0.76.9", + "metro-cache-key": "0.76.9", + "metro-config": "0.76.9", + "metro-core": "0.76.9", + "metro-file-map": "0.76.9", + "metro-inspector-proxy": "0.76.9", + "metro-minify-uglify": "0.76.9", + "metro-react-native-babel-preset": "0.76.9", + "metro-resolver": "0.76.9", + "metro-runtime": "0.76.9", + "metro-source-map": "0.76.9", + "metro-symbolicate": "0.76.9", + "metro-transform-plugins": "0.76.9", + "metro-transform-worker": "0.76.9", "mime-types": "^2.1.27", "node-fetch": "^2.2.0", "nullthrows": "^1.1.1", @@ -12001,9 +12026,9 @@ } }, "node_modules/metro-babel-transformer": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz", - "integrity": "sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.9.tgz", + "integrity": "sha512-dAnAmBqRdTwTPVn4W4JrowPolxD1MDbuU97u3MqtWZgVRvDpmr+Cqnn5oSxLQk3Uc+Zy3wkqVrB/zXNRlLDSAQ==", "dev": true, "dependencies": { "@babel/core": "^7.20.0", @@ -12015,12 +12040,12 @@ } }, "node_modules/metro-cache": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.8.tgz", - "integrity": "sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.9.tgz", + "integrity": "sha512-W6QFEU5AJG1gH4Ltv8S2IvhmEhSDYnbPafyj5fGR3YLysdykj+olKv9B0V+YQXtcLGyY5CqpXLYUx595GdiKzA==", "dev": true, "dependencies": { - "metro-core": "0.76.8", + "metro-core": "0.76.9", "rimraf": "^3.0.2" }, "engines": { @@ -12028,49 +12053,49 @@ } }, "node_modules/metro-cache-key": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.8.tgz", - "integrity": "sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.9.tgz", + "integrity": "sha512-ugJuYBLngHVh1t2Jj+uP9pSCQl7enzVXkuh6+N3l0FETfqjgOaSHlcnIhMPn6yueGsjmkiIfxQU4fyFVXRtSTw==", "dev": true, "engines": { "node": ">=16" } }, "node_modules/metro-config": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.8.tgz", - "integrity": "sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.9.tgz", + "integrity": "sha512-oYyJ16PY3rprsfoi80L+gDJhFJqsKI3Pob5LKQbJpvL+gGr8qfZe1eQzYp5Xxxk9DOHKBV1xD94NB8GdT/DA8Q==", "dev": true, "dependencies": { "connect": "^3.6.5", "cosmiconfig": "^5.0.5", "jest-validate": "^29.2.1", - "metro": "0.76.8", - "metro-cache": "0.76.8", - "metro-core": "0.76.8", - "metro-runtime": "0.76.8" + "metro": "0.76.9", + "metro-cache": "0.76.9", + "metro-core": "0.76.9", + "metro-runtime": "0.76.9" }, "engines": { "node": ">=16" } }, "node_modules/metro-core": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.8.tgz", - "integrity": "sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.9.tgz", + "integrity": "sha512-DSeEr43Wrd5Q7ySfRzYzDwfV89g2OZTQDf1s3exOcLjE5fb7awoLOkA2h46ZzN8NcmbbM0cuJy6hOwF073/yRQ==", "dev": true, "dependencies": { "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.8" + "metro-resolver": "0.76.9" }, "engines": { "node": ">=16" } }, "node_modules/metro-file-map": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.8.tgz", - "integrity": "sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.9.tgz", + "integrity": "sha512-7vJd8kksMDTO/0fbf3081bTrlw8SLiploeDf+vkkf0OwlrtDUWPOikfebp+MpZB2S61kamKjCNRfRkgrbPfSwg==", "dev": true, "dependencies": { "anymatch": "^3.0.3", @@ -12259,9 +12284,9 @@ } }, "node_modules/metro-inspector-proxy": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz", - "integrity": "sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.9.tgz", + "integrity": "sha512-idIiPkb8CYshc0WZmbzwmr4B1QwsQUbpDwBzHwxE1ni27FWKWhV9CD5p+qlXZHgfwJuMRfPN+tIaLSR8+vttYg==", "dev": true, "dependencies": { "connect": "^3.6.5", @@ -12293,9 +12318,9 @@ "dev": true }, "node_modules/metro-minify-terser": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz", - "integrity": "sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.9.tgz", + "integrity": "sha512-ju2nUXTKvh96vHPoGZH/INhSvRRKM14CbGAJXQ98+g8K5z1v3luYJ/7+dFQB202eVzJdTB2QMtBjI1jUUpooCg==", "dev": true, "dependencies": { "terser": "^5.15.0" @@ -12305,9 +12330,9 @@ } }, "node_modules/metro-minify-uglify": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz", - "integrity": "sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.9.tgz", + "integrity": "sha512-MXRrM3lFo62FPISlPfTqC6n9HTEI3RJjDU5SvpE7sJFfJKLx02xXQEltsL/wzvEqK+DhRQ5DEYACTwf5W4Z3yA==", "dev": true, "dependencies": { "uglify-es": "^3.1.9" @@ -12370,15 +12395,15 @@ } }, "node_modules/metro-react-native-babel-transformer": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz", - "integrity": "sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.9.tgz", + "integrity": "sha512-xXzHcfngSIkbQj+U7i/anFkNL0q2QVarYSzr34CFkzKLa79Rp16B8ki7z9eVVqo9W3B4TBcTXl3BipgRoOoZSQ==", "dev": true, "dependencies": { "@babel/core": "^7.20.0", "babel-preset-fbjs": "^3.4.0", "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.8", + "metro-react-native-babel-preset": "0.76.9", "nullthrows": "^1.1.1" }, "engines": { @@ -12388,19 +12413,72 @@ "@babel/core": "*" } }, + "node_modules/metro-react-native-babel-transformer/node_modules/metro-react-native-babel-preset": { + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.9.tgz", + "integrity": "sha512-eCBtW/UkJPDr6HlMgFEGF+964DZsUEF9RGeJdZLKWE7d/0nY3ABZ9ZAGxzu9efQ35EWRox5bDMXUGaOwUe5ikQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, "node_modules/metro-resolver": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.8.tgz", - "integrity": "sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.9.tgz", + "integrity": "sha512-s86ipNRas9vNR5lChzzSheF7HoaQEmzxBLzwFA6/2YcGmUCowcoyPAfs1yPh4cjMw9F1T4KlMLaiwniGE7HCyw==", "dev": true, "engines": { "node": ">=16" } }, "node_modules/metro-runtime": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", - "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.9.tgz", + "integrity": "sha512-/5vezDpGUtA0Fv6cJg0+i6wB+QeBbvLeaw9cTSG7L76liP0b91f8vOcYzGaUbHI8pznJCCTerxRzpQ8e3/NcDw==", "dev": true, "dependencies": { "@babel/runtime": "^7.0.0", @@ -12411,17 +12489,17 @@ } }, "node_modules/metro-source-map": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", - "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.9.tgz", + "integrity": "sha512-q5qsMlu8EFvsT46wUUh+ao+efDsicT30zmaPATNhq+PcTawDbDgnMuUD+FT0bvxxnisU2PWl91RdzKfNc2qPQA==", "dev": true, "dependencies": { "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", "invariant": "^2.2.4", - "metro-symbolicate": "0.76.8", + "metro-symbolicate": "0.76.9", "nullthrows": "^1.1.1", - "ob1": "0.76.8", + "ob1": "0.76.9", "source-map": "^0.5.6", "vlq": "^1.0.0" }, @@ -12439,13 +12517,13 @@ } }, "node_modules/metro-symbolicate": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", - "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.9.tgz", + "integrity": "sha512-Yyq6Ukj/IeWnGST09kRt0sBK8TwzGZWoU7YAcQlh14+AREH454Olx4wbFTpkkhUkV05CzNCvUuXQ0efFxhA1bw==", "dev": true, "dependencies": { "invariant": "^2.2.4", - "metro-source-map": "0.76.8", + "metro-source-map": "0.76.9", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "through2": "^2.0.1", @@ -12468,9 +12546,9 @@ } }, "node_modules/metro-transform-plugins": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz", - "integrity": "sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.9.tgz", + "integrity": "sha512-YEQeNlOCt92I7S9A3xbrfaDfwfgcxz9PpD/1eeop3c4cO3z3Q3otYuxw0WJ/rUIW8pZfOm5XCehd+1NRbWlAaw==", "dev": true, "dependencies": { "@babel/core": "^7.20.0", @@ -12484,9 +12562,9 @@ } }, "node_modules/metro-transform-worker": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz", - "integrity": "sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.9.tgz", + "integrity": "sha512-F69A0q0qFdJmP2Clqr6TpTSn4WTV9p5A28h5t9o+mB22ryXBZfUQ6BFBBW/6Wp2k/UtPH+oOsBfV9guiqm3d2Q==", "dev": true, "dependencies": { "@babel/core": "^7.20.0", @@ -12494,12 +12572,13 @@ "@babel/parser": "^7.20.0", "@babel/types": "^7.20.0", "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.8", - "metro-babel-transformer": "0.76.8", - "metro-cache": "0.76.8", - "metro-cache-key": "0.76.8", - "metro-source-map": "0.76.8", - "metro-transform-plugins": "0.76.8", + "metro": "0.76.9", + "metro-babel-transformer": "0.76.9", + "metro-cache": "0.76.9", + "metro-cache-key": "0.76.9", + "metro-minify-terser": "0.76.9", + "metro-source-map": "0.76.9", + "metro-transform-plugins": "0.76.9", "nullthrows": "^1.1.1" }, "engines": { @@ -12608,6 +12687,59 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/metro/node_modules/metro-react-native-babel-preset": { + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.9.tgz", + "integrity": "sha512-eCBtW/UkJPDr6HlMgFEGF+964DZsUEF9RGeJdZLKWE7d/0nY3ABZ9ZAGxzu9efQ35EWRox5bDMXUGaOwUe5ikQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, "node_modules/metro/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -12894,9 +13026,9 @@ "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" }, "node_modules/ob1": { - "version": "0.76.8", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", - "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", + "version": "0.76.9", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.9.tgz", + "integrity": "sha512-g0I/OLnSxf6OrN3QjSew3bTDJCdbZoWxnh8adh1z36alwCuGF1dgDeRA25bTYSakrG5WULSaWJPOdgnf1O/oQw==", "dev": true, "engines": { "node": ">=16" @@ -12951,28 +13083,29 @@ } }, "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -12982,27 +13115,31 @@ } }, "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", "dev": true, "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -13063,14 +13200,6 @@ "node": ">=8" } }, - "node_modules/open/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "engines": { - "node": ">=4" - } - }, "node_modules/opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", @@ -13359,6 +13488,15 @@ "node": ">=8" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -13482,9 +13620,9 @@ } }, "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -13498,11 +13636,11 @@ ] }, "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", + "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -13590,9 +13728,9 @@ } }, "node_modules/react-freeze": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", - "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz", + "integrity": "sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==", "engines": { "node": ">=10" }, @@ -13606,45 +13744,43 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-native": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.73.4.tgz", - "integrity": "sha512-VtS+Yr6OOTIuJGDECIYWzNU8QpJjASQYvMtfa/Hvm/2/h5GdB6W9H9TOmh13x07Lj4AOhNMx3XSsz6TdrO4jIg==", - "dependencies": { - "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "12.3.2", - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-platform-ios": "12.3.2", - "@react-native/assets-registry": "0.73.1", - "@react-native/codegen": "0.73.3", - "@react-native/community-cli-plugin": "0.73.16", - "@react-native/gradle-plugin": "0.73.4", - "@react-native/js-polyfills": "0.73.1", - "@react-native/normalize-colors": "0.73.2", - "@react-native/virtualized-lists": "0.73.4", + "version": "0.72.4", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", + "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", + "dependencies": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.6", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", "abort-controller": "^3.0.0", "anser": "^1.4.9", - "ansi-regex": "^5.0.0", - "base64-js": "^1.5.1", - "chalk": "^4.0.0", - "deprecated-react-native-prop-types": "^5.0.0", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.6", + "flow-enums-runtime": "^0.0.5", "invariant": "^2.2.4", - "jest-environment-node": "^29.6.3", + "jest-environment-node": "^29.2.1", "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-runtime": "^0.80.3", - "metro-source-map": "^0.80.3", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", "promise": "^8.3.0", - "react-devtools-core": "^4.27.7", - "react-refresh": "^0.14.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.24.0-canary-efb381bbf-20230505", "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", "whatwg-fetch": "^3.0.0", "ws": "^6.2.2", "yargs": "^17.6.2" @@ -13653,12 +13789,20 @@ "react-native": "cli.js" }, "engines": { - "node": ">=18" + "node": ">=16" }, "peerDependencies": { "react": "18.2.0" } }, + "node_modules/react-native-animatable": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.3.3.tgz", + "integrity": "sha512-2ckIxZQAsvWn25Ho+DK3d1mXIgj7tITkrS4pYDvx96WyOttSvzzFeQnM2od0+FUMzILbdHDsDEqZvnz1DYNQ1w==", + "dependencies": { + "prop-types": "^15.7.2" + } + }, "node_modules/react-native-checkbox-field": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/react-native-checkbox-field/-/react-native-checkbox-field-2.0.2.tgz", @@ -13670,9 +13814,9 @@ } }, "node_modules/react-native-deck-swiper": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/react-native-deck-swiper/-/react-native-deck-swiper-2.0.16.tgz", - "integrity": "sha512-uXUe0uua6B6hwMzyB7Q34bebhAgrw2EqF6z2uNoxlT1HJ6igy6eXUR34ON48BYXP+yPFFBdBE5R7nCuBezUhrQ==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/react-native-deck-swiper/-/react-native-deck-swiper-2.0.17.tgz", + "integrity": "sha512-vOGmhBLnrVQL6WtwmgdUqKOyKwoDRmozYjEygRHvFEjHwyFohpd9scDPRNc0t9HlKcXRVNunVsN45B9emqNybw==", "dependencies": { "prop-types": "15.5.10" }, @@ -13691,20 +13835,20 @@ } }, "node_modules/react-native-device-info": { - "version": "10.12.0", - "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-10.12.0.tgz", - "integrity": "sha512-gnBkjyZNEqRd+5BNrdzuvmlraHTCH/to2x0Gp9rtDt0O9xWWW1MTYohUVWX9A0Ad2HVYcGanDCIvjWp4ngMZFg==", + "version": "10.13.1", + "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-10.13.1.tgz", + "integrity": "sha512-j/7Z+Yl9Cesjp8vKaVzbuJQKJSVs4ojXATt5WjwipZ0Ss0mBJjqtbc4x5dfZLmQ4y55VVa7c0v8KHca1iqY/TQ==", "peerDependencies": { "react-native": "*" } }, "node_modules/react-native-dotenv": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/react-native-dotenv/-/react-native-dotenv-3.4.10.tgz", - "integrity": "sha512-GADCAx3qJ9pjnRYMzQVliTnQto5W+38qoQyZGvo4snTv08cT/EQ7/2iyuwVPd/jms1rzVSra5QC/F+lbNWOAKQ==", + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/react-native-dotenv/-/react-native-dotenv-3.4.11.tgz", + "integrity": "sha512-6vnIE+WHABSeHCaYP6l3O1BOEhWxKH6nHAdV7n/wKn/sciZ64zPPp2NUdEUf1m7g4uuzlLbjgr+6uDt89q2DOg==", "dev": true, "dependencies": { - "dotenv": "^16.4.1" + "dotenv": "^16.4.5" }, "peerDependencies": { "@babel/runtime": "^7.20.6" @@ -13731,9 +13875,9 @@ } }, "node_modules/react-native-gesture-handler": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.15.0.tgz", - "integrity": "sha512-cmMGW8k86o/xgVTBZZOPohvR5re4Vh65PUxH4HbBBJAYTog4aN4wTVTUlnoky01HuSN8/X4h3tI/K3XLPoDnsg==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.16.0.tgz", + "integrity": "sha512-1hFkx7RIfeJSyTQQ0Nkv4icFVZ5+XjQkd47OgZMBFzoB7ecL+nFSz8KLi3OCWOhq+nbHpSPlSG5VF3CQNCJpWA==", "dependencies": { "@egjs/hammerjs": "^2.0.17", "hoist-non-react-statics": "^3.3.0", @@ -13773,23 +13917,35 @@ "react-native": "*" } }, + "node_modules/react-native-modal": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-13.0.1.tgz", + "integrity": "sha512-UB+mjmUtf+miaG/sDhOikRfBOv0gJdBU2ZE1HtFWp6UixW9jCk/bhGdHUgmZljbPpp0RaO/6YiMmQSSK3kkMaw==", + "dependencies": { + "prop-types": "^15.6.2", + "react-native-animatable": "1.3.3" + }, + "peerDependencies": { + "react": "*", + "react-native": ">=0.65.0" + } + }, "node_modules/react-native-reanimated": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.7.0.tgz", - "integrity": "sha512-KM+MKa3CJWqsF4GlOLLKBxTR2NEcrg5/HP9J2b6Dfgvll1sjZPywCOEEIh967SboEU8N9LjYZuoVm2UoXGxp2Q==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.8.1.tgz", + "integrity": "sha512-EdM0vr3JEaNtqvstqESaPfOBy0gjYBkr1iEolWJ82Ax7io8y9OVUIphgsLKTB36CtR1XtmBw0RZVj7KArc7ZVA==", "dependencies": { - "@babel/plugin-transform-object-assign": "^7.16.7", + "@babel/plugin-transform-arrow-functions": "^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/preset-typescript": "^7.16.7", "convert-source-map": "^2.0.0", "invariant": "^2.2.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0-0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0-0", - "@babel/plugin-transform-arrow-functions": "^7.0.0-0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0-0", - "@babel/plugin-transform-template-literals": "^7.0.0-0", "react": "*", "react-native": "*" } @@ -13804,9 +13960,9 @@ } }, "node_modules/react-native-screens": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", - "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", + "version": "3.30.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.30.1.tgz", + "integrity": "sha512-/muEvjocCtFb+j5J3YmLvB25+f4rIU8hnnxgGTkXcAf2omPBY8uhPjJaaFUlvj64VEoEzJcRpugbXWsjfPPIFg==", "dependencies": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" @@ -13849,6 +14005,11 @@ "react-native": "*" } }, + "node_modules/react-native-swipe-gestures": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/react-native-swipe-gestures/-/react-native-swipe-gestures-1.0.5.tgz", + "integrity": "sha512-Ns7Bn9H/Tyw278+5SQx9oAblDZ7JixyzeOczcBK8dipQk2pD7Djkcfnf1nB/8RErAmMLL9iXgW0QHqiII8AhKw==" + }, "node_modules/react-native-swiper": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/react-native-swiper/-/react-native-swiper-1.6.0.tgz", @@ -13949,9 +14110,9 @@ } }, "node_modules/react-native-webview": { - "version": "13.8.1", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-13.8.1.tgz", - "integrity": "sha512-7Jqm1WzWJrOWraBAXQfKtr/Uo5Jw/IJHzC40jYLwgV/eVGmLJ9BpGKw6QVw7wpRkjmTZ2Typ4B1aHJLJJQFslA==", + "version": "13.8.4", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-13.8.4.tgz", + "integrity": "sha512-dFoM9EfkAb++ZzycZyKRnjZtNUn85cf6bWp1iBlkgyNml7ULzR1gfaPT3qESoA3K1RfTmf5Xhw0M2In2A3a3wg==", "dependencies": { "escape-string-regexp": "2.0.0", "invariant": "2.2.4" @@ -13984,14 +14145,6 @@ "node": ">= 10.14.2" } }, - "node_modules/react-native/node_modules/@react-native/js-polyfills": { - "version": "0.73.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz", - "integrity": "sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==", - "engines": { - "node": ">=18" - } - }, "node_modules/react-native/node_modules/@types/yargs": { "version": "15.0.19", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", @@ -14054,41 +14207,42 @@ } }, "node_modules/react-native/node_modules/metro-runtime": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.6.tgz", - "integrity": "sha512-21GQVd0pp2nACoK0C2PL8mBsEhIFUFFntYrWRlYNHtPQoqDzddrPEIgkyaABGXGued+dZoBlFQl+LASlmmfkvw==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", "dependencies": { - "@babel/runtime": "^7.0.0" + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" }, "engines": { - "node": ">=18" + "node": ">=16" } }, "node_modules/react-native/node_modules/metro-source-map": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.6.tgz", - "integrity": "sha512-lqDuSLctWy9Qccu4Zl0YB1PzItpsqcKGb1nK0aDY+lzJ26X65OCib2VzHlj+xj7e4PiIKOfsvDCczCBz4cnxdg==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", "dependencies": { "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", "invariant": "^2.2.4", - "metro-symbolicate": "0.80.6", + "metro-symbolicate": "0.76.8", "nullthrows": "^1.1.1", - "ob1": "0.80.6", + "ob1": "0.76.8", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "engines": { - "node": ">=18" + "node": ">=16" } }, "node_modules/react-native/node_modules/metro-symbolicate": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.6.tgz", - "integrity": "sha512-SGwKeBi+lK7NmM5+EcW6DyRRa9HmGSvH0LJtlT4XoRMbpxzsLYs0qUEA+olD96pOIP+ta7I8S30nQr2ttqgO8A==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", "dependencies": { "invariant": "^2.2.4", - "metro-source-map": "0.80.6", + "metro-source-map": "0.76.8", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "through2": "^2.0.1", @@ -14098,15 +14252,15 @@ "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">=18" + "node": ">=16" } }, "node_modules/react-native/node_modules/ob1": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.6.tgz", - "integrity": "sha512-nlLGZPMQ/kbmkdIb5yvVzep1jKUII2x6ehNsHpgy71jpnJMW7V+KsB3AjYI2Ajb7UqMAMNjlssg6FUodrEMYzg==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", "engines": { - "node": ">=18" + "node": ">=16" } }, "node_modules/react-native/node_modules/pretty-format": { @@ -14128,14 +14282,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "node_modules/react-native/node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-native/node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", @@ -14215,7 +14361,6 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -14368,16 +14513,16 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", - "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.0.0", - "get-intrinsic": "^1.2.3", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "which-builtin-type": "^1.1.3" }, @@ -14625,13 +14770,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", - "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", - "get-intrinsic": "^1.2.2", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -14784,30 +14929,31 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { - "define-data-property": "^1.1.2", + "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "dependencies": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -14871,11 +15017,11 @@ } }, "node_modules/side-channel": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", - "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" @@ -15094,34 +15240,41 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -15131,28 +15284,31 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -15335,14 +15491,6 @@ "node": ">=6.0.0" } }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "engines": { - "node": ">=8" - } - }, "node_modules/temp/node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -15355,9 +15503,9 @@ } }, "node_modules/terser": { - "version": "5.27.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz", - "integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==", + "version": "5.30.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz", + "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -15542,12 +15690,12 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz", - "integrity": "sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", "is-typed-array": "^1.1.13" }, @@ -15556,15 +15704,16 @@ } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -15574,16 +15723,16 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.1.tgz", - "integrity": "sha512-tcqKMrTRXjqvHN9S3553NPCaGL0VPgFI92lXszmrE8DMhiDPLBYLlvo8Uu4WZAAX/aGqp/T1sbA4ph8EWjDF9Q==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.6", + "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.1", + "has-proto": "^1.0.3", "is-typed-array": "^1.1.13" }, "engines": { @@ -15594,14 +15743,20 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -15652,7 +15807,6 @@ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", - "dev": true, "dependencies": { "commander": "~2.13.0", "source-map": "~0.6.1" @@ -15667,8 +15821,7 @@ "node_modules/uglify-es/node_modules/commander": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" }, "node_modules/unbox-primitive": { "version": "1.0.2", @@ -15947,15 +16100,18 @@ } }, "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -15967,16 +16123,16 @@ "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" }, "node_modules/which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -16091,9 +16247,12 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } diff --git a/package.json b/package.json index 5fc97e11..ccd36959 100644 --- a/package.json +++ b/package.json @@ -26,14 +26,14 @@ }, "dependencies": { "@react-native-async-storage/async-storage": "^1.19.3", - "@react-native-community/blur": "^4.3.2", + "@react-native-community/blur": "^4.4.0", "@react-native-community/masked-view": "^0.1.11", "@react-native-community/netinfo": "^9.4.1", "@react-native-community/push-notification-ios": "^1.11.0", "@react-native-firebase/analytics": "^18.6.0", "@react-native-firebase/app": "^18.6.0", "@react-native-firebase/messaging": "^18.6.0", - "@react-navigation/drawer": "^6.6.6", + "@react-navigation/drawer": "6.6.6", "@react-navigation/native": "^6.1.7", "@react-navigation/native-stack": "^6.9.13", "@reduxjs/toolkit": "^1.9.7", @@ -54,12 +54,14 @@ "react-native-image-pan-zoom": "^2.1.12", "react-native-linear-gradient": "^2.8.3", "react-native-loading-spinner-overlay": "^3.0.1", + "react-native-modal": "^13.0.1", "react-native-reanimated": "^3.4.2", "react-native-safe-area-context": "^4.7.2", "react-native-screens": "^3.29.0", "react-native-simple-markdown": "^1.1.0", "react-native-splash-screen": "^3.3.0", "react-native-svg": "^13.13.0", + "react-native-swipe-gestures": "^1.0.5", "react-native-swiper": "^1.6.0", "react-native-toggle-element": "^2.0.1", "react-native-vector-icons": "^10.0.0", diff --git a/src/actions/projects.js b/src/actions/projects.js index 54ed4585..4d1f6785 100644 --- a/src/actions/projects.js +++ b/src/actions/projects.js @@ -9,7 +9,7 @@ const productionParams = { mobile_friendly: true, launch_approved: true, live: true, - include: 'avatar', + include: 'avatar,background', sort: 'display_name', } @@ -17,7 +17,7 @@ const betaParams = { mobile_friendly: true, beta_approved: true, launch_approved: false, - include: 'avatar', + include: 'avatar,background', sort: 'display_name', live: true, } @@ -25,7 +25,7 @@ const betaParams = { const ownerParams = { mobile_friendly: true, live: false, - include: 'avatar', + include: 'avatar,background', sort: 'display_name', current_user_roles: 'owner' } @@ -33,7 +33,7 @@ const ownerParams = { const collaboratorParams = { mobile_friendly: true, live: false, - include: 'avatar', + include: 'avatar,background', sort: 'display_name', current_user_roles: 'collaborator' } @@ -80,7 +80,7 @@ export function fetchProjects() { } // First Load the projects - Promise.all(projectCalls).then(() => { + Promise.all(projectCalls).then(() => { let projectDetailCalls = [] projectDetailCalls.push(getWorkflowsForProjects(allProjects)) const avatarCall = getAvatarsForProjects(allProjects) @@ -90,6 +90,9 @@ export function fetchProjects() { const museumModeCall = tagMuseumRoleForProjects(allProjects) projectDetailCalls = projectDetailCalls.concat(museumModeCall) } + + const projectBackgroundCall = getBackgroundImageForProject(allProjects) + projectDetailCalls.concat(projectBackgroundCall) const filterOutFinished = allProjects.filter(project => project.state !== 'finished') // Then load the avatars and workflows @@ -128,6 +131,19 @@ const getAvatarsForProjects = projects => { }) } +const getBackgroundImageForProject = projects => { + return projects.map(project => { + return apiClient.type('backgrounds') + .get(project.links.background.id) + .then((background) => { + project.background = background; + }) + .catch(error => { + return { src: '' }; + }); + }) +} + export const tagMuseumRoleForProjects = projects => { return apiClient.type('projects') .get({ current_user_roles: 'museum' }) @@ -148,7 +164,7 @@ const getWorkflowsForProjects = projects => { .then((workflows) => { workflows.forEach(workflow => { workflow.mobile_verified = workflow.mobile_friendly && isValidMobileWorkflow(workflow) - + const project = projects.find(project => project.id === workflow.links.project) if (!project.workflows.find((projectWorkflow) => projectWorkflow.id === workflow.id)) { project.workflows = R.append(workflow, project.workflows) diff --git a/src/components/FullScreenMedia.js b/src/components/FullScreenMedia.js index c537ac65..cb7f0ba7 100644 --- a/src/components/FullScreenMedia.js +++ b/src/components/FullScreenMedia.js @@ -1,16 +1,18 @@ import React from 'react' import { - Modal, TouchableOpacity, View, - Dimensions + Dimensions, + StyleSheet } from 'react-native' +import Modal from "react-native-modal"; import FontedText from './common/FontedText' import EStyleSheet from 'react-native-extended-stylesheet' import ZoomableImage from './ZoomableImage' -import Icon from 'react-native-vector-icons/FontAwesome' +import Icon from 'react-native-vector-icons/Fontisto' import PropTypes from 'prop-types' import VideoPlayer from 'react-native-video-controls'; +import { BlurView } from '@react-native-community/blur'; class FullScreenMedia extends React.Component { render() { @@ -40,12 +42,15 @@ class FullScreenMedia extends React.Component { return ( { - }} + style={styles.modalContainer} + coverScreen={false} visible={this.props.isVisible}> + { this.props.question ? @@ -64,7 +69,7 @@ class FullScreenMedia extends React.Component { activeOpacity={0.5} onPress={this.props.handlePress} style={styles.closeIcon}> - + @@ -73,8 +78,12 @@ class FullScreenMedia extends React.Component { } const styles = EStyleSheet.create({ + blur: { + flex: 1, + ...StyleSheet.absoluteFillObject, + }, container: { - backgroundColor: 'rgba(0, 0, 0, 0.9)', + backgroundColor: 'rgba(0, 0, 0, 0.5)', flex: 1, justifyContent: 'flex-start', alignItems: 'flex-start', @@ -82,13 +91,15 @@ const styles = EStyleSheet.create({ closeIcon: { backgroundColor: 'transparent', position: 'absolute', - top: 35, - right: 5 + bottom: 42, + left: 0, + right: 0, + alignItems: 'center', }, icon: { backgroundColor: 'transparent', - color: 'white', - fontSize: 24, + color: 'rgba(255, 255, 255, 0.6)', + fontSize: 40, padding: 15, }, rowContainer: { @@ -108,6 +119,9 @@ const styles = EStyleSheet.create({ color: '$transluscentWhite', fontSize: 20, padding: 5, + }, + modalContainer: { + margin: 0, } }) diff --git a/src/components/Markings/DrawableSubject.js b/src/components/Markings/DrawableSubject.js index d47d5dc1..31424378 100644 --- a/src/components/Markings/DrawableSubject.js +++ b/src/components/Markings/DrawableSubject.js @@ -3,20 +3,20 @@ import { Alert, Platform, Modal, - View + View, + SafeAreaView } from 'react-native' import PropTypes from 'prop-types' import { connect } from 'react-redux' import { BlurView } from '@react-native-community/blur'; import { bindActionCreators } from 'redux' import R from 'ramda' -import Theme from '../../theme' import EStyleSheet from 'react-native-extended-stylesheet' -import CloseButton from '../common/CloseButton' import DrawingToolView from './components/DrawingToolView' -import InstructionView from './components/InstructionView' import * as drawingActions from '../../actions/drawing' +import ButtonsDrawingModal from '../classifier/ButtonsDrawingModal'; +import ToolNameDrawCount from './ToolNameDrawCount'; const mapStateToProps = state => ({ numberOfShapesDrawn: R.keys(state.drawing.shapesInProgress).length, @@ -92,22 +92,11 @@ class DrawableSubject extends Component { canUndo={this.props.canUndo} inMuseumMode={this.props.inMuseumMode} /> - this.onCancel({justClearInProgress: true})} - onSave={this.onSave} - warnForRequirements={this.props.warnForRequirements && this.props.numberOfShapesDrawn < this.props.tool.min} - /> + + + this.onCancel({ justClearInProgress: true })} onSave={this.onSave} /> + - this.onCancel({justClearInProgress: false})} - style={styles.closeButton} - color={Theme.$zooniverseTeal} - backgroundColor="white" - size={34} - /> ) @@ -115,6 +104,12 @@ class DrawableSubject extends Component { } const styles = EStyleSheet.create({ + bottomContainer: { + backgroundColor: '#FFFFFD', + justifyContent: 'flex-end', + paddingTop: 40, + height: 160, + }, blurView: { position: 'absolute', top: 0, @@ -123,7 +118,7 @@ const styles = EStyleSheet.create({ right: 0 }, androidBlurView: { - backgroundColor: 'rgba(255,255,255, 0.8)' + backgroundColor: '#272727' }, closeButton: { position: 'absolute', @@ -140,15 +135,12 @@ const styles = EStyleSheet.create({ backgroundColor: 'white' }, modalContainer: { - backgroundColor: 'rgba(237,240,243,1)', + backgroundColor: '#272727', flex: 1, - marginHorizontal: 25, - marginBottom: 25, - marginTop: 40 }, modal: { flex: 1, - marginTop: Platform.OS === 'ios' ? 50 : 0, + width: '100%', } }) diff --git a/src/components/Markings/DrawingClassifier.js b/src/components/Markings/DrawingClassifier.js index 2670142b..7e64c156 100644 --- a/src/components/Markings/DrawingClassifier.js +++ b/src/components/Markings/DrawingClassifier.js @@ -10,7 +10,6 @@ import PropTypes from 'prop-types' import {connect} from 'react-redux' import {bindActionCreators} from 'redux' import R from 'ramda' -import DeviceInfo from 'react-native-device-info'; import ClassificationPanel from '../classifier/ClassificationPanel' import DrawingClassifierSubject from './DrawingClassifierSubject' @@ -22,16 +21,15 @@ import * as drawingActions from '../../actions/drawing' import ClassificationContainer from '../classifier/ClassifierContainer' import NeedHelpButton from '../classifier/NeedHelpButton' import OverlaySpinner from '../OverlaySpinner' -import { - GuideButton, - SubmitButton -} from '../classifier/ClassifierButton' -import Separator from '../common/Separator' import DrawingModal from './DrawableSubject' import ShapeInstructionsView from './components/ShapeInstructionsView'; import DrawingHeader from './components/DrawingHeader' -import * as colorModes from '../../displayOptions/colorModes' +import ClassifierHeader from '../../navigation/ClassifierHeader' +import ButtonLarge from '../classifier/ButtonLarge' +import FieldGuideBtn from '../classifier/FieldGuideBtn' +import DrawingModeButton from './DrawingModeButton' +import ToolNameDrawCount from './ToolNameDrawCount' const mapStateToProps = (state, ownProps) => { const subjectDimensions = state.classifier.subject ? state.classifier.subjectDimensions[state.classifier.subject.id] : null @@ -44,7 +42,7 @@ const mapStateToProps = (state, ownProps) => { tutorial: state.classifier.tutorial[ownProps.route.params.workflow.id] || {}, needsTutorial: state.classifier.needsTutorial[ownProps.route.params.workflow.id] || false, subject: state.classifier.subject, - shapes: DeviceInfo.isTablet() ? state.drawing.shapesInProgress : state.drawing.shapes, + shapes: state.drawing.shapesInProgress, workflowOutOfSubjects: state.classifier.workflowOutOfSubjects, numberOfShapesDrawn: R.keys(state.drawing.shapesInProgress).length, subjectDimensions: subjectDimensions ? subjectDimensions : {naturalHeight: 1, naturalWidth: 1}, @@ -177,15 +175,17 @@ class DrawingClassifier extends Component { const classification = + style={styles.classificationContainer}> + + + } instructions={ } /> - this.setState({isModalVisible: true})} - style={styles.subjectDisplayContainer}> + this.setState({ isModalVisible: true })} + style={styles.subjectDisplayContainer} + > this.classificationContainer.displayHelpModal()} - showDrawingButtons={DeviceInfo.isTablet()} + showDrawingButtons={false} inMuseumMode={this.props.route.params.project.in_museum_mode} onUndoButtonSelected={this.props.drawingActions.undoMostRecentEdit} maxShapesDrawn={this.props.numberOfShapesDrawn >= tool.max} @@ -210,39 +212,47 @@ class DrawingClassifier extends Component { imageSource={this.state.localImagePath} canUndo={this.props.canUndo} onImageLayout={this.onImageLayout} - showBlurView={!DeviceInfo.isTablet() && R.isEmpty(this.props.shapes)} + showBlurView={R.isEmpty(this.props.shapes)} alreadySeen={this.props.subject.already_seen} subjectDimensions={this.props.subjectDimensions} displayToNativeRatio={this.props.subjectDimensions.naturalWidth / this.state.subjectDimensions.clientWidth} /> + + + + + this.setState({isModalVisible: true})}/> + + + + + {this.props.help && !R.isEmpty(this.props.help) && + + this.classificationContainer.displayHelpModal()} + inMuseumMode={this.props.route.params.project.in_museum_mode} + /> + + } + {this.props.guide.href && ( + + this.classificationContainer.displayFieldGuide()} + /> + + )} - const fieldGuideButton = - - this.classificationContainer.displayFieldGuide()} - type="guide" - text="Field Guide" - style={[styles.fieldGuideButton, this.state.orientation === 'portrait' ? [] : styles.wideFieldGuide]} - /> - - - const submitButton = - const {isQuestionVisible, orientation} = this.state - const classificationBottomPadding = isQuestionVisible ? {} : styles.classificationBottomMargin const classificationPanel = ; - const buttonView = - {this.props.guide.href && fieldGuideButton} - {submitButton} - - - - const needHelpButton = - this.classificationContainer.displayHelpModal()} - inMuseumMode={this.props.route.params.project.in_museum_mode} - />; const classificationView = - + {classificationPanel} - {isQuestionVisible && !R.isEmpty(this.props.help) && !DeviceInfo.isTablet() && needHelpButton} - {isQuestionVisible && buttonView} - return ( - + + - { this.props.showBlurView && this.props.imageIsLoaded && this.renderBlurView() } { !this.props.inMuseumMode && this.props.alreadySeen && this.props.imageIsLoaded && } ) @@ -117,7 +116,7 @@ class DrawingClassifierSubject extends Component { const styles = { container: { - flex: 1 + flex: 1, }, backgroundImage: { flex: 1, diff --git a/src/components/Markings/DrawingModeButton.js b/src/components/Markings/DrawingModeButton.js new file mode 100644 index 00000000..a3611363 --- /dev/null +++ b/src/components/Markings/DrawingModeButton.js @@ -0,0 +1,51 @@ +import React from 'react'; +import { StyleSheet, TouchableOpacity } from 'react-native'; + +import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'; +import DeviceInfo from 'react-native-device-info'; +import PropTypes from 'prop-types'; + +import FontedText from '../common/FontedText'; + +function DrawingModeButton({ onPress }) { + const isTablet = DeviceInfo.isTablet(); + const maxWidth = isTablet ? 400 : 280; + + return ( + + + Enter drawing mode + + ); +} + +const styles = StyleSheet.create({ + container: { + borderRadius: 32, + borderWidth: 0.5, + borderColor: '#005D69', + backgroundColor: '#ADDDE066', + justifyContent: 'center', + alignItems: 'center', + flexDirection: 'row', + marginHorizontal: 44, + width: '100%', + }, + text: { + fontSize: 16, + lineHeight: 18.7, + letterSpacing: 0.5, + fontWeight: '700', + paddingLeft: 8, + color: '#000', + }, +}); + +DrawingModeButton.propTypes = { + onPress: PropTypes.func, +}; + +export default DrawingModeButton; diff --git a/src/components/Markings/ToolNameDrawCount.js b/src/components/Markings/ToolNameDrawCount.js new file mode 100644 index 00000000..3e6e9d15 --- /dev/null +++ b/src/components/Markings/ToolNameDrawCount.js @@ -0,0 +1,58 @@ +import React from 'react'; +import { View, StyleSheet } from 'react-native'; + +import FontAwesome5 from 'react-native-vector-icons/FontAwesome5'; +import PropTypes from 'prop-types'; + +import FontedText from '../common/FontedText'; + +function ToolNameDrawCount({ label, number }) { + return ( + + + + + {label} + + + + {number} drawn + + + ); +} + +const styles = StyleSheet.create({ + container: { + justifyContent: 'space-between', + flexDirection: 'row', + marginHorizontal: 16, + alignItems: 'flex-start', // Ensure vertical alignment is centered + }, + drawnText: { + color: '#5C5C5C', + marginRight: 4, + }, + leftContainer: { + flexDirection: 'row', + flex: 0.96, + }, + toolText: { + color: '#000', + paddingLeft: 8, + flex: 1, + }, + text: { + fontWeight: '600', + fontSize: 16, + lineHeight: 18.7, + letterSpacing: 0.5, + }, +}); + +ToolNameDrawCount.propTypes = { + label: PropTypes.string, + number: PropTypes.string, +}; + +export default ToolNameDrawCount; diff --git a/src/components/Markings/components/DrawingHeader.js b/src/components/Markings/components/DrawingHeader.js index 694d9af4..f16ad19f 100644 --- a/src/components/Markings/components/DrawingHeader.js +++ b/src/components/Markings/components/DrawingHeader.js @@ -4,24 +4,21 @@ import { } from 'react-native' import PropTypes from 'prop-types' -import * as colorModes from '../../../displayOptions/colorModes' - const DrawingHeader = (props) => { return props.horizontal ? - + {props.question} - + {props.instructions} : - + {props.question} - {props.instructions} } diff --git a/src/components/Markings/components/DrawingToolView.js b/src/components/Markings/components/DrawingToolView.js index 04bfeab3..1a6b90cb 100644 --- a/src/components/Markings/components/DrawingToolView.js +++ b/src/components/Markings/components/DrawingToolView.js @@ -6,8 +6,8 @@ import { import PropTypes from 'prop-types' import MarkableMedia from './MarkableImage' -import DrawingButtons from './DrawingButtons' import SubjectLoadingIndicator from '../../common/SubjectLoadingIndicator' +import ButtonsDrawing from '../../classifier/ButtonsDrawing' class DrawingToolView extends Component { @@ -60,17 +60,13 @@ class DrawingToolView extends Component { } { - this.props.showDrawingButtons && - this.setState({mode: buttonType})} - highlightedButton={this.state.mode} - canUndo={this.props.canUndo} - aShapeIsOutOfBounds={this.state.aShapeIsOutOfBounds} - inMuseumMode={this.props.inMuseumMode} - /> + this.props.showDrawingButtons && + this.setState({ mode: 'draw' })} + onDelete={() => this.setState({ mode: 'erase' })} + /> } ) diff --git a/src/components/SizedImage.js b/src/components/SizedImage.js index e5148512..d9b142f5 100644 --- a/src/components/SizedImage.js +++ b/src/components/SizedImage.js @@ -39,6 +39,7 @@ class SizedImage extends React.Component { toValue: resizedHeight, easing: Easing.linear, duration: 50, + useNativeDriver: false, } ).start() @@ -48,6 +49,7 @@ class SizedImage extends React.Component { toValue: resizedWidth, easing: Easing.bezier(0, 1, 0.6, 1), duration: 50, + useNativeDriver: false, } ).start() }) @@ -59,6 +61,7 @@ class SizedImage extends React.Component { this.state.fadeAnim, { toValue: 1, duration: 200, + useNativeDriver: false, }, ).start(); } diff --git a/src/components/StyledMarkdown.js b/src/components/StyledMarkdown.js index dd448009..adbc7177 100644 --- a/src/components/StyledMarkdown.js +++ b/src/components/StyledMarkdown.js @@ -56,7 +56,7 @@ class StyledMarkdown extends React.Component { .replace('$body', result) .replace('$extraCSS', this.props.extraCSS) - const displayWidth = this.props.width || Dimensions.get('window').width - 40 + const displayWidth = this.props.width || Dimensions.get('window').width const webviewComponent = diff --git a/src/components/classifier/AutoPlayMultiImage.js b/src/components/classifier/AutoPlayMultiImage.js new file mode 100644 index 00000000..9ca8c56c --- /dev/null +++ b/src/components/classifier/AutoPlayMultiImage.js @@ -0,0 +1,181 @@ +import React, { useState, useEffect, useRef } from 'react'; // Import useRef +import { + View, + Image, + StyleSheet, + TouchableWithoutFeedback, + TouchableOpacity, +} from 'react-native'; + +import FontAwesome from 'react-native-vector-icons/FontAwesome'; +import PropTypes from 'prop-types'; + +import ExpandImageIcon from './ExpandImageIcon'; + +const AutoPlayMultiImage = ({ images, swiping, expandImage, currentCard }) => { + const [slideIndex, setSlideIndex] = useState(0); + const [showExpandImage, setShowExpandImage] = useState(false); + const [longPress, setLongPress] = useState(false); + const intervalId = useRef(null); + const pressTimer = useRef(null); // Timer to distinguish between tap and long press + + // Start the slideshow auto-play with a setInterval. + const startSlideshow = () => { + setShowExpandImage(false); + + intervalId.current = setInterval(() => { + setSlideIndex((prevIndex) => (prevIndex + 1) % images.length); // Makes sure it wraps aronud to zero. + }, 500); + }; + + // Stop the slideshow auto-play and show the expand image button. + const stopSlideshow = () => { + setShowExpandImage(true); + if (intervalId.current) { + clearInterval(intervalId.current); + intervalId.current = null; + } + }; + + // When component loads start the slideshow. Only do this if it is the current card to prevent peformance issues and glitchy behavior. + useEffect(() => { + if (currentCard) { + startSlideshow(); + } + + return () => { + stopSlideshow(); + }; + }, [currentCard]); + + // Handle when a paginate dot is pressed. + const pageDotPressed = (dotIdx) => { + // If the dot pressed is the currently selected dot then toggle the auto-play. + if (dotIdx === slideIndex) { + if (!intervalId.current) { + startSlideshow(); + } else { + stopSlideshow(); + } + } else { + // Else pause the auto-play and set slideshow index to the selected dot. + stopSlideshow(); + setSlideIndex(dotIdx); + } + }; + + /** + * When the user presses an image 1 of 2 things should happen. + * 1) When holding longer than 200ms it's assumed that the user is holding the image to pause it. + * 2) When holding less than 200ms it's assumed the user is tapping the image. + * The timer is used to detect the difference between the two gestures. + */ + const onPressIn = () => { + pressTimer.current = setTimeout(() => { + if (swiping) return; // Don't want swiping to interfere with the start/pausing. + setLongPress(true); + stopSlideshow(); + }, 200); + }; + + /** + * When the user presses out of an image it will check if the press was regestered as long or not. + * If registered as a long press, then resume the auto-play. + * If was not a long press, toggle the auto-play. Stop > Start & Start > Stop. + */ + const onPressOut = () => { + if (swiping) return; // Don't want swiping to interfere with the start/pausing. + clearTimeout(pressTimer.current); + + if (longPress) { + setLongPress(false); // Reset the longPress state + startSlideshow(); + } else { + if (intervalId.current) { + stopSlideshow(); + } else { + startSlideshow(); + } + } + }; + + const PaginateDot = ({ dotIdx }) => { + return ( + pageDotPressed(dotIdx)} + style={{ marginTop: 8 }} + > + + + ); + }; + + return ( + + + + + {showExpandImage && !longPress && ( + expandImage(images[slideIndex]?.uri)} + style={{ position: 'absolute', right: 16, bottom: 16 }} + > + + + )} + { + // Only show the pagination dots if it is the current card on top + currentCard && ( + + {images.map((i, idx) => ( + + ))} + + ) + } + + ); +}; + +const styles = StyleSheet.create({ + container: { + justifyContent: 'flex-start', + alignItems: 'center', + flex: 1, + }, + image: { + flex: 1, // Allows the image to expand + width: undefined, // Ensures width and height are not constrained by specific values + height: undefined, + alignSelf: 'stretch', // Stretches the image to the boundaries of its container + }, +}); + +AutoPlayMultiImage.propTypes = { + images: PropTypes.array, + swiping: PropTypes.bool, + expandImage: PropTypes.bool, + currentCard: PropTypes.bool, + dotIdx: PropTypes.number, +}; + +export default AutoPlayMultiImage; diff --git a/src/components/classifier/ButtonAnswer.js b/src/components/classifier/ButtonAnswer.js new file mode 100644 index 00000000..85986a3b --- /dev/null +++ b/src/components/classifier/ButtonAnswer.js @@ -0,0 +1,66 @@ +import React from 'react'; +import { StyleSheet, TouchableOpacity, Dimensions } from 'react-native'; + +import PropTypes from 'prop-types'; +import DeviceInfo from 'react-native-device-info'; + +import FontedText from '../common/FontedText'; + +function ButtonAnswer({ selected, text, onPress, fullWidth }) { + const isTablet = DeviceInfo.isTablet(); + + // Handles height, width, and color of button depending on device and state. + const backgroundColor = selected ? '#005D69' : 'rgba(255, 255, 255, 0.8)'; + let adtlStyles = { backgroundColor }; + if (fullWidth) { + adtlStyles.minHeight = isTablet ? 72 : 40; + } else { + adtlStyles.height = isTablet ? 72 : 40; + } + const buttonStyles = [ + styles.container, + fullWidth ? styles.fullContainer : styles.halfContainer, + adtlStyles, + ]; + const color = selected ? '#fff' : '#005D69'; + + return ( + + {text} + + ); +} + +const styles = StyleSheet.create({ + container: { + margin: 4, + borderRadius: 8, + borderWidth: 0.5, + borderColor: '#00979D', + justifyContent: 'center', + alignItems: 'center', + }, + fullContainer: { + flex: 1, + paddingVertical: 6, + paddingHorizontal: 12, + }, + halfContainer: { + width: Dimensions.get('window').width / 2 - 20, + maxWidth: 270, + }, + text: { + fontWeight: '400', + fontSize: 18, + lineHeight: 21.04, + }, +}); + +ButtonAnswer.propTypes = { + selected: PropTypes.bool, + text: PropTypes.string, + onPress: PropTypes.func, + fullWidth: PropTypes.bool, +}; + +export default ButtonAnswer; diff --git a/src/components/classifier/ButtonLarge.js b/src/components/classifier/ButtonLarge.js new file mode 100644 index 00000000..175af1de --- /dev/null +++ b/src/components/classifier/ButtonLarge.js @@ -0,0 +1,58 @@ +import React from 'react'; +import { View, StyleSheet, TouchableOpacity } from 'react-native'; + +import PropTypes from 'prop-types'; +import DeviceInfo from 'react-native-device-info'; + +import FontedText from '../common/FontedText'; + +function ButtonLarge({ disabled = false, text, onPress }) { + + // Handle button color and height depending on device & state. + const backgroundColor = disabled + ? 'rgba(0, 93, 105, 0.3)' + : 'rgba(0, 93, 105, 1)'; + const isTablet = DeviceInfo.isTablet(); + const btnStyles = [styles.container, { backgroundColor, height: isTablet ? 44 : 40 }] + + const ButtonText = () => {text}; + return disabled ? ( + + + + ) : ( + + + + ); +} + +const styles = StyleSheet.create({ + container: { + borderRadius: 32, + borderWidth: 0.5, + borderColor: '#ffffff', + backgroundColor: '#005D69', + justifyContent: 'center', + alignItems: 'center', + maxWidth: 400, + width: '100%', + }, + text: { + fontWeight: '700', + fontSize: 18, + lineHeight: 21.04, + color: '#fff', + }, +}); + +ButtonLarge.propTypes = { + disabled: PropTypes.bool, + text: PropTypes.string, + onPress: PropTypes.func, +}; + +export default ButtonLarge; diff --git a/src/components/classifier/ButtonsDrawing.js b/src/components/classifier/ButtonsDrawing.js new file mode 100644 index 00000000..5c9767c8 --- /dev/null +++ b/src/components/classifier/ButtonsDrawing.js @@ -0,0 +1,142 @@ +import React, { useState } from 'react'; +import { View, StyleSheet, TouchableOpacity } from 'react-native'; + +import FontAwesome5 from 'react-native-vector-icons/FontAwesome5'; +import FontAwesome from 'react-native-vector-icons/FontAwesome'; +import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'; +import PropTypes from 'prop-types'; + +import FontedText from '../common/FontedText'; + +function ButtonsDrawing({ canUndo, onUndo, onDelete, onDraw }) { + const [drawActive, setDrawActive] = useState(true); + + const drawContainer = drawActive + ? styles.btnContainerActive + : styles.btnContainerInactive; + const drawText = drawActive ? styles.btnTextActive : styles.btnTextInactive; + const deleteContainer = !drawActive + ? styles.btnContainerActive + : styles.btnContainerInactive; + const deleteText = !drawActive + ? styles.btnTextActive + : styles.btnTextInactive; + + const deletedPressed = () => { + setDrawActive(false); + onDelete(); + }; + + const drawPressed = () => { + setDrawActive(true); + onDraw(); + }; + + const UndoFont = () => ( + + ); + return ( + + {canUndo ? ( + + + + ) : ( + + + + )} + + + + Delete + + + + Draw + + + ); +} + +const styles = StyleSheet.create({ + btn: { + height: 40, + borderRadius: 32, + justifyContent: 'center', + alignItems: 'center', + marginHorizontal: 8, + }, + btnContainerActive: { + backgroundColor: '#005D69', + }, + btnContainerInactive: { + backgroundColor: '#fff', + }, + btnTextActive: { + color: '#fff', + }, + btnTextInactive: { + color: '#A6A7A9', + }, + container: { + flexDirection: 'row', + justifyContent: 'center', + padding: 16, + }, + deleteContainer: { + maxWidth: 214, + flex: 1, + flexDirection: 'row', + }, + drawContainer: { + maxWidth: 400, + flex: 1, + flexDirection: 'row', + }, + text: { + fontWeight: '600', + fontSize: 16, + lineHeight: 18.7, + letterSpacing: 0.5, + paddingLeft: 8, + }, + textDelete: { + color: '#A6A7A9', + paddingLeft: 8, + }, + textDraw: { + color: '#fff', + paddingLeft: 8, + }, + undoContainer: { + width: 40, + backgroundColor: '#fff', + }, +}); + +ButtonsDrawing.propTypes = { + canUndo: PropTypes.bool, + onUndo: PropTypes.func, + onDelete: PropTypes.func, + onDraw: PropTypes.func, +}; + +export default ButtonsDrawing; diff --git a/src/components/classifier/ButtonsDrawingModal.js b/src/components/classifier/ButtonsDrawingModal.js new file mode 100644 index 00000000..7e7009d0 --- /dev/null +++ b/src/components/classifier/ButtonsDrawingModal.js @@ -0,0 +1,68 @@ +import React from 'react'; +import { View, StyleSheet, TouchableOpacity } from 'react-native'; + +import PropTypes from 'prop-types'; + +import FontedText from '../common/FontedText'; + +function ButtonsDrawingModal({ onCancel, onSave }) { + return ( + + + Cancel + + + + Save & Close + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + paddingHorizontal: 8, + marginTop: 16, + justifyContent: 'center', + }, + btn: { + height: 40, + borderRadius: 32, + justifyContent: 'center', + alignItems: 'center', + flex: 1, + marginHorizontal: 8, + }, + btnCancel: { + backgroundColor: 'rgba(173, 221, 224, 0.4)', + maxWidth: 270, + }, + btnSave: { + backgroundColor: '#005D69', + maxWidth: 400, + }, + text: { + fontWeight: '700', + fontSize: 16, + lineHeight: 18.7, + letterSpacing: 0.5, + }, + textCancel: { + color: '#000', + }, + textSave: { + color: '#fff', + }, +}); + +ButtonsDrawingModal.propTypes = { + onCancel: PropTypes.func, + onSave: PropTypes.func, +}; + +export default ButtonsDrawingModal; diff --git a/src/components/classifier/ClassificationPanel.js b/src/components/classifier/ClassificationPanel.js index ef9645a3..8e4865d6 100644 --- a/src/components/classifier/ClassificationPanel.js +++ b/src/components/classifier/ClassificationPanel.js @@ -6,46 +6,68 @@ import { import DeviceInfo from 'react-native-device-info' import EStyleSheet from 'react-native-extended-stylesheet' import PropTypes from 'prop-types'; +import FontAwesome from 'react-native-vector-icons/FontAwesome' import FontedText from '../common/FontedText' -import * as colorModes from '../../displayOptions/colorModes' class ClassificationPanel extends Component { render() { + const activeTab = { backgroundColor: '#EBEBEB'} + const inactiveTab = { backgroundColor: '#CBCCCB'} + const tabLeftOverride = this.props.isQuestionVisible ? activeTab : inactiveTab; + const tabRightOverride = this.props.isQuestionVisible ? inactiveTab : activeTab; + const tabLeftFont = this.props.isQuestionVisible ? '700' : '400'; + const tabRightFont = this.props.isQuestionVisible ? '400' : '700'; + + const hasTutorial = this.props.hasTutorial; + const color = hasTutorial ? '#005D69' : '#A6A7A9' + const TutorialIcon = () => + const TutorialText = () => + TUTORIAL + + + const TutorialTab = ({children}) => { + return hasTutorial ? ( + { this.props.setQuestionVisibility(false) } } + style={[styles.tab, { ...tabRightOverride }]}> + {children} + + ) : + ( + {children} + + ) + } const tabs = { this.props.setQuestionVisibility(true) } } - style={ this.props.isQuestionVisible ? - [styles.tab, colorModes.contentBackgroundColorFor(this.props.inMuseumMode)] : - [styles.tab, colorModes.framingBackgroundColorFor(this.props.inMuseumMode)] - }> - - QUESTION - - - { this.props.setQuestionVisibility(false) } } - style={ this.props.isQuestionVisible ? - [styles.tab, colorModes.framingBackgroundColorFor(this.props.inMuseumMode)] : - [styles.tab, colorModes.contentBackgroundColorFor(this.props.inMuseumMode)] - - }> - - TUTORIAL + style={ [styles.tab, {...tabLeftOverride}] }> + + + TASK + + + + return ( - - { this.props.hasTutorial ? tabs : null } + + { tabs } { this.props.children } ) @@ -53,25 +75,27 @@ class ClassificationPanel extends Component { } const styles = EStyleSheet.create({ - panelContainer: { - marginTop: 15, - marginBottom: 0, - marginHorizontal: 25 + noTabsFiller: { + height: 44, + backgroundColor: '#EBEBEB', }, tabContainer: { flexDirection: 'row', justifyContent: 'space-around', - alignItems: 'center' + alignItems: 'center', }, tab: { alignItems: 'center', justifyContent: 'center', flex: 1, - marginTop: 1, + flexDirection: 'row', + height: 44, }, tabText: { - fontSize: DeviceInfo.isTablet() ? 22 : 14, - marginVertical: 15 + fontSize: DeviceInfo.isTablet() ? 22 : 16, + lineHeight: 18.7, + letterSpacing: 1, + marginLeft: 8 } }) diff --git a/src/components/classifier/ExpandImageIcon.js b/src/components/classifier/ExpandImageIcon.js new file mode 100644 index 00000000..9788dc6b --- /dev/null +++ b/src/components/classifier/ExpandImageIcon.js @@ -0,0 +1,15 @@ +import React from 'react'; + +import FontAwesome5 from 'react-native-vector-icons/FontAwesome5'; + +function ExpandImageIcon() { + return ( + + ); +} + +export default ExpandImageIcon; diff --git a/src/components/classifier/FieldGuide.js b/src/components/classifier/FieldGuide.js index f29064d2..517fb25d 100644 --- a/src/components/classifier/FieldGuide.js +++ b/src/components/classifier/FieldGuide.js @@ -3,6 +3,7 @@ import { Animated, Dimensions, Easing, + FlatList, PanResponder, Platform, ScrollView, @@ -12,11 +13,11 @@ import { import EStyleSheet from 'react-native-extended-stylesheet' import FieldGuideItemDetail from './FieldGuideItemDetail' import FieldGuideItemRow from './FieldGuideItemRow' -import Icon from 'react-native-vector-icons/FontAwesome' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' import PropTypes from 'prop-types'; -import {addIndex, isEmpty, map} from 'ramda' +import {isEmpty} from 'ramda' -import * as colorModes from '../../displayOptions/colorModes' +import FieldGuideBtn from './FieldGuideBtn' const MAX_DEFAULT_HEIGHT = Dimensions.get('window').height * .6 const MIN_HEIGHT = 33 @@ -48,7 +49,7 @@ export class FieldGuide extends Component { Animated.event([ null, {dy: this.state.heightAnim} - ])(e, {dy: newVal}); + ], {useNativeDriver: false})(e, {dy: newVal}); }, onPanResponderTerminationRequest: () => true, onPanResponderRelease: () => { @@ -70,7 +71,8 @@ export class FieldGuide extends Component { Animated.timing(this.state.heightAnim, { toValue: adjustToHeight, easing: Easing.out(Easing.ease), - duration: 100 + duration: 100, + useNativeDriver: false, }).start() } } @@ -108,6 +110,10 @@ export class FieldGuide extends Component { this.animateHeight(150) } + toggleOpenClose = () => { + this.closeDetail(); + } + animateHeight(toHeight, duration = 300) { Animated.timing( this.state.heightAnim, @@ -115,6 +121,7 @@ export class FieldGuide extends Component { toValue: toHeight, easing: Easing.linear, duration: duration, + useNativeDriver: false, } ).start() } @@ -128,21 +135,21 @@ export class FieldGuide extends Component { render() { const {items, icons} = this.props.guide const closeIcon = - + this.close()} activeOpacity={0.5} style={styles.navIconContainer}> - + const backIcon = - + this.closeDetail()} activeOpacity={0.5}> - + @@ -151,36 +158,26 @@ export class FieldGuide extends Component { style={[styles.dragBarContainer, {bottom: this.state.heightAnim}]} hitSlop={{top: 10, bottom: 10, left: 0, right: 0}} {...this._panResponder.panHandlers}> - - - - - - + + - const renderItemRow = (item = {}, icons = [], idx) => { - return ( - this.openDetail(item)} - key={idx} - item={item} - icons={icons} - inMuseumMode={this.props.inMuseumMode} - /> - ) - } - const fieldGuide = - this.setHeight(event.nativeEvent.layout.height)}> - {addIndex(map)( - (item, idx) => { - return renderItemRow(item, icons, idx) - }, - items - )} + this.setHeight(event.nativeEvent.layout.height)}> + this.openDetail(item)} + key={index} + item={item} + icons={icons} + inMuseumMode={this.props.inMuseumMode} + /> + } + /> @@ -206,11 +203,12 @@ export class FieldGuide extends Component { + + {showFieldGuideItemDetail ? backIcon : null} + {closeIcon} + {showFieldGuideItemDetail ? itemDetail : fieldGuide} - {showFieldGuideItemDetail ? backIcon : null} - {closeIcon} {dragBar} @@ -219,6 +217,9 @@ export class FieldGuide extends Component { } const styles = EStyleSheet.create({ + backCloseContainer: { + height: 40 + }, container: { position: 'absolute', bottom: 0, @@ -231,65 +232,35 @@ const styles = EStyleSheet.create({ left: 0, right: 0, height: 0, - shadowColor: 'rgba(0, 0, 0, 0.24)', - shadowOpacity: 0.8, - shadowRadius: 5, - shadowOffset: { - height: 1 - }, + borderTopWidth: 1, + borderColor: '#00979D', + backgroundColor: '#fff' }, dragBarContainer: { - backgroundColor: 'white', - position: 'absolute', - left: 0, - right: 0, - height: 18 - }, - dragBar: { - height: 12, - backgroundColor: '$dragBarColor', - }, - dragBarLineAbsoluteContainer: { backgroundColor: 'transparent', position: 'absolute', - top: 0, left: 0, right: 0, - height: 18 - }, - dragBarLineContainer: { - alignSelf: 'center', - backgroundColor: '$dragBarColor', - paddingTop: 4, - paddingBottom: 6, - paddingHorizontal: 10, - borderRadius: 4, - }, - dragBarLine: { - backgroundColor: 'white', - alignSelf: 'center', - height: 2, - width: 13, - borderRadius: 2, - marginTop: 2, + alignItems: 'center', }, navIcon: { - fontSize: 24, color: '$darkTeal', - lineHeight: 24, }, back: { position: 'absolute', - bottom: -28, - left: 10, + left: 4, + top: 4, backgroundColor: 'transparent', }, close: { position: 'absolute', - bottom: -25, - right: 15, + right: 4, + top: 4, backgroundColor: 'transparent', }, + fieldGuideContainer: { + paddingBottom: 12 + } }) FieldGuide.propTypes = { diff --git a/src/components/classifier/FieldGuideBtn.js b/src/components/classifier/FieldGuideBtn.js new file mode 100644 index 00000000..faf3d780 --- /dev/null +++ b/src/components/classifier/FieldGuideBtn.js @@ -0,0 +1,59 @@ +import React from 'react'; +import { StyleSheet, TouchableOpacity } from 'react-native'; + +import Feather from 'react-native-vector-icons/Feather'; +import PropTypes from 'prop-types'; +import LinearGradient from 'react-native-linear-gradient'; + +import FontedText from '../common/FontedText'; + +function FieldGuideBtn({ onPress }) { + return ( + + + + FIELD GUIDE + + + ); +} + +const styles = StyleSheet.create({ + container: { + borderWidth: 0.5, + borderBottomWidth: 0, + borderColor: '#00979D', + borderTopRightRadius: 16, + borderTopLeftRadius: 16, + width: 128, + height: 40, + }, + gradient: { + width: '100%', + height: '100%', + borderTopRightRadius: 16, + borderTopLeftRadius: 16, + justifyContent: 'center', + alignItems: 'center', + flexDirection: 'row', + }, + text: { + fontWeight: '500', + fontSize: 12, + letterSpacing: 0.5, + color: '#005D69', + marginLeft: 4, + }, +}); + +FieldGuideBtn.propTypes = { + onPress: PropTypes.func, +}; + +export default FieldGuideBtn; diff --git a/src/components/classifier/FieldGuideItemDetail.js b/src/components/classifier/FieldGuideItemDetail.js index e2ec9871..8dabca12 100644 --- a/src/components/classifier/FieldGuideItemDetail.js +++ b/src/components/classifier/FieldGuideItemDetail.js @@ -8,9 +8,8 @@ import PropTypes from 'prop-types'; import StyledMarkdown from '../StyledMarkdown' import StyledText from '../StyledText' import SizedImage from '../SizedImage' -import Button from '../Button' -import * as colorModes from '../../displayOptions/colorModes' +import ButtonLarge from './ButtonLarge'; const ITEM_ICON_RADIUS = 50 @@ -28,19 +27,16 @@ const FieldGuideItemDetail = (props) => { } -