commit b0399b39c69c449190221125503dd0fafe750077 Author: CPM Date: Wed Jul 30 10:35:06 2025 +0530 store dna all done diff --git a/.bundle/config b/.bundle/config new file mode 100644 index 0000000..848943b --- /dev/null +++ b/.bundle/config @@ -0,0 +1,2 @@ +BUNDLE_PATH: "vendor/bundle" +BUNDLE_FORCE_RUBY_PLATFORM: 1 diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..187894b --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: '@react-native', +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..de99955 --- /dev/null +++ b/.gitignore @@ -0,0 +1,75 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +**/.xcode.env.local + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml +*.hprof +.cxx/ +*.keystore +!debug.keystore +.kotlin/ + +# node.js +# +node_modules/ +npm-debug.log +yarn-error.log + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/ + +**/fastlane/report.xml +**/fastlane/Preview.html +**/fastlane/screenshots +**/fastlane/test_output + +# Bundle artifact +*.jsbundle + +# Ruby / CocoaPods +**/Pods/ +/vendor/bundle/ + +# Temporary files created by Metro to check the health of the file watcher +.metro-health-check* + +# testing +/coverage + +# Yarn +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..06860c8 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,5 @@ +module.exports = { + arrowParens: 'avoid', + singleQuote: true, + trailingComma: 'all', +}; diff --git a/.watchmanconfig b/.watchmanconfig new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/.watchmanconfig @@ -0,0 +1 @@ +{} diff --git a/App.tsx b/App.tsx new file mode 100644 index 0000000..d091223 --- /dev/null +++ b/App.tsx @@ -0,0 +1,28 @@ +/** + * Sample React Native App + * https://github.com/facebook/react-native + * + * @format + */ + +import { NewAppScreen } from '@react-native/new-app-screen'; +import { StatusBar, StyleSheet, useColorScheme, View } from 'react-native'; + +function App() { + const isDarkMode = useColorScheme() === 'dark'; + + return ( + + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + }, +}); + +export default App; diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..6a4c5f1 --- /dev/null +++ b/Gemfile @@ -0,0 +1,16 @@ +source 'https://rubygems.org' + +# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version +ruby ">= 2.6.10" + +# Exclude problematic versions of cocoapods and activesupport that causes build failures. +gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1' +gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0' +gem 'xcodeproj', '< 1.26.0' +gem 'concurrent-ruby', '< 1.3.4' + +# Ruby 3.4.0 has removed some libraries from the standard library. +gem 'bigdecimal' +gem 'logger' +gem 'benchmark' +gem 'mutex_m' diff --git a/README.md b/README.md new file mode 100644 index 0000000..3e2c3f8 --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ +This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli). + +# Getting Started + +> **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding. + +## Step 1: Start Metro + +First, you will need to run **Metro**, the JavaScript build tool for React Native. + +To start the Metro dev server, run the following command from the root of your React Native project: + +```sh +# Using npm +npm start + +# OR using Yarn +yarn start +``` + +## Step 2: Build and run your app + +With Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app: + +### Android + +```sh +# Using npm +npm run android + +# OR using Yarn +yarn android +``` + +### iOS + +For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps). + +The first time you create a new project, run the Ruby bundler to install CocoaPods itself: + +```sh +bundle install +``` + +Then, and every time you update your native dependencies, run: + +```sh +bundle exec pod install +``` + +For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html). + +```sh +# Using npm +npm run ios + +# OR using Yarn +yarn ios +``` + +If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device. + +This is one way to run your app — you can also build it directly from Android Studio or Xcode. + +## Step 3: Modify your app + +Now that you have successfully run the app, let's make changes! + +Open `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh). + +When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload: + +- **Android**: Press the R key twice or select **"Reload"** from the **Dev Menu**, accessed via Ctrl + M (Windows/Linux) or Cmd ⌘ + M (macOS). +- **iOS**: Press R in iOS Simulator. + +## Congratulations! :tada: + +You've successfully run and modified your React Native App. :partying_face: + +### Now what? + +- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps). +- If you're curious to learn more about React Native, check out the [docs](https://reactnative.dev/docs/getting-started). + +# Troubleshooting + +If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page. + +# Learn More + +To learn more about React Native, take a look at the following resources: + +- [React Native Website](https://reactnative.dev) - learn more about React Native. +- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment. +- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**. +- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts. +- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native. diff --git a/__tests__/App.test.tsx b/__tests__/App.test.tsx new file mode 100644 index 0000000..e532f70 --- /dev/null +++ b/__tests__/App.test.tsx @@ -0,0 +1,13 @@ +/** + * @format + */ + +import React from 'react'; +import ReactTestRenderer from 'react-test-renderer'; +import App from '../App'; + +test('renders correctly', async () => { + await ReactTestRenderer.act(() => { + ReactTestRenderer.create(); + }); +}); diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..f287891 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,124 @@ +apply plugin: "com.android.application" +apply plugin: "org.jetbrains.kotlin.android" +apply plugin: "com.facebook.react" + +/** + * This is the configuration block to customize your React Native Android app. + * By default you don't need to apply any configuration, just uncomment the lines you need. + */ +react { + /* Folders */ + // The root of your project, i.e. where "package.json" lives. Default is '../..' + // root = file("../../") + // The folder where the react-native NPM package is. Default is ../../node_modules/react-native + // reactNativeDir = file("../../node_modules/react-native") + // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen + // codegenDir = file("../../node_modules/@react-native/codegen") + // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js + // cliFile = file("../../node_modules/react-native/cli.js") + + /* Variants */ + // The list of variants to that are debuggable. For those we're going to + // skip the bundling of the JS bundle and the assets. By default is just 'debug'. + // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. + // debuggableVariants = ["liteDebug", "prodDebug"] + + /* Bundling */ + // A list containing the node command and its flags. Default is just 'node'. + // nodeExecutableAndArgs = ["node"] + // + // The command to run when bundling. By default is 'bundle' + // bundleCommand = "ram-bundle" + // + // The path to the CLI configuration file. Default is empty. + // bundleConfig = file(../rn-cli.config.js) + // + // The name of the generated asset file containing your JS bundle + // bundleAssetName = "MyApplication.android.bundle" + // + // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' + // entryFile = file("../js/MyApplication.android.js") + // + // A list of extra flags to pass to the 'bundle' commands. + // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle + // extraPackagerArgs = [] + + /* Hermes Commands */ + // The hermes compiler command to run. By default it is 'hermesc' + // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" + // + // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" + // hermesFlags = ["-O", "-output-source-map"] + + /* Autolinking */ + autolinkLibrariesWithApp() +} + +/** + * Set this to true to Run Proguard on Release builds to minify the Java bytecode. + */ +def enableProguardInReleaseBuilds = false + +/** + * The preferred build flavor of JavaScriptCore (JSC) + * + * For example, to use the international variant, you can use: + * `def jscFlavor = io.github.react-native-community:jsc-android-intl:2026004.+` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'io.github.react-native-community:jsc-android:2026004.+' + +android { + ndkVersion rootProject.ext.ndkVersion + buildToolsVersion rootProject.ext.buildToolsVersion + compileSdk rootProject.ext.compileSdkVersion + + namespace "com.performicsstoredna" + defaultConfig { + applicationId "com.performicsstoredna" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0" + } + signingConfigs { + debug { + storeFile file('debug.keystore') + storePassword 'android' + keyAlias 'androiddebugkey' + keyPassword 'android' + } + } + buildTypes { + debug { + signingConfig signingConfigs.debug + } + release { + // Caution! In production, you need to generate your own keystore file. + // see https://reactnative.dev/docs/signed-apk-android. + signingConfig signingConfigs.debug + minifyEnabled enableProguardInReleaseBuilds + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + } + } +} + +dependencies { + // The version of react-native is set by the React Native Gradle Plugin + implementation("com.facebook.react:react-android") + implementation project(':react-native-vector-icons') + implementation project(':react-native-fs') + + if (hermesEnabled.toBoolean()) { + implementation("com.facebook.react:hermes-android") + } else { + implementation jscFlavor + } +} + +apply from: file("../../node_modules/react-native-vector-icons/fonts.gradle") + diff --git a/android/app/debug.keystore b/android/app/debug.keystore new file mode 100644 index 0000000..364e105 Binary files /dev/null and b/android/app/debug.keystore differ diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..11b0257 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,10 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..eb98c01 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..29dc991 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/assets/white.png b/android/app/src/main/assets/white.png new file mode 100644 index 0000000..4ee1ff3 Binary files /dev/null and b/android/app/src/main/assets/white.png differ diff --git a/android/app/src/main/java/com/performicsstoredna/MainActivity.kt b/android/app/src/main/java/com/performicsstoredna/MainActivity.kt new file mode 100644 index 0000000..67639d3 --- /dev/null +++ b/android/app/src/main/java/com/performicsstoredna/MainActivity.kt @@ -0,0 +1,22 @@ +package com.performicsstoredna + +import com.facebook.react.ReactActivity +import com.facebook.react.ReactActivityDelegate +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled +import com.facebook.react.defaults.DefaultReactActivityDelegate + +class MainActivity : ReactActivity() { + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + override fun getMainComponentName(): String = "PerformicsStoreDNA" + + /** + * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] + * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] + */ + override fun createReactActivityDelegate(): ReactActivityDelegate = + DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) +} diff --git a/android/app/src/main/java/com/performicsstoredna/MainApplication.kt b/android/app/src/main/java/com/performicsstoredna/MainApplication.kt new file mode 100644 index 0000000..e06d112 --- /dev/null +++ b/android/app/src/main/java/com/performicsstoredna/MainApplication.kt @@ -0,0 +1,38 @@ +package com.performicsstoredna + +import android.app.Application +import com.facebook.react.PackageList +import com.facebook.react.ReactApplication +import com.facebook.react.ReactHost +import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative +import com.facebook.react.ReactNativeHost +import com.facebook.react.ReactPackage +import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost +import com.facebook.react.defaults.DefaultReactNativeHost + +class MainApplication : Application(), ReactApplication { + + override val reactNativeHost: ReactNativeHost = + object : DefaultReactNativeHost(this) { + override fun getPackages(): List = + PackageList(this).packages.apply { + // Packages that cannot be autolinked yet can be added manually here, for example: + // add(MyReactNativePackage()) + } + + override fun getJSMainModuleName(): String = "index" + + override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG + + override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED + override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED + } + + override val reactHost: ReactHost + get() = getDefaultReactHost(applicationContext, reactNativeHost) + + override fun onCreate() { + super.onCreate() + loadReactNative(this) + } +} diff --git a/android/app/src/main/res/drawable/rn_edit_text_material.xml b/android/app/src/main/res/drawable/rn_edit_text_material.xml new file mode 100644 index 0000000..5c25e72 --- /dev/null +++ b/android/app/src/main/res/drawable/rn_edit_text_material.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..f3d8acd Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..f3d8acd Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..9f542f9 Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..9f542f9 Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..e494777 Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..e494777 Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..941acbc Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..941acbc Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..182518e Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..182518e Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..78c489e --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + Performics Store DNA + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..7ba83a2 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/android/app/storeDNA b/android/app/storeDNA new file mode 100644 index 0000000..19872cb Binary files /dev/null and b/android/app/storeDNA differ diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..b4f3ad9 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,21 @@ +buildscript { + ext { + buildToolsVersion = "35.0.0" + minSdkVersion = 24 + compileSdkVersion = 35 + targetSdkVersion = 35 + ndkVersion = "27.1.12297006" + kotlinVersion = "2.1.20" + } + repositories { + google() + mavenCentral() + } + dependencies { + classpath("com.android.tools.build:gradle") + classpath("com.facebook.react:react-native-gradle-plugin") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") + } +} + +apply plugin: "com.facebook.react.rootproject" diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..9fb1566 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,39 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..1b33c55 Binary files /dev/null and b/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..002b867 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/android/gradlew b/android/gradlew new file mode 100755 index 0000000..23d15a9 --- /dev/null +++ b/android/gradlew @@ -0,0 +1,251 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100755 index 0000000..11bf182 --- /dev/null +++ b/android/gradlew.bat @@ -0,0 +1,99 @@ +@REM Copyright (c) Meta Platforms, Inc. and affiliates. +@REM +@REM This source code is licensed under the MIT license found in the +@REM LICENSE file in the root directory of this source tree. + +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..69cb564 --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,9 @@ +pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") } +plugins { id("com.facebook.react.settings") } +extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() } +rootProject.name = 'PerformicsStoreDNA' +include ':app' +includeBuild('../node_modules/@react-native/gradle-plugin') +include ':react-native-fs' +project(':react-native-fs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fs/android') + diff --git a/app.json b/app.json new file mode 100644 index 0000000..eefa1f6 --- /dev/null +++ b/app.json @@ -0,0 +1,4 @@ +{ + "name": "PerformicsStoreDNA", + "displayName": "PerformicsStoreDNA" +} diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..4919daf --- /dev/null +++ b/babel.config.js @@ -0,0 +1,7 @@ +module.exports = { + presets: ['module:@react-native/babel-preset'], + plugins: [ + // other plugins here... + 'react-native-reanimated/plugin', // 👈 must be last + ], +}; diff --git a/extraCode b/extraCode new file mode 100644 index 0000000..17f3062 --- /dev/null +++ b/extraCode @@ -0,0 +1,275 @@ + + // const getTabData = async (tabData) => { + // try { + // const params = { + // parameters: { + // projectid: 41654, + // year: 2025, + // monthno: 6, + // storeid: storeData?.StoreId + // } + // }; + + // const graphDetails = tabData?.graphDetails || []; + + // const uniqueUrls = [...new Set(graphDetails.map(graph => graph.GraphUrl))]; + // // console.log('🔄 Unique URLs:', uniqueUrls); + + // const apiCalls = uniqueUrls.map(url => post(url, params)); + // const results = await Promise.all(apiCalls); + + // const dataMap = {}; + // uniqueUrls.forEach((url, idx) => { + // dataMap[url] = results[idx]; + // }); + + // setGraphApiData(dataMap); + // } catch (err) { + // console.log("❌ Error fetching tab data:", err); + // } + // }; + + // Handle scroll event to show/hide button + + + + +// const getTabData = async () => { + +// try { +// const params = { +// parameters: { +// projectid: 41654, +// year: 2025, +// monthno: 6, +// storeid: 2702 +// } +// }; + +// // Extract all unique GraphUrls +// const uniqueUrls = [...new Set(graphDetails.map(graph => graph.GraphUrl))]; + +// console.log('uniqueUrls---->', uniqueUrls); + +// // Call all APIs in parallel +// const apiCalls = uniqueUrls.map(url => post(url, params)); + +// const results = await Promise.all(apiCalls); + +// // Optional: Map result to url if needed +// const dataMap = {}; +// uniqueUrls.forEach((url, idx) => { +// dataMap[url] = results[idx]; +// }); +// setGraphApiData(dataMap); + +// console.log("✅ All API responses:", JSON.stringify(dataMap)); + +// // You can now store `dataMap` into a state if needed +// // setGraphApiData(dataMap); + +// } catch (err) { +// console.log("❌ Error fetching tab data:", err); +// } + + +// }; + + + // const getTabData = () => { + // let params = { + // "parameters": { + // "projectid": 41654, + // "year": 2025, + // "monthno": 6, + // "storeid": 2702 + // } + // } + // post(ApiURL.pssscoreApi, params) + // .then(res => { + // console.log('psscoreApi res==>', res); + + // }) + // } + + // const renderItem = ({ item }) => { + + // switch (item.GraphType) { + // case "ScoreCard": + // return ( + // + // {item.GraphTitle} + // {"45%"} + // + // ); + + // case "BarGraph": + // const barData = { + // labels: ["Jan", "Feb", "Mar", "Apr"], + // datasets: [{ data: [35, 45, 20, 55] }] + // }; + // return ( + // + // + // SOS Compliance Trend + // + // + // + // ); + + // case "Table": + // return ( + // + // + // + // + // {'Asset'} + // + + // + // {'Asset Details'} + // + + // + + // {assetData && assetData.map((table, index) => ( + // + // {table.section} + + // + // + // Display + // Present + // + // { + // table && table.data.map((item) => ( + // + // {item.display} + // {item?.present} + // + // ))} + // + // + + // ))} + // + // + // + // ) + + // case "LineChart": + // return ( + // + // Bezier Line Chart + // `rgba(255, 255, 255, ${opacity})`, + // labelColor: (opacity = 1) => `rgba(255, 255, 255, ${opacity})`, + // style: { + // borderRadius: 16 + // }, + // propsForDots: { + // r: "6", + // strokeWidth: "2", + // stroke: "#ffa726" + // } + // }} + // bezier + // style={{ + // marginVertical: 8, + // borderRadius: 16 + // }} + // /> + // + // ) + // case "PieChart": + // return ( + // + // + // + // ) + + // default: + // return ( + // + // + // Unsupported Graph Type: {item.GraphType} + // + // + // ); + // } + // }; + + // const getFilterStateCity = () => { + + // let data = JSON.stringify({ + // "UserId": "RH5" + // }); + + // let config = { + // method: 'post', + // maxBodyLength: Infinity, + // url: 'https://api1.parinaam.in/api/dabur/StoreDNAfilter', + // headers: { + // 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + // 'Content-Type': 'application/json' + // }, + // data: data + // }; + + // axios.request(config) + // .then((response) => { + // console.log("filter", JSON.stringify(response.data)); + + + // }) + // .catch((error) => { + // console.log(error); + // }); + + // } \ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..02a0490 --- /dev/null +++ b/index.js @@ -0,0 +1,10 @@ +/** + * @format + */ + +import { AppRegistry } from 'react-native'; + +import { name as appName } from './app.json'; +import App from './src/App'; + +AppRegistry.registerComponent(appName, () => App); diff --git a/ios/.xcode.env b/ios/.xcode.env new file mode 100644 index 0000000..3d5782c --- /dev/null +++ b/ios/.xcode.env @@ -0,0 +1,11 @@ +# This `.xcode.env` file is versioned and is used to source the environment +# used when running script phases inside Xcode. +# To customize your local environment, you can create an `.xcode.env.local` +# file that is not versioned. + +# NODE_BINARY variable contains the PATH to the node executable. +# +# Customize the NODE_BINARY variable here. +# For example, to use nvm with brew, add the following line +# . "$(brew --prefix nvm)/nvm.sh" --no-use +export NODE_BINARY=$(command -v node) diff --git a/ios/PerformicsStoreDNA.xcodeproj/project.pbxproj b/ios/PerformicsStoreDNA.xcodeproj/project.pbxproj new file mode 100644 index 0000000..4f83986 --- /dev/null +++ b/ios/PerformicsStoreDNA.xcodeproj/project.pbxproj @@ -0,0 +1,492 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 0C80B921A6F3F58F76C31292 /* libPods-PerformicsStoreDNA.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-PerformicsStoreDNA.a */; }; + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; }; + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; + D36C74772E212F7200955E13 /* white.png in Resources */ = {isa = PBXBuildFile; fileRef = D36C74762E212F7200955E13 /* white.png */; }; + DB45BE4A6E0F03A0CC859A6F /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 13B07F961A680F5B00A75B9A /* PerformicsStoreDNA.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PerformicsStoreDNA.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = PerformicsStoreDNA/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = PerformicsStoreDNA/Info.plist; sourceTree = ""; }; + 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = PerformicsStoreDNA/PrivacyInfo.xcprivacy; sourceTree = ""; }; + 3B4392A12AC88292D35C810B /* Pods-PerformicsStoreDNA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PerformicsStoreDNA.debug.xcconfig"; path = "Target Support Files/Pods-PerformicsStoreDNA/Pods-PerformicsStoreDNA.debug.xcconfig"; sourceTree = ""; }; + 5709B34CF0A7D63546082F79 /* Pods-PerformicsStoreDNA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PerformicsStoreDNA.release.xcconfig"; path = "Target Support Files/Pods-PerformicsStoreDNA/Pods-PerformicsStoreDNA.release.xcconfig"; sourceTree = ""; }; + 5DCACB8F33CDC322A6C60F78 /* libPods-PerformicsStoreDNA.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PerformicsStoreDNA.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = PerformicsStoreDNA/AppDelegate.swift; sourceTree = ""; }; + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = PerformicsStoreDNA/LaunchScreen.storyboard; sourceTree = ""; }; + D36C74762E212F7200955E13 /* white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = white.png; sourceTree = ""; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0C80B921A6F3F58F76C31292 /* libPods-PerformicsStoreDNA.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 13B07FAE1A68108700A75B9A /* PerformicsStoreDNA */ = { + isa = PBXGroup; + children = ( + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 761780EC2CA45674006654EE /* AppDelegate.swift */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, + 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */, + ); + name = PerformicsStoreDNA; + sourceTree = ""; + }; + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + 5DCACB8F33CDC322A6C60F78 /* libPods-PerformicsStoreDNA.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + D36C74762E212F7200955E13 /* white.png */, + 13B07FAE1A68108700A75B9A /* PerformicsStoreDNA */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 83CBBA001A601CBA00E9B192 /* Products */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + BBD78D7AC51CEA395F1C20DB /* Pods */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* PerformicsStoreDNA.app */, + ); + name = Products; + sourceTree = ""; + }; + BBD78D7AC51CEA395F1C20DB /* Pods */ = { + isa = PBXGroup; + children = ( + 3B4392A12AC88292D35C810B /* Pods-PerformicsStoreDNA.debug.xcconfig */, + 5709B34CF0A7D63546082F79 /* Pods-PerformicsStoreDNA.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 13B07F861A680F5B00A75B9A /* PerformicsStoreDNA */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "PerformicsStoreDNA" */; + buildPhases = ( + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = PerformicsStoreDNA; + productName = PerformicsStoreDNA; + productReference = 13B07F961A680F5B00A75B9A /* PerformicsStoreDNA.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1210; + TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1120; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "PerformicsStoreDNA" */; + compatibilityVersion = "Xcode 12.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* PerformicsStoreDNA */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, + D36C74772E212F7200955E13 /* white.png in Resources */, + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + DB45BE4A6E0F03A0CC859A6F /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/.xcode.env.local", + "$(SRCROOT)/.xcode.env", + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; + }; + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-PerformicsStoreDNA/Pods-PerformicsStoreDNA-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-PerformicsStoreDNA/Pods-PerformicsStoreDNA-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-PerformicsStoreDNA/Pods-PerformicsStoreDNA-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-PerformicsStoreDNA-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-PerformicsStoreDNA/Pods-PerformicsStoreDNA-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-PerformicsStoreDNA/Pods-PerformicsStoreDNA-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-PerformicsStoreDNA/Pods-PerformicsStoreDNA-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-PerformicsStoreDNA.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = JGDHGNH9XY; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = PerformicsStoreDNA/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.performicsstoredna; + PRODUCT_NAME = PerformicsStoreDNA; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-PerformicsStoreDNA.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = JGDHGNH9XY; + INFOPLIST_FILE = PerformicsStoreDNA/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.performicsstoredna; + PRODUCT_NAME = PerformicsStoreDNA; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.1; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = ( + "\"$(SDKROOT)/usr/lib/swift\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + "-DFOLLY_CFG_NO_COROUTINES=1", + "-DFOLLY_HAVE_CLOCK_GETTIME=1", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; + USE_HERMES = true; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.1; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = ( + "\"$(SDKROOT)/usr/lib/swift\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + "-DFOLLY_CFG_NO_COROUTINES=1", + "-DFOLLY_HAVE_CLOCK_GETTIME=1", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + SDKROOT = iphoneos; + USE_HERMES = true; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "PerformicsStoreDNA" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "PerformicsStoreDNA" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/ios/PerformicsStoreDNA.xcodeproj/xcshareddata/xcschemes/PerformicsStoreDNA.xcscheme b/ios/PerformicsStoreDNA.xcodeproj/xcshareddata/xcschemes/PerformicsStoreDNA.xcscheme new file mode 100644 index 0000000..50c5130 --- /dev/null +++ b/ios/PerformicsStoreDNA.xcodeproj/xcshareddata/xcschemes/PerformicsStoreDNA.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/PerformicsStoreDNA.xcworkspace/contents.xcworkspacedata b/ios/PerformicsStoreDNA.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..674816e --- /dev/null +++ b/ios/PerformicsStoreDNA.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ios/PerformicsStoreDNA.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/PerformicsStoreDNA.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/ios/PerformicsStoreDNA.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,5 @@ + + + + + diff --git a/ios/PerformicsStoreDNA/AppDelegate.swift b/ios/PerformicsStoreDNA/AppDelegate.swift new file mode 100644 index 0000000..06ceaa9 --- /dev/null +++ b/ios/PerformicsStoreDNA/AppDelegate.swift @@ -0,0 +1,48 @@ +import UIKit +import React +import React_RCTAppDelegate +import ReactAppDependencyProvider + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + var window: UIWindow? + + var reactNativeDelegate: ReactNativeDelegate? + var reactNativeFactory: RCTReactNativeFactory? + + func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil + ) -> Bool { + let delegate = ReactNativeDelegate() + let factory = RCTReactNativeFactory(delegate: delegate) + delegate.dependencyProvider = RCTAppDependencyProvider() + + reactNativeDelegate = delegate + reactNativeFactory = factory + + window = UIWindow(frame: UIScreen.main.bounds) + + factory.startReactNative( + withModuleName: "PerformicsStoreDNA", + in: window, + launchOptions: launchOptions + ) + + return true + } +} + +class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate { + override func sourceURL(for bridge: RCTBridge) -> URL? { + self.bundleURL() + } + + override func bundleURL() -> URL? { +#if DEBUG + RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index") +#else + Bundle.main.url(forResource: "main", withExtension: "jsbundle") +#endif + } +} diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/1024.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 0000000..90f36f5 Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/1024.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/120 1.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/120 1.png new file mode 100644 index 0000000..a41bfa9 Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/120 1.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/120.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000..a41bfa9 Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/120.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/180.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000..ed9cc65 Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/180.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/40.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 0000000..25baefd Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/40.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/58.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000..746c8c9 Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/58.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/60.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 0000000..87e6a4c Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/60.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/80.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/80.png new file mode 100644 index 0000000..1aa745c Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/80.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/87.png b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/87.png new file mode 100644 index 0000000..8b53251 Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/87.png differ diff --git a/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..ad54b31 --- /dev/null +++ b/ios/PerformicsStoreDNA/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,62 @@ +{ + "images" : [ + { + "filename" : "40.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "60.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "58.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "87.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "80.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "120.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "120 1.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "180.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/PerformicsStoreDNA/Images.xcassets/Contents.json b/ios/PerformicsStoreDNA/Images.xcassets/Contents.json new file mode 100644 index 0000000..2d92bd5 --- /dev/null +++ b/ios/PerformicsStoreDNA/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/PerformicsStoreDNA/Images.xcassets/white.png b/ios/PerformicsStoreDNA/Images.xcassets/white.png new file mode 100644 index 0000000..4ee1ff3 Binary files /dev/null and b/ios/PerformicsStoreDNA/Images.xcassets/white.png differ diff --git a/ios/PerformicsStoreDNA/Info.plist b/ios/PerformicsStoreDNA/Info.plist new file mode 100644 index 0000000..698ecf8 --- /dev/null +++ b/ios/PerformicsStoreDNA/Info.plist @@ -0,0 +1,78 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + PerformicsStoreDNA + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSAllowsLocalNetworking + + + NSLocationWhenInUseUsageDescription + This app uses your location to enhance reporting and store-related services. + NSLocationAlwaysAndWhenInUseUsageDescription + We need access to your location for [your reason, e.g., providing location-based services]. + RCTNewArchEnabled + + UILaunchStoryboardName + LaunchScreen + NSCameraUsageDescription + We need access to your camera to take photos. + NSMicrophoneUsageDescription + We need access to your microphone for video recording. + UIAppFonts + + AntDesign.ttf + Entypo.ttf + EvilIcons.ttf + Feather.ttf + FontAwesome.ttf + FontAwesome5_Brands.ttf + FontAwesome5_Regular.ttf + FontAwesome5_Solid.ttf + Fontisto.ttf + Foundation.ttf + Ionicons.ttf + MaterialIcons.ttf + MaterialCommunityIcons.ttf + SimpleLineIcons.ttf + Octicons.ttf + Zocial.ttf + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/ios/PerformicsStoreDNA/LaunchScreen.storyboard b/ios/PerformicsStoreDNA/LaunchScreen.storyboard new file mode 100644 index 0000000..8357b6e --- /dev/null +++ b/ios/PerformicsStoreDNA/LaunchScreen.storyboard @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/PerformicsStoreDNA/PrivacyInfo.xcprivacy b/ios/PerformicsStoreDNA/PrivacyInfo.xcprivacy new file mode 100644 index 0000000..41b8317 --- /dev/null +++ b/ios/PerformicsStoreDNA/PrivacyInfo.xcprivacy @@ -0,0 +1,37 @@ + + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyCollectedDataTypes + + NSPrivacyTracking + + + diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 0000000..baa1cb7 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,35 @@ +# Resolve react_native_pods.rb with node to allow for hoisting +require Pod::Executable.execute_command('node', ['-p', + 'require.resolve( + "react-native/scripts/react_native_pods.rb", + {paths: [process.argv[1]]}, + )', __dir__]).strip + +platform :ios, min_ios_version_supported +prepare_react_native_project! + +linkage = ENV['USE_FRAMEWORKS'] +if linkage != nil + Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green + use_frameworks! :linkage => linkage.to_sym +end + +target 'PerformicsStoreDNA' do + config = use_native_modules! + + use_react_native!( + :path => config[:reactNativePath], + # An absolute path to your application root. + :app_path => "#{Pod::Config.instance.installation_root}/.." + ) + + post_install do |installer| + # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 + react_native_post_install( + installer, + config[:reactNativePath], + :mac_catalyst_enabled => false, + # :ccache_enabled => true + ) + end +end diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 0000000..6a5978f --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,3111 @@ +PODS: + - boost (1.84.0) + - BVLinearGradient (2.8.3): + - React-Core + - DoubleConversion (1.1.6) + - fast_float (8.0.0) + - FBLazyVector (0.80.0) + - fmt (11.0.2) + - glog (0.3.5) + - hermes-engine (0.80.0): + - hermes-engine/Pre-built (= 0.80.0) + - hermes-engine/Pre-built (0.80.0) + - LoaderKit (3.0.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - NVActivityIndicatorView-ObjC + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - NVActivityIndicatorView-ObjC (1.0.1) + - RCT-Folly (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 8.0.0) + - fmt (= 11.0.2) + - glog + - RCT-Folly/Default (= 2024.11.18.00) + - RCT-Folly/Default (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 8.0.0) + - fmt (= 11.0.2) + - glog + - RCT-Folly/Fabric (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 8.0.0) + - fmt (= 11.0.2) + - glog + - RCTDeprecation (0.80.0) + - RCTRequired (0.80.0) + - RCTTypeSafety (0.80.0): + - FBLazyVector (= 0.80.0) + - RCTRequired (= 0.80.0) + - React-Core (= 0.80.0) + - React (0.80.0): + - React-Core (= 0.80.0) + - React-Core/DevSupport (= 0.80.0) + - React-Core/RCTWebSocket (= 0.80.0) + - React-RCTActionSheet (= 0.80.0) + - React-RCTAnimation (= 0.80.0) + - React-RCTBlob (= 0.80.0) + - React-RCTImage (= 0.80.0) + - React-RCTLinking (= 0.80.0) + - React-RCTNetwork (= 0.80.0) + - React-RCTSettings (= 0.80.0) + - React-RCTText (= 0.80.0) + - React-RCTVibration (= 0.80.0) + - React-callinvoker (0.80.0) + - React-Codegen (0.1.0) + - React-Core (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default (= 0.80.0) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/CoreModulesHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/Default (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/DevSupport (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default (= 0.80.0) + - React-Core/RCTWebSocket (= 0.80.0) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTActionSheetHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTAnimationHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTBlobHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTImageHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTLinkingHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTNetworkHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTSettingsHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTTextHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTVibrationHeaders (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-Core/RCTWebSocket (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTDeprecation + - React-Core/Default (= 0.80.0) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsinspectorcdp + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-CoreModules (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety (= 0.80.0) + - React-Core/CoreModulesHeaders (= 0.80.0) + - React-jsi (= 0.80.0) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-NativeModulesApple + - React-RCTBlob + - React-RCTFBReactNativeSpec + - React-RCTImage (= 0.80.0) + - ReactCommon + - SocketRocket + - React-cxxreact (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.0) + - React-debug (= 0.80.0) + - React-jsi (= 0.80.0) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-logger (= 0.80.0) + - React-perflogger (= 0.80.0) + - React-runtimeexecutor (= 0.80.0) + - React-timing (= 0.80.0) + - SocketRocket + - React-debug (0.80.0) + - React-defaultsnativemodule (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-domnativemodule + - React-featureflagsnativemodule + - React-hermes + - React-idlecallbacksnativemodule + - React-jsi + - React-jsiexecutor + - React-microtasksnativemodule + - React-RCTFBReactNativeSpec + - SocketRocket + - React-domnativemodule (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Fabric + - React-FabricComponents + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-Fabric (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/animations (= 0.80.0) + - React-Fabric/attributedstring (= 0.80.0) + - React-Fabric/componentregistry (= 0.80.0) + - React-Fabric/componentregistrynative (= 0.80.0) + - React-Fabric/components (= 0.80.0) + - React-Fabric/consistency (= 0.80.0) + - React-Fabric/core (= 0.80.0) + - React-Fabric/dom (= 0.80.0) + - React-Fabric/imagemanager (= 0.80.0) + - React-Fabric/leakchecker (= 0.80.0) + - React-Fabric/mounting (= 0.80.0) + - React-Fabric/observers (= 0.80.0) + - React-Fabric/scheduler (= 0.80.0) + - React-Fabric/telemetry (= 0.80.0) + - React-Fabric/templateprocessor (= 0.80.0) + - React-Fabric/uimanager (= 0.80.0) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/animations (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/attributedstring (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/componentregistry (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/componentregistrynative (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/components/legacyviewmanagerinterop (= 0.80.0) + - React-Fabric/components/root (= 0.80.0) + - React-Fabric/components/scrollview (= 0.80.0) + - React-Fabric/components/view (= 0.80.0) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components/legacyviewmanagerinterop (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components/root (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components/scrollview (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/components/view (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-renderercss + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-Fabric/consistency (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/core (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/dom (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/imagemanager (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/leakchecker (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/mounting (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/observers (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/observers/events (= 0.80.0) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/observers/events (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/scheduler (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/observers/events + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-performancetimeline + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/telemetry (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/templateprocessor (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/uimanager (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/uimanager/consistency (= 0.80.0) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-Fabric/uimanager/consistency (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - React-FabricComponents (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components (= 0.80.0) + - React-FabricComponents/textlayoutmanager (= 0.80.0) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components/inputaccessory (= 0.80.0) + - React-FabricComponents/components/iostextinput (= 0.80.0) + - React-FabricComponents/components/modal (= 0.80.0) + - React-FabricComponents/components/rncore (= 0.80.0) + - React-FabricComponents/components/safeareaview (= 0.80.0) + - React-FabricComponents/components/scrollview (= 0.80.0) + - React-FabricComponents/components/text (= 0.80.0) + - React-FabricComponents/components/textinput (= 0.80.0) + - React-FabricComponents/components/unimplementedview (= 0.80.0) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/inputaccessory (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/iostextinput (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/modal (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/rncore (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/safeareaview (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/scrollview (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/text (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/textinput (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/components/unimplementedview (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricComponents/textlayoutmanager (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - React-FabricImage (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired (= 0.80.0) + - RCTTypeSafety (= 0.80.0) + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-jsiexecutor (= 0.80.0) + - React-logger + - React-rendererdebug + - React-utils + - ReactCommon + - SocketRocket + - Yoga + - React-featureflags (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-featureflagsnativemodule (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - SocketRocket + - React-graphics (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-hermes + - React-jsi + - React-jsiexecutor + - React-utils + - SocketRocket + - React-hermes (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.0) + - React-jsi + - React-jsiexecutor (= 0.80.0) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-perflogger (= 0.80.0) + - React-runtimeexecutor + - SocketRocket + - React-idlecallbacksnativemodule (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - React-runtimescheduler + - ReactCommon/turbomodule/core + - SocketRocket + - React-ImageManager (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-Core/Default + - React-debug + - React-Fabric + - React-graphics + - React-rendererdebug + - React-utils + - SocketRocket + - React-jserrorhandler (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact + - React-debug + - React-featureflags + - React-jsi + - ReactCommon/turbomodule/bridging + - SocketRocket + - React-jsi (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-jsiexecutor (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.0) + - React-jsi (= 0.80.0) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-perflogger (= 0.80.0) + - SocketRocket + - React-jsinspector (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-jsi + - React-jsinspectorcdp + - React-jsinspectornetwork + - React-jsinspectortracing + - React-perflogger (= 0.80.0) + - React-runtimeexecutor (= 0.80.0) + - SocketRocket + - React-jsinspectorcdp (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-jsinspectornetwork (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-jsinspectorcdp + - SocketRocket + - React-jsinspectortracing (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-oscompat + - SocketRocket + - React-jsitooling (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact (= 0.80.0) + - React-jsi (= 0.80.0) + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - SocketRocket + - React-jsitracing (0.80.0): + - React-jsi + - React-logger (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-Mapbuffer (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-debug + - SocketRocket + - React-microtasksnativemodule (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - SocketRocket + - react-native-geolocation (3.4.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - react-native-image-resizer (3.0.11): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - react-native-photo-manipulator (1.9.2): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - WCPhotoManipulator (~> 2.6.0) + - Yoga + - react-native-safe-area-context (5.5.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - react-native-safe-area-context/common (= 5.5.1) + - react-native-safe-area-context/fabric (= 5.5.1) + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - react-native-safe-area-context/common (5.5.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - react-native-safe-area-context/fabric (5.5.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - react-native-safe-area-context/common + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - react-native-sqlite-storage (6.0.1): + - React-Core + - React-NativeModulesApple (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker + - React-Core + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-runtimeexecutor + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - React-oscompat (0.80.0) + - React-perflogger (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - SocketRocket + - React-performancetimeline (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-jsinspectortracing + - React-perflogger + - React-timing + - SocketRocket + - React-RCTActionSheet (0.80.0): + - React-Core/RCTActionSheetHeaders (= 0.80.0) + - React-RCTAnimation (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety + - React-Core/RCTAnimationHeaders + - React-featureflags + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - SocketRocket + - React-RCTAppDelegate (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-CoreModules + - React-debug + - React-defaultsnativemodule + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsitooling + - React-NativeModulesApple + - React-RCTFabric + - React-RCTFBReactNativeSpec + - React-RCTImage + - React-RCTNetwork + - React-RCTRuntime + - React-rendererdebug + - React-RuntimeApple + - React-RuntimeCore + - React-runtimescheduler + - React-utils + - ReactCommon + - SocketRocket + - React-RCTBlob (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Core/RCTBlobHeaders + - React-Core/RCTWebSocket + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - React-RCTNetwork + - ReactCommon + - SocketRocket + - React-RCTFabric (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Core + - React-debug + - React-Fabric + - React-FabricComponents + - React-FabricImage + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectornetwork + - React-jsinspectortracing + - React-performancetimeline + - React-RCTAnimation + - React-RCTImage + - React-RCTText + - React-rendererconsistency + - React-renderercss + - React-rendererdebug + - React-runtimescheduler + - React-utils + - SocketRocket + - Yoga + - React-RCTFBReactNativeSpec (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-hermes + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - ReactCommon + - SocketRocket + - React-RCTImage (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety + - React-Core/RCTImageHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - React-RCTNetwork + - ReactCommon + - SocketRocket + - React-RCTLinking (0.80.0): + - React-Core/RCTLinkingHeaders (= 0.80.0) + - React-jsi (= 0.80.0) + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - ReactCommon/turbomodule/core (= 0.80.0) + - React-RCTNetwork (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety + - React-Core/RCTNetworkHeaders + - React-featureflags + - React-jsi + - React-jsinspectorcdp + - React-jsinspectornetwork + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - SocketRocket + - React-RCTRuntime (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-Core + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-jsitooling + - React-RuntimeApple + - React-RuntimeCore + - React-RuntimeHermes + - SocketRocket + - React-RCTSettings (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - RCTTypeSafety + - React-Core/RCTSettingsHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - SocketRocket + - React-RCTText (0.80.0): + - React-Core/RCTTextHeaders (= 0.80.0) + - Yoga + - React-RCTVibration (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-Core/RCTVibrationHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - SocketRocket + - React-rendererconsistency (0.80.0) + - React-renderercss (0.80.0): + - React-debug + - React-utils + - React-rendererdebug (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - React-debug + - SocketRocket + - React-rncore (0.80.0) + - React-RuntimeApple (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker + - React-Core/Default + - React-CoreModules + - React-cxxreact + - React-featureflags + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-Mapbuffer + - React-NativeModulesApple + - React-RCTFabric + - React-RCTFBReactNativeSpec + - React-RuntimeCore + - React-runtimeexecutor + - React-RuntimeHermes + - React-runtimescheduler + - React-utils + - SocketRocket + - React-RuntimeCore (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-cxxreact + - React-Fabric + - React-featureflags + - React-hermes + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-performancetimeline + - React-runtimeexecutor + - React-runtimescheduler + - React-utils + - SocketRocket + - React-runtimeexecutor (0.80.0): + - React-jsi (= 0.80.0) + - React-RuntimeHermes (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectorcdp + - React-jsinspectortracing + - React-jsitooling + - React-jsitracing + - React-RuntimeCore + - React-utils + - SocketRocket + - React-runtimescheduler (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker + - React-cxxreact + - React-debug + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspectortracing + - React-performancetimeline + - React-rendererconsistency + - React-rendererdebug + - React-runtimeexecutor + - React-timing + - React-utils + - SocketRocket + - React-timing (0.80.0) + - React-utils (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-debug + - React-hermes + - React-jsi (= 0.80.0) + - SocketRocket + - ReactAppDependencyProvider (0.80.0): + - ReactCodegen + - ReactCodegen (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-RCTAppDelegate + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - ReactCommon (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - RCT-Folly + - RCT-Folly/Fabric + - ReactCommon/turbomodule (= 0.80.0) + - SocketRocket + - ReactCommon/turbomodule (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.0) + - React-cxxreact (= 0.80.0) + - React-jsi (= 0.80.0) + - React-logger (= 0.80.0) + - React-perflogger (= 0.80.0) + - ReactCommon/turbomodule/bridging (= 0.80.0) + - ReactCommon/turbomodule/core (= 0.80.0) + - SocketRocket + - ReactCommon/turbomodule/bridging (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.0) + - React-cxxreact (= 0.80.0) + - React-jsi (= 0.80.0) + - React-logger (= 0.80.0) + - React-perflogger (= 0.80.0) + - SocketRocket + - ReactCommon/turbomodule/core (0.80.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - React-callinvoker (= 0.80.0) + - React-cxxreact (= 0.80.0) + - React-debug (= 0.80.0) + - React-featureflags (= 0.80.0) + - React-jsi (= 0.80.0) + - React-logger (= 0.80.0) + - React-perflogger (= 0.80.0) + - React-utils (= 0.80.0) + - SocketRocket + - RNCAsyncStorage (2.2.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - RNFS (2.20.0): + - React-Core + - RNGestureHandler (2.27.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - RNPermissions (5.4.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - RNReanimated (3.18.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/reanimated (= 3.18.0) + - RNReanimated/worklets (= 3.18.0) + - SocketRocket + - Yoga + - RNReanimated/reanimated (3.18.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/reanimated/apple (= 3.18.0) + - SocketRocket + - Yoga + - RNReanimated/reanimated/apple (3.18.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - RNReanimated/worklets (3.18.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/worklets/apple (= 3.18.0) + - SocketRocket + - Yoga + - RNReanimated/worklets/apple (3.18.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - RNScreens (4.11.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-RCTImage + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNScreens/common (= 4.11.1) + - SocketRocket + - Yoga + - RNScreens/common (4.11.1): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-RCTImage + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - RNSVG (15.12.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNSVG/common (= 15.12.0) + - SocketRocket + - Yoga + - RNSVG/common (15.12.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - RNVectorIcons (10.2.0): + - boost + - DoubleConversion + - fast_float + - fmt + - glog + - hermes-engine + - RCT-Folly + - RCT-Folly/Fabric + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - SocketRocket + - Yoga + - SocketRocket (0.7.1) + - VisionCamera (4.7.0): + - VisionCamera/Core (= 4.7.0) + - VisionCamera/React (= 4.7.0) + - VisionCamera/Core (4.7.0) + - VisionCamera/React (4.7.0): + - React-Core + - WCPhotoManipulator (2.6.0) + - Yoga (0.0.0) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - LoaderKit (from `../node_modules/react-native-loader-kit`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) + - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`) + - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-FabricComponents (from `../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) + - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) + - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) + - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsinspectorcdp (from `../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`) + - React-jsinspectornetwork (from `../node_modules/react-native/ReactCommon/jsinspector-modern/network`) + - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) + - React-jsitooling (from `../node_modules/react-native/ReactCommon/jsitooling`) + - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) + - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) + - "react-native-geolocation (from `../node_modules/@react-native-community/geolocation`)" + - "react-native-image-resizer (from `../node_modules/@bam.tech/react-native-image-resizer`)" + - react-native-photo-manipulator (from `../node_modules/react-native-photo-manipulator`) + - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) + - react-native-sqlite-storage (from `../node_modules/react-native-sqlite-storage`) + - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) + - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTRuntime (from `../node_modules/react-native/React/Runtime`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) + - React-renderercss (from `../node_modules/react-native/ReactCommon/react/renderer/css`) + - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) + - React-rncore (from `../node_modules/react-native/ReactCommon`) + - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) + - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactAppDependencyProvider (from `build/generated/ios`) + - ReactCodegen (from `build/generated/ios`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" + - RNFS (from `../node_modules/react-native-fs`) + - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - RNPermissions (from `../node_modules/react-native-permissions`) + - RNReanimated (from `../node_modules/react-native-reanimated`) + - RNScreens (from `../node_modules/react-native-screens`) + - RNSVG (from `../node_modules/react-native-svg`) + - RNVectorIcons (from `../node_modules/react-native-vector-icons`) + - SocketRocket (~> 0.7.1) + - VisionCamera (from `../node_modules/react-native-vision-camera`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - NVActivityIndicatorView-ObjC + - React-Codegen + - SocketRocket + - WCPhotoManipulator + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + BVLinearGradient: + :path: "../node_modules/react-native-linear-gradient" + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + fast_float: + :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + fmt: + :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :tag: hermes-2025-05-06-RNv0.80.0-4eb6132a5bf0450bf4c6c91987675381d7ac8bca + LoaderKit: + :path: "../node_modules/react-native-loader-kit" + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTDeprecation: + :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + RCTRequired: + :path: "../node_modules/react-native/Libraries/Required" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../node_modules/react-native/" + React-callinvoker: + :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-debug: + :path: "../node_modules/react-native/ReactCommon/react/debug" + React-defaultsnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults" + React-domnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom" + React-Fabric: + :path: "../node_modules/react-native/ReactCommon" + React-FabricComponents: + :path: "../node_modules/react-native/ReactCommon" + React-FabricImage: + :path: "../node_modules/react-native/ReactCommon" + React-featureflags: + :path: "../node_modules/react-native/ReactCommon/react/featureflags" + React-featureflagsnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" + React-graphics: + :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" + React-idlecallbacksnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" + React-ImageManager: + :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + React-jserrorhandler: + :path: "../node_modules/react-native/ReactCommon/jserrorhandler" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" + React-jsinspectorcdp: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/cdp" + React-jsinspectornetwork: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/network" + React-jsinspectortracing: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" + React-jsitooling: + :path: "../node_modules/react-native/ReactCommon/jsitooling" + React-jsitracing: + :path: "../node_modules/react-native/ReactCommon/hermes/executor/" + React-logger: + :path: "../node_modules/react-native/ReactCommon/logger" + React-Mapbuffer: + :path: "../node_modules/react-native/ReactCommon" + React-microtasksnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" + react-native-geolocation: + :path: "../node_modules/@react-native-community/geolocation" + react-native-image-resizer: + :path: "../node_modules/@bam.tech/react-native-image-resizer" + react-native-photo-manipulator: + :path: "../node_modules/react-native-photo-manipulator" + react-native-safe-area-context: + :path: "../node_modules/react-native-safe-area-context" + react-native-sqlite-storage: + :path: "../node_modules/react-native-sqlite-storage" + React-NativeModulesApple: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-oscompat: + :path: "../node_modules/react-native/ReactCommon/oscompat" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-performancetimeline: + :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTAppDelegate: + :path: "../node_modules/react-native/Libraries/AppDelegate" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTFabric: + :path: "../node_modules/react-native/React" + React-RCTFBReactNativeSpec: + :path: "../node_modules/react-native/React" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTRuntime: + :path: "../node_modules/react-native/React/Runtime" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + React-rendererconsistency: + :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" + React-renderercss: + :path: "../node_modules/react-native/ReactCommon/react/renderer/css" + React-rendererdebug: + :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" + React-rncore: + :path: "../node_modules/react-native/ReactCommon" + React-RuntimeApple: + :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + React-RuntimeCore: + :path: "../node_modules/react-native/ReactCommon/react/runtime" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + React-RuntimeHermes: + :path: "../node_modules/react-native/ReactCommon/react/runtime" + React-runtimescheduler: + :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + React-timing: + :path: "../node_modules/react-native/ReactCommon/react/timing" + React-utils: + :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactAppDependencyProvider: + :path: build/generated/ios + ReactCodegen: + :path: build/generated/ios + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + RNCAsyncStorage: + :path: "../node_modules/@react-native-async-storage/async-storage" + RNFS: + :path: "../node_modules/react-native-fs" + RNGestureHandler: + :path: "../node_modules/react-native-gesture-handler" + RNPermissions: + :path: "../node_modules/react-native-permissions" + RNReanimated: + :path: "../node_modules/react-native-reanimated" + RNScreens: + :path: "../node_modules/react-native-screens" + RNSVG: + :path: "../node_modules/react-native-svg" + RNVectorIcons: + :path: "../node_modules/react-native-vector-icons" + VisionCamera: + :path: "../node_modules/react-native-vision-camera" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 + BVLinearGradient: cb006ba232a1f3e4f341bb62c42d1098c284da70 + DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb + fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 + FBLazyVector: 778b815a6fb3fa1599f581ffb9a5e85fad313c1d + fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd + glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 + hermes-engine: 7068e976238b29e97b3bafd09a994542af7d5c0b + LoaderKit: faec94f4e01cb119948b2f69e952ca32e658d4a4 + NVActivityIndicatorView-ObjC: a2394f53d84c32f71823743a2030e0378d40332f + RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669 + RCTDeprecation: ff787f6c860a1b97dd1bc27264b61d23ad1994da + RCTRequired: 664eb8399ed8a83e26ab65af7c2ad390f7e61696 + RCTTypeSafety: a5cf7a7e80baf972e331dc028e5d5c19bb2535a4 + React: 606d4dccbcf29aec4dc84a7921405a28e1701a22 + React-callinvoker: 0e13bd3c039df9ceef04f7381a81f017655c8361 + React-Codegen: 4b8b4817cea7a54b83851d4c1f91f79aa73de30a + React-Core: d118e66b5b561f5ab999dd7f9cf14f54dab376a7 + React-CoreModules: 6ec48c52c9ff2ca3fa110153de09e4c2379f1860 + React-cxxreact: cb406100002503e44de4b725e581ce24f47003b9 + React-debug: a9e91845f3670c3a19249f52919f0488b7842cf7 + React-defaultsnativemodule: ee76dbbfc31db775bc318f707f01869cd8a32f42 + React-domnativemodule: a3f44d7ea5c7f8ef5c6f88574471d6f0b73d2f17 + React-Fabric: bb3b550229a1cf7a93f9d8569a3a672cae115d94 + React-FabricComponents: a3b5184c705b5b45c8e6736f8bc579bae5cbecbe + React-FabricImage: 8d3a479a8c6097d20b7bd170df7d28b9da72381e + React-featureflags: 2d450523e473b3923790f9502feb8d13691b9e0e + React-featureflagsnativemodule: 90429c06d7aa290896a76639eaaa78c1d0bf4bca + React-graphics: 9e11a80b48b66d08d47c16cb5d922f1171840e70 + React-hermes: ae85ffa5ce034f07f63c95a7cbd15a391da8a6d3 + React-idlecallbacksnativemodule: bbacde3a9c82e14b9f3bfc9494bb960ce6801bf3 + React-ImageManager: d9f55275912e0ee5e34a66d30ad7c6327ce7daa4 + React-jserrorhandler: eeac7d0ce29ef27a5828d376ae84e516c2f3bab0 + React-jsi: 8eba045092d3ebe6b30f11e397185080e22e1c3d + React-jsiexecutor: 84978b702963ecee46f8e4d510931d4fdb7e8429 + React-jsinspector: 5efae7cf4601cb0c7441e4caaa5a6cc16781bf54 + React-jsinspectorcdp: df0f2b157b62a9f5d91c87600331c55414c35881 + React-jsinspectornetwork: af69093cf9d60dbcd00cda064ac271e2123f623e + React-jsinspectortracing: 2519b0016db1f338e56620a3fec253f455318359 + React-jsitooling: ffb70ee2d0c8836b1e8feddd0945847ae89271ad + React-jsitracing: 4a6b9ca5ed4195c51c9205712f06aba38fbb758e + React-logger: dce52a571ba0e0149c3f0fcc6866cbc0c8552c5e + React-Mapbuffer: f5754c33877eaf36e4c76c613b35615a181c85c5 + React-microtasksnativemodule: 23df6374a3ac422d8c2927839bcaeed61fee3dad + react-native-geolocation: f01ad4718ad1d015d0c0dd12a6f707354022530e + react-native-image-resizer: 8537d9fdbd14b9d5f301a2d319c469bf56f6e9a0 + react-native-photo-manipulator: 5ac803352e07b7f61f5905e78952006f0c4efd54 + react-native-safe-area-context: d3738f0c3b1fcefaed874a45891b0d44306c47c1 + react-native-sqlite-storage: 0c84826214baaa498796c7e46a5ccc9a82e114ed + React-NativeModulesApple: e16d5c133019987285f001fbf1461a861e40426f + React-oscompat: 7c0a341cc31e350da71ddf2e46de0a845d1d1626 + React-perflogger: c91e01612298b74f70d846ae3666d2b078c547e0 + React-performancetimeline: 6b9a6951922d764073bc69617be43a9552de96ba + React-RCTActionSheet: 99864bd8422649219f24eca9a51445e698b70b8e + React-RCTAnimation: ae0790201f87e9782f4a8b4346ac414f4c3273f3 + React-RCTAppDelegate: e94955f941036818be7583fe820d13bf47c5e9af + React-RCTBlob: 472203c0f6fa4f25996ed94a2cdf5eaa92200fe3 + React-RCTFabric: 6f6b6979e6395f4fc33e6e25612f6272a71b7af5 + React-RCTFBReactNativeSpec: 9a0d5b08fcc6e0c73f2afc8fce60e8537db82b58 + React-RCTImage: 14ce85b3f9e898ad8ab2fd49be97f09e43251fb9 + React-RCTLinking: b189fd2fd5fce9c3189d64204f1a92c36ffc27bd + React-RCTNetwork: 66f7536d038d5ecec63acdc5e7c9b7f843fed4ac + React-RCTRuntime: 62482bc3df825749a51ff2c7aa2dd0b8d74ee930 + React-RCTSettings: 98360df5a9e6f6d10bd9738c6d4637005e4f842e + React-RCTText: 667ac6f696da8cd6671b5b562adf43419a787705 + React-RCTVibration: 13de9226d181fb939b187f3f682767c6e8cc80f8 + React-rendererconsistency: a4db9bb060c65bce8ae83d936ed0719696055bd2 + React-renderercss: f7788003b3c65702cbc123f8ba7678dd3cb67753 + React-rendererdebug: 67c92da913f21ebe041ce959f024ab89cf2a7bde + React-rncore: 322add36430c38049067a5d365f166256975391f + React-RuntimeApple: f3eedaeab424b467cfc61a308422235399ded08c + React-RuntimeCore: fd5ff77cca527e2ecd42e0d6a3eeafafde74d9c9 + React-runtimeexecutor: 49ea276161508d50b3486c385e1ca7972d1699f5 + React-RuntimeHermes: 85e8e095e106dbc6bcf5dcae051f56ba18b1d629 + React-runtimescheduler: c8581138c14a1e2036e8403628b963c0d1c88b26 + React-timing: a275a1c2e6112dba17f8f7dd496d439213bbea0d + React-utils: 449a6e1fd53886510e284e80bdbb1b1c6db29452 + ReactAppDependencyProvider: 3267432b637c9b38e86961b287f784ee1b08dde0 + ReactCodegen: 5d41e1df061200130dd326e55cdfdf94b0289c6e + ReactCommon: b028d09a66e60ebd83ca59d8cc9a1216360db147 + RNCAsyncStorage: 1f04c8d56558e533277beda29187f571cf7eecb2 + RNFS: 89de7d7f4c0f6bafa05343c578f61118c8282ed8 + RNGestureHandler: 5e1a1605659c22098719fc2e8aee453fe728f52e + RNPermissions: ebf576a01cc2cb73db0006e0b3c9b4760e0aa569 + RNReanimated: bc1ddb7a5352648bcf0d592256069833bf935a46 + RNScreens: ee2abe7e0c548eed14e92742e81ed991165c56aa + RNSVG: 341f555dbcd83a34d1f058e88df387de7bbc3347 + RNVectorIcons: ef9b4b0b786053ebdd63ee2972f48de9633ba166 + SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 + VisionCamera: c5c07db74721d37f4c9f8331ad1f8da7b2539995 + WCPhotoManipulator: 804988e16a6fe941cddff942b2acf887110de5d6 + Yoga: 0c4b7d2aacc910a1f702694fa86be830386f4ceb + +PODFILE CHECKSUM: 70ae9e33cd5cf8e9260b2869ab054feb88bfc2b9 + +COCOAPODS: 1.16.2 diff --git a/ios/white.png b/ios/white.png new file mode 100644 index 0000000..4ee1ff3 Binary files /dev/null and b/ios/white.png differ diff --git a/ios_certificates/CertificateSigningRequest.certSigningRequest b/ios_certificates/CertificateSigningRequest.certSigningRequest new file mode 100644 index 0000000..18f908d --- /dev/null +++ b/ios_certificates/CertificateSigningRequest.certSigningRequest @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICiDCCAXACAQAwQzEmMCQGCSqGSIb3DQEJARYXY3BtaW5kaWFpdEBjcG1pbmRp +YS5jb20xDDAKBgNVBAMMA0NQTTELMAkGA1UEBhMCSU4wggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQD5H7EcZgD+77Vb5lruKpetnuU7vSZvZgnmL/4bkLuk +R2iSNmu/kGGp/oY87kHeTEoNV6YJ7vveDAs5r1OInU6s/YKve6w94cK6IG0NFUnH +6gR3TJbLduoKRvlPPne0Yrgap5YfYfnQ7GkMHohpa2zyCUlo1+u8KqjPos5f07S/ +6vSEAV4FMAgrYqSgRxRPPhw8UUJ9MFiSH3NtYYYXcbql1j/fFHiL/gJmClKRilNd +TScorE4h95YeylJtBmiqRQSN76gophmjiWDVLnP7s3AyGKhw0FmwYJMc2b89/TwL +uDGVFSxM9IGRb7UoKYWU9N8ThGoOghmiAwCiNd+VDKbnAgMBAAGgADANBgkqhkiG +9w0BAQsFAAOCAQEAxXc475lytyZVl/Iahdgj9xHS2shwgL6k9Eu5OqIGkGovrx0F +63Eu4pyqgjh0ZfTC2somOYvA39NHEDiNXfjNYLRUo6PVNMxuVRVjjSR0UvfBcC88 +Fjo8I8m/2ovTjNSTgIgDCexfNYFdlJP7mqGJ9nybmPdvzWLVuB9N77zElnusLsTl +pr3q1RBnetkYf9xNGRdeQIRHtJJrnVTDgXHwCcd9W91z1O2vnxHubhwqHf8gsr8h +GRL2bFZGJBc8JJ91lo2NNrXAzeFEUALOdfBPtzoB98+Npo1pjlUoFJNZvirrOyq3 +DZzLyLlz3PH9Qvw9GGVQ63NHsbTcX84YFpfRZg== +-----END CERTIFICATE REQUEST----- diff --git a/ios_certificates/PerformicsStoreDNA.mobileprovision b/ios_certificates/PerformicsStoreDNA.mobileprovision new file mode 100644 index 0000000..3cc1d38 Binary files /dev/null and b/ios_certificates/PerformicsStoreDNA.mobileprovision differ diff --git a/ios_certificates/development.cer b/ios_certificates/development.cer new file mode 100644 index 0000000..bc52d15 Binary files /dev/null and b/ios_certificates/development.cer differ diff --git a/ios_certificates/distribution.cer b/ios_certificates/distribution.cer new file mode 100644 index 0000000..9dde183 Binary files /dev/null and b/ios_certificates/distribution.cer differ diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..8eb675e --- /dev/null +++ b/jest.config.js @@ -0,0 +1,3 @@ +module.exports = { + preset: 'react-native', +}; diff --git a/metro.config.js b/metro.config.js new file mode 100644 index 0000000..2a0a21c --- /dev/null +++ b/metro.config.js @@ -0,0 +1,11 @@ +const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); + +/** + * Metro configuration + * https://reactnative.dev/docs/metro + * + * @type {import('@react-native/metro-config').MetroConfig} + */ +const config = {}; + +module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/package.json b/package.json new file mode 100644 index 0000000..89978af --- /dev/null +++ b/package.json @@ -0,0 +1,80 @@ +{ + "name": "PerformicsStoreDNA", + "version": "0.0.1", + "private": true, + "scripts": { + "android": "react-native run-android", + "ios": "react-native run-ios", + "lint": "eslint .", + "start": "react-native start", + "test": "jest", + "postinstall": "patch-package" + }, + "dependencies": { + "@bam.tech/react-native-image-resizer": "^3.0.11", + "@gluestack-ui/nativewind-utils": "^1.0.26", + "@gluestack-ui/overlay": "^0.1.22", + "@gluestack-ui/toast": "^1.0.9", + "@likashefqet/react-native-image-zoom": "^4.3.0", + "@react-native-async-storage/async-storage": "^2.2.0", + "@react-native-community/geolocation": "^3.4.0", + "@react-native/new-app-screen": "0.80.0", + "@react-navigation/elements": "^2.5.2", + "@react-navigation/native": "^7.1.14", + "@react-navigation/native-stack": "^7.3.21", + "@reduxjs/toolkit": "^2.8.2", + "axios": "^1.10.0", + "deprecated-react-native-prop-types": "^5.0.0", + "lodash": "^4.17.21", + "moment": "^2.30.1", + "patch-package": "^8.0.0", + "react": "19.1.0", + "react-native": "0.80.0", + "react-native-chart-kit": "^6.12.0", + "react-native-element-dropdown": "^2.12.4", + "react-native-fs": "^2.20.0", + "react-native-gesture-handler": "^2.27.1", + "react-native-gifted-charts": "^1.4.63", + "react-native-keyboard-aware-scroll-view": "^0.9.5", + "react-native-linear-gradient": "^2.8.3", + "react-native-loader-kit": "^3.0.0", + "react-native-modal-selector": "^2.1.2", + "react-native-multiple-select": "^0.5.12", + "react-native-otp-entry": "^1.8.5", + "react-native-permissions": "^5.4.1", + "react-native-photo-manipulator": "^1.9.2", + "react-native-raw-bottom-sheet": "^3.0.0", + "react-native-reanimated": "^3.18.0", + "react-native-safe-area-context": "^5.5.0", + "react-native-screens": "^4.11.1", + "react-native-sqlite-storage": "^6.0.1", + "react-native-svg": "^15.12.0", + "react-native-toast-message": "^2.3.1", + "react-native-vector-icons": "^10.2.0", + "react-native-vision-camera": "^4.7.0", + "react-redux": "^9.2.0" + }, + "devDependencies": { + "@babel/core": "^7.25.2", + "@babel/preset-env": "^7.25.3", + "@babel/runtime": "^7.25.0", + "@react-native-community/cli": "19.0.0", + "@react-native-community/cli-platform-android": "19.0.0", + "@react-native-community/cli-platform-ios": "19.0.0", + "@react-native/babel-preset": "0.80.0", + "@react-native/eslint-config": "0.80.0", + "@react-native/metro-config": "0.80.0", + "@react-native/typescript-config": "0.80.0", + "@types/jest": "^29.5.13", + "@types/react": "^19.1.0", + "@types/react-test-renderer": "^19.1.0", + "eslint": "^8.19.0", + "jest": "^29.6.3", + "prettier": "2.8.8", + "react-test-renderer": "19.1.0", + "typescript": "5.0.4" + }, + "engines": { + "node": ">=18" + } +} diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..4089740 --- /dev/null +++ b/src/App.js @@ -0,0 +1,25 @@ +import * as React from 'react'; +import { useEffect } from 'react'; +import { Provider } from 'react-redux'; +import Routes from './navigation/Routes'; +import { store } from './redux/store'; +import { initTables } from './constants/database'; +import { CreateImageFolders } from './constants/function'; +import { GestureHandlerRootView } from 'react-native-gesture-handler'; + +function App() { + useEffect(() => { + initTables(); // Ensure DB tables are created + CreateImageFolders(); + }, []); + + return ( + + + + + + ); +} + +export default App; diff --git a/src/api/ApiConstant.js b/src/api/ApiConstant.js new file mode 100644 index 0000000..d7d02f8 --- /dev/null +++ b/src/api/ApiConstant.js @@ -0,0 +1,12 @@ +export const BASE_URL = 'https://dax.parinaam.in/execute/dabur'; + +export const ApiURL = { + + // login: `${BASE_URL}/api/v1/auth/login`, + + pssscoreApi: `${BASE_URL}/mtd/pssscore`, + getotpApi: `https://api1.parinaam.in/api/dabur/SendOTP`, + verifyotpApi: `https://api1.parinaam.in/api/dabur/AuthenticateOTP`, + storeDNAfilter:`https://api1.parinaam.in/api/dabur/StoreDNAfilter`, + storeSearch :`https://api1.parinaam.in/api/dabur/StoreDNAstoreSearch`, +}; diff --git a/src/api/ApiService.js b/src/api/ApiService.js new file mode 100644 index 0000000..5bb51ca --- /dev/null +++ b/src/api/ApiService.js @@ -0,0 +1,158 @@ +import AsyncStorage from '@react-native-async-storage/async-storage'; +import axios from 'axios'; +import { Alert } from 'react-native'; +import { toastError } from '../components/Toast'; + + + +// Call this api function without token only for login +export const request = async (url, formData) => { + const header = { + 'Content-Type': 'application/json', + }; + + return axios.post(url, formData, { headers: header }) + .then(response => { + return response.data; + }) + .catch(error => { + console.log(error); + return error; + }); +}; + + + +// Call this api function with token (POST type) +// export const post = async (url: string, formData: any) => { +// const header = { +// Authorization: 'Bearer ', +// Accept: 'application/json', +// }; +// return AsyncStorage.getItem('token').then(async value => { + +// const loginToken = JSON.parse(value as any); + +// console.log('loginToken----->',loginToken); + +// header.Authorization = `Bearer ${loginToken}`; + +// try { +// const response = await axios +// .post(url, formData, { headers: header }); +// return response.data; +// } catch (error) { +// // console.log(url); +// // console.log(formData); +// console.log('AXIOS ERROR status: ', error); +// } +// }); +// }; + +export const post = async (url, formData) => { + try { + // const tokenValue = await AsyncStorage.getItem('token'); + // if (!tokenValue) { + // console.error('No token found in AsyncStorage'); + // return null; + // } + + // const loginToken = JSON.parse(tokenValue); + // console.log('loginToken----->', loginToken); + + const headers = { + Authorization: ``, + Accept: 'application/json', + "X-API-Key":"f7fa9b09-ced8-4862-8cb7-5e7599d90fa2" + }; + + // console.log('URL => ',url); + // console.log('PARAMS => ',formData); + + + const response = await axios.post(url, formData, { headers }); + return response.data; + + } catch (error) { + console.error('API Error:', error.response?.data || error.message); + Alert.alert(`Alert`,`${error.response?.data?.message ?error.response?.data?.message:'Server Error'}`) + // toastError('Alert',`${error.response?.data?.message}`) + return null; + } +}; + + +// CALL THIS API FUNCTION FOR GET TYPE API +export const get = async (url) => { + const header = { + Authorization: 'Bearer ', + Accept: 'application/json', + }; + return AsyncStorage.getItem('token').then(async value => { + const loginToken = JSON.parse(value); + + // console.log('URL---->',url); + // console.log('loginToken---->',loginToken); + + header.Authorization = `Bearer ${loginToken}`; + + try { + const response = await axios + .get(url, { headers: header }); + return response.data; + } catch (error) { + if (error) { + console.log('AXIOS ERROR status: ', error); + } + } + }); +}; + + +export const uploadImage = async (url, formData) => { + const header = { + Authorization: 'Bearer ', + Accept: 'application/json', + 'Content-Type': `multipart/form-data`, + }; + + return AsyncStorage.getItem('userToken').then(value => { + const token = JSON.parse(value); + header.Authorization = `Bearer ${token}`; + + let dataf = { + uri: formData.path, + type: formData.mime, + name: formData.path, + }; + var data = new FormData(); + data.append('image', dataf); + console.log('header', header); + return fetch(url, { + headers: header, + method: 'POST', + body: data, + }) + .then(response => response.json()) + .then(json => { + console.log('API', url); + console.log('formData', formData); + console.log('json data', json); + return json; + }) + .catch(error => { + console.log('API', url); + console.log('formData', formData); + console.log('error ', error); + }); + }); +}; + + +export const cityData = async () => { + return AsyncStorage.getItem('cityshortname').then(e => { + const user = JSON.parse(e); + console.log('user,user', user); + return user; + }); +}; diff --git a/src/assets/Icons/backIcon.png b/src/assets/Icons/backIcon.png new file mode 100644 index 0000000..0ed3655 Binary files /dev/null and b/src/assets/Icons/backIcon.png differ diff --git a/src/assets/Icons/camera.png b/src/assets/Icons/camera.png new file mode 100644 index 0000000..ef7c653 Binary files /dev/null and b/src/assets/Icons/camera.png differ diff --git a/src/assets/Icons/cross.png b/src/assets/Icons/cross.png new file mode 100644 index 0000000..c36158c Binary files /dev/null and b/src/assets/Icons/cross.png differ diff --git a/src/assets/Icons/dots.png b/src/assets/Icons/dots.png new file mode 100644 index 0000000..d00088d Binary files /dev/null and b/src/assets/Icons/dots.png differ diff --git a/src/assets/Icons/down.png b/src/assets/Icons/down.png new file mode 100644 index 0000000..7e23150 Binary files /dev/null and b/src/assets/Icons/down.png differ diff --git a/src/assets/Icons/filter.png b/src/assets/Icons/filter.png new file mode 100644 index 0000000..a97a42f Binary files /dev/null and b/src/assets/Icons/filter.png differ diff --git a/src/assets/Icons/greenTick.png b/src/assets/Icons/greenTick.png new file mode 100644 index 0000000..f4490ee Binary files /dev/null and b/src/assets/Icons/greenTick.png differ diff --git a/src/assets/Icons/green_camera.png b/src/assets/Icons/green_camera.png new file mode 100644 index 0000000..2ea1434 Binary files /dev/null and b/src/assets/Icons/green_camera.png differ diff --git a/src/assets/Icons/leftarrow.png b/src/assets/Icons/leftarrow.png new file mode 100644 index 0000000..2f23856 Binary files /dev/null and b/src/assets/Icons/leftarrow.png differ diff --git a/src/assets/Icons/menu.png b/src/assets/Icons/menu.png new file mode 100644 index 0000000..d62b374 Binary files /dev/null and b/src/assets/Icons/menu.png differ diff --git a/src/assets/Icons/pluscircle.png b/src/assets/Icons/pluscircle.png new file mode 100644 index 0000000..1efc418 Binary files /dev/null and b/src/assets/Icons/pluscircle.png differ diff --git a/src/assets/Icons/red_camera.png b/src/assets/Icons/red_camera.png new file mode 100644 index 0000000..70a5078 Binary files /dev/null and b/src/assets/Icons/red_camera.png differ diff --git a/src/assets/Icons/report.png b/src/assets/Icons/report.png new file mode 100644 index 0000000..9fb3742 Binary files /dev/null and b/src/assets/Icons/report.png differ diff --git a/src/assets/Icons/rightarrow.png b/src/assets/Icons/rightarrow.png new file mode 100644 index 0000000..30c56d7 Binary files /dev/null and b/src/assets/Icons/rightarrow.png differ diff --git a/src/assets/Icons/search.png b/src/assets/Icons/search.png new file mode 100644 index 0000000..44d81b6 Binary files /dev/null and b/src/assets/Icons/search.png differ diff --git a/src/assets/Icons/store.png b/src/assets/Icons/store.png new file mode 100644 index 0000000..baa4167 Binary files /dev/null and b/src/assets/Icons/store.png differ diff --git a/src/assets/Icons/uparrow.png b/src/assets/Icons/uparrow.png new file mode 100644 index 0000000..3b3636e Binary files /dev/null and b/src/assets/Icons/uparrow.png differ diff --git a/src/assets/Images/appLogoNew.png b/src/assets/Images/appLogoNew.png new file mode 100644 index 0000000..fe46f17 Binary files /dev/null and b/src/assets/Images/appLogoNew.png differ diff --git a/src/assets/Images/applogo.png b/src/assets/Images/applogo.png new file mode 100644 index 0000000..8c759f2 Binary files /dev/null and b/src/assets/Images/applogo.png differ diff --git a/src/assets/Images/footerImage.png b/src/assets/Images/footerImage.png new file mode 100644 index 0000000..a0e5278 Binary files /dev/null and b/src/assets/Images/footerImage.png differ diff --git a/src/assets/Images/loginbottomBG.png b/src/assets/Images/loginbottomBG.png new file mode 100644 index 0000000..cc09306 Binary files /dev/null and b/src/assets/Images/loginbottomBG.png differ diff --git a/src/assets/Images/logintopBG.png b/src/assets/Images/logintopBG.png new file mode 100644 index 0000000..f55d9f6 Binary files /dev/null and b/src/assets/Images/logintopBG.png differ diff --git a/src/assets/Images/logo.png b/src/assets/Images/logo.png new file mode 100644 index 0000000..e6526f7 Binary files /dev/null and b/src/assets/Images/logo.png differ diff --git a/src/assets/Images/welcomebackground.png b/src/assets/Images/welcomebackground.png new file mode 100644 index 0000000..9b2d521 Binary files /dev/null and b/src/assets/Images/welcomebackground.png differ diff --git a/src/assets/Images/welcomelogo.png b/src/assets/Images/welcomelogo.png new file mode 100644 index 0000000..b90a4cf Binary files /dev/null and b/src/assets/Images/welcomelogo.png differ diff --git a/src/assets/Images/white.png b/src/assets/Images/white.png new file mode 100644 index 0000000..4ee1ff3 Binary files /dev/null and b/src/assets/Images/white.png differ diff --git a/src/components/Alert.js b/src/components/Alert.js new file mode 100644 index 0000000..058bcf0 --- /dev/null +++ b/src/components/Alert.js @@ -0,0 +1,102 @@ +import React from 'react'; +import { + Alert, + View, + TouchableOpacity, + Text, +} from 'react-native'; +import CustomModal from './CustomModal'; +import { useRoute } from '@react-navigation/native'; +import { GlobalTheme } from '../theme'; + +export const CustomAlert = ( + title = '', + msg = '', + onCancel = () => { }, + onDone = () => { } +) => { + Alert.alert(title, msg, [ + { + text: 'Cancel', + onPress: onCancel, + style: 'cancel', + }, + { text: 'OK', onPress: onDone }, + ]); +}; + +export function ConfirmSaveAlert({ + showAlert = false, + onCancelCallBack = () => { }, + onYesCallBack = () => { }, + msg = 'Do you really want to save data?', + yesText = 'Yes', + cancelText = 'NO', +}) { + return ( + + + + + {yesText} + + + + + {cancelText} + + + + + ); +} + + +export function ExitScreenAlert(props, callback) { + Alert.alert( + '', + 'Do you really want to exit the screen?', + [ + { + text: 'Cancel', + onPress: () => { }, + style: 'cancel', + }, + { + text: 'OK', + onPress: () => { + if (typeof callback === 'function') callback(); + props.navigation.goBack(); + }, + }, + ] + ); +} diff --git a/src/components/Background.js b/src/components/Background.js new file mode 100644 index 0000000..e0fb288 --- /dev/null +++ b/src/components/Background.js @@ -0,0 +1,33 @@ +// src/components/Background.js + +import React from 'react'; +import { StyleSheet, StatusBar, useColorScheme } from 'react-native'; +import LinearGradient from 'react-native-linear-gradient'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { GlobalTheme } from '../theme'; + +const Background = ({ children, barcolor = 'light-content'}) => { + const isDarkMode = useColorScheme() === 'dark'; + return ( + + + + {children} + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: GlobalTheme.colors.primary, + + }, + gradient: { + flex: 1, + // paddingHorizontal: 20, + }, +}); + +export default Background; diff --git a/src/components/Camera.js b/src/components/Camera.js new file mode 100644 index 0000000..74ee0d1 --- /dev/null +++ b/src/components/Camera.js @@ -0,0 +1,51 @@ +import React, { useState } from 'react'; +import { View, TouchableOpacity, Image, StyleSheet, Modal } from 'react-native'; + +import IMAGES from '../constants/Images'; +import CustomCamera from './CustomCamera'; + +const CameraScreen = () => { + const [showCamera, setShowCamera] = useState(false); + const [imageUri, setImageUri] = useState(null); + + const handleImageCaptured = (photo) => { + setImageUri(photo.uri); + setShowCamera(false); + }; + + return ( + + setShowCamera(true)}> + + + + {/* Fullscreen Modal Camera */} + + setShowCamera(false)} + /> + + + ); +}; + +export default CameraScreen; + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + imagePreview: { + width: 150, + height: 150, + borderRadius: 10, + borderWidth: 1, + borderColor: '#ccc', + }, +}); diff --git a/src/components/CustomAlertModal.js b/src/components/CustomAlertModal.js new file mode 100644 index 0000000..a00ef32 --- /dev/null +++ b/src/components/CustomAlertModal.js @@ -0,0 +1,103 @@ +import React from "react"; +import { + View, + Text, + TouchableOpacity, + Modal, + StyleSheet, +} from "react-native"; +import { GlobalTheme } from "../theme"; + +const CustomAlertModal = ({ + showModal, + title, + message, + buttons = [], + style = {}, + titleStyle = {}, + messageStyle = {}, + children, + +}) => { + return ( + + + + + + + {title ? ( + {title} + ) : null} + + {message ? ( + {message} + ) : null} + + {children} + + + {buttons.map((btn, index) => ( + + + {btn.label} + + + ))} + + + + + ); +}; + +export default CustomAlertModal; + +const styles = StyleSheet.create({ + backdrop: { + flex: 1, + backgroundColor: "rgba(0,0,0,0.5)", + justifyContent: "center", + alignItems: "center", + }, + modalContainer: { + width: "80%", + backgroundColor: "#fff", + borderRadius: 10, + padding: 20, + elevation: 5, + }, + title: { + fontSize: 18, + fontWeight: "bold", + marginBottom: 10, + textAlign: "center", + }, + message: { + fontSize: 16, + marginBottom: 20, + textAlign: "center", + }, + buttonRow: { + flexDirection: "row", + justifyContent: "flex-end", + marginTop: 10, + }, + button: { + paddingHorizontal: 15, + paddingVertical: 8, + borderRadius: 5, + marginLeft: 10, + }, + buttonText: { + fontSize: 14, + }, +}); diff --git a/src/components/CustomButton.js b/src/components/CustomButton.js new file mode 100644 index 0000000..6ca510f --- /dev/null +++ b/src/components/CustomButton.js @@ -0,0 +1,13 @@ +import { View, Text, TouchableOpacity } from 'react-native'; + +const CustomButton = ({ title, style, textstyle, onPress , disabled}) => { + return ( + + + {title} + + + ); +}; + +export default CustomButton; diff --git a/src/components/CustomCamera.js b/src/components/CustomCamera.js new file mode 100644 index 0000000..89c9627 --- /dev/null +++ b/src/components/CustomCamera.js @@ -0,0 +1,173 @@ +import React, { useState, useRef, useEffect } from 'react'; +import { View, Text, TouchableOpacity, Image, StyleSheet, PermissionsAndroid, Platform } from 'react-native'; +import { Camera, useCameraDevice } from 'react-native-vision-camera'; +import { useIsFocused } from '@react-navigation/native'; + +const CustomCamera = ({ onImageCaptured, onClose }) => { + const cameraRef = useRef(null); + const [hasPermission, setHasPermission] = useState(false); + const [cameraPosition, setCameraPosition] = useState('back'); + const [capturedPhoto, setCapturedPhoto] = useState(null); + const isFocused = useIsFocused(); + const device = useCameraDevice(cameraPosition); + + useEffect(() => { + (async () => { + const status = await Camera.requestCameraPermission(); + console.log(status, "Camera permission status"); + setHasPermission(status === 'granted'); + })(); + }, []); + + const takePhoto = async () => { + if (cameraRef.current) { + try { + const photo = await cameraRef.current.takePhoto({ + flash: 'off', + }); + const photoUri = Platform.OS === 'android' ? `file://${photo.path}` : photo.path; + setCapturedPhoto(photoUri); + } catch (error) { + console.warn('Error taking photo:', error); + } + } + }; + + const flipCamera = () => { + setCameraPosition(prev => (prev === 'back' ? 'front' : 'back')); + }; + + const confirmPhoto = async () => { + if (onImageCaptured && capturedPhoto) { + try { + const imageInfo = await new Promise((resolve, reject) => { + Image.getSize( + capturedPhoto, + (width, height) => resolve({ width, height }), + (error) => reject(error) + ); + }); + + const normalizedUri = Platform.OS === 'android' ? capturedPhoto : `file://${capturedPhoto}`; + + onImageCaptured({ + uri: normalizedUri, + width: imageInfo.width, + height: imageInfo.height, + storeData: {}, + }); + } catch (e) { + console.warn('Failed to get image size:', e); + onImageCaptured({ + uri: capturedPhoto, + width: 0, + height: 0, + storeData: {}, + }); + } + } + }; + + const retakePhoto = () => { + setCapturedPhoto(null); + }; + + if (!device || !hasPermission) { + return ( + + Loading Camera... + + ); + } + + return ( + + {capturedPhoto ? ( + + + + + Retake + + + Use Photo + + + + ) : ( + <> + {isFocused && !capturedPhoto && ( + + )} + + + Flip + + + + Close + + + + )} + + ); +}; + +export default CustomCamera; + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: 'black', + height: '100%', + }, + previewContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + height: '100%', + }, + preview: { + width: '100%', + height: '80%', + }, + controls: { + position: 'absolute', + bottom: 30, + width: '100%', + flexDirection: 'row', + justifyContent: 'space-around', + alignItems: 'center', + }, + captureButton: { + width: 70, + height: 70, + borderRadius: 35, + backgroundColor: 'white', + borderWidth: 5, + borderColor: 'gray', + }, + button: { + backgroundColor: 'white', + padding: 10, + borderRadius: 8, + }, + buttonRow: { + flexDirection: 'row', + justifyContent: 'space-around', + marginTop: 20, + width: '100%', + }, + centered: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, +}); diff --git a/src/components/CustomDropdown.js b/src/components/CustomDropdown.js new file mode 100644 index 0000000..489cc51 --- /dev/null +++ b/src/components/CustomDropdown.js @@ -0,0 +1,41 @@ +// src/components/CustomDropdown.js +import React from 'react'; +import { StyleSheet } from 'react-native'; +import { Dropdown } from 'react-native-element-dropdown'; + +const CustomDropdown = ({ + data = [], + value, + onChange, + placeholder = '--Select--', + containerStyle = {}, +}) => { + return ( + + ); +}; + +const styles = StyleSheet.create({ + dropdown: { + borderWidth: 1, + borderColor: '#ccc', + borderRadius: 8, + paddingHorizontal: 10, + height: 45, + marginBottom: 0, // ✅ no margin + paddingBottom: 0, // ✅ no padding + }, +}); + +export default CustomDropdown; diff --git a/src/components/CustomHeader.js b/src/components/CustomHeader.js new file mode 100644 index 0000000..4460a57 --- /dev/null +++ b/src/components/CustomHeader.js @@ -0,0 +1,73 @@ +import { StyleSheet, Text, View, Image, TouchableOpacity } from 'react-native' +import React from 'react' +import { GlobalTheme } from '../theme' + +const CustomHeader = ({ title, leftIcon, rightIcon, onLeftPress, onRightPress }) => { + + return ( + + {leftIcon && + + {leftIcon && } + + } + + + {title} + + + + {rightIcon && } + + + ) +} + +export default CustomHeader + +const styles = StyleSheet.create({ + headerStyle: { + height: '8%', + backgroundColor: '#113F8C', + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + paddingHorizontal: 15, + }, + leftSection: { + backgroundColor: '#295398', + flexDirection: 'row', + padding: 8, + alignItems: 'center', + borderRadius: 20 + // width: 70, + }, + rightSection: { + alignItems: 'flex-end', + width: 40, + }, + titleContainer: { + flex: 1, + alignItems: 'center', + }, + headerText: { + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.medium, + fontWeight: '600', + }, + backText: { + marginLeft: 6, + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.small, + }, + leftIconStyle: { + height: 20, + width: 20, + resizeMode: 'contain', + }, + rightIconStyle: { + height: 35, + width: 35, + resizeMode: 'contain', + }, +}) \ No newline at end of file diff --git a/src/components/CustomModal.js b/src/components/CustomModal.js new file mode 100644 index 0000000..dee0e90 --- /dev/null +++ b/src/components/CustomModal.js @@ -0,0 +1,79 @@ +import React from 'react'; +import { View, Text, Modal, StyleSheet, TouchableOpacity, Image} from 'react-native'; +import IMAGES from '../constants/Images'; + +const CustomModal = ({ + showModal, + title, + message, + children, + // onClose, + style = {}, + titleStyle = {}, + messageStyle = {}, + hideDefaultClose = false, // 🔥 new prop + onClose = null +}) => { + return ( + + + + {onClose && ( + + + + )} + + {title && {title}} + {message && {message}} + + {children} + + + + + ); +}; + +export default CustomModal; + +const styles = StyleSheet.create({ + overlay: { + flex: 1, + backgroundColor: '#00000088', + justifyContent: 'center', + alignItems: 'center', + }, + modalContainer: { + width: '90%', + backgroundColor: '#fff', + borderRadius: 12, + padding: 15, + alignItems: 'center', + minHeight:200 + }, + title: { + fontSize: 18, + fontWeight: 'bold', + marginBottom: 6, + }, + message: { + fontSize: 14, + color: '#555', + textAlign: 'center', + }, + closeButton: { + alignSelf:'flex-end', + marginBottom:15 + }, + closeText: { + color: '#fff', + fontWeight: 'bold', + }, + iconStyle:{ + height:35, + width:35, + resizeMode:'contain', + // tintColor:'red' + } +}); diff --git a/src/components/CustomTextInput.js b/src/components/CustomTextInput.js new file mode 100644 index 0000000..9bc013b --- /dev/null +++ b/src/components/CustomTextInput.js @@ -0,0 +1,85 @@ +import { View, Text, TextInput, StyleSheet, } from 'react-native'; +import React, { useState } from 'react'; +import { GlobalTheme, Screen } from '../theme'; + +const CustomTextInput = ({ + label, + value, + onChangeText, + keyboardType, + secureTextEntry, + right, + textstyle, + viewstyle, + maxLength +}) => { + const [isFocused, setFocused] = useState(false); + const [hidepassword, setHidePassword] = useState(false); + + const handleFocus = () => { + setFocused(true); + }; + + const handleBlur = () => { + setFocused(false); + }; + + const inputStyle = { + borderColor: isFocused ? '#2680EB' : '#DFDFDF', + borderWidth: isFocused ? 2 : 1, + backgroundColor: isFocused ? '#FFF' : '#Fff', + borderRadius: GlobalTheme.borderRadius.md, + }; + + return ( + + + {label} + + + + + + + ); +}; + +export default CustomTextInput; + +const styles = StyleSheet.create({ + input: { + height: 50, + borderWidth: 1, + padding: 10, + color: GlobalTheme.colors.black, + }, + inputContainer: { + marginBottom: 16, + }, +}); diff --git a/src/constants/ColorsArray.js b/src/constants/ColorsArray.js new file mode 100644 index 0000000..c08e2a6 --- /dev/null +++ b/src/constants/ColorsArray.js @@ -0,0 +1,8 @@ +// colors.js +export const colors = [ + { bgColor: '#eddeb8', textColor: '#0c8fa5' }, + { bgColor: '#dcf2ee', textColor: '#f39a19' }, + { bgColor: '#eebdc3', textColor: '#ff5f5f' }, + { bgColor: '#d1c4e9', textColor: '#6A1B9A' }, + { bgColor: '#ffe0b2', textColor: '#EF6C00' }, +]; diff --git a/src/constants/IconGenerator.js b/src/constants/IconGenerator.js new file mode 100644 index 0000000..8461735 --- /dev/null +++ b/src/constants/IconGenerator.js @@ -0,0 +1,75 @@ +import React from 'react'; +import AntDesign from 'react-native-vector-icons/AntDesign'; +import Entypo from 'react-native-vector-icons/Entypo'; +import EvilIcons from 'react-native-vector-icons/EvilIcons'; +import Feather from 'react-native-vector-icons/Feather'; +import FontAwesome from 'react-native-vector-icons/FontAwesome'; +import Fontisto from 'react-native-vector-icons/Fontisto'; +import Foundation from 'react-native-vector-icons/Foundation'; +import Ionicons from 'react-native-vector-icons/Ionicons'; +import MaterialIcons from 'react-native-vector-icons/MaterialIcons'; +import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'; +import Octicons from 'react-native-vector-icons/Octicons'; +import Zocial from 'react-native-vector-icons/Zocial'; +import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons'; +import { GlobalTheme } from '../theme'; + + +function CustomIcon({ + iconLibrary, + icon, + size = 22, + color = GlobalTheme.colors.primary, + style = {}, + ...rest +}) { + let Icon = AntDesign; + + switch (iconLibrary) { + case 'AntDesign': + Icon = AntDesign; + break; + case 'Entypo': + Icon = Entypo; + break; + case 'EvilIcons': + Icon = EvilIcons; + break; + case 'Feather': + Icon = Feather; + break; + case 'FontAwesome': + Icon = FontAwesome; + break; + case 'Fontisto': + Icon = Fontisto; + break; + case 'Foundation': + Icon = Foundation; + break; + case 'Ionicons': + Icon = Ionicons; + break; + case 'MaterialIcons': + Icon = MaterialIcons; + break; + case 'MaterialCommunityIcons': + Icon = MaterialCommunityIcons; + break; + case 'Octicons': + Icon = Octicons; + break; + case 'Zocial': + Icon = Zocial; + break; + case 'SimpleLineIcons': + Icon = SimpleLineIcons; + break; + default: + Icon = AntDesign; + } + + return ; +} + +export default CustomIcon; diff --git a/src/constants/Images.js b/src/constants/Images.js new file mode 100644 index 0000000..af29c08 --- /dev/null +++ b/src/constants/Images.js @@ -0,0 +1,32 @@ +const IMAGES = { + // AppLogo: require('../assets/Images/logo.png'), + AppLogo: require('../assets/Images/logo.png'), + filterIcon: require('../assets/Icons/filter.png'), + menuIcon: require('../assets/Icons/menu.png'), + pluscircleIcon: require('../assets/Icons/pluscircle.png'), + rightArrowIcon: require('../assets/Icons/rightarrow.png'), + leftArrowIcon: require('../assets/Icons/leftarrow.png'), + crossIcon: require('../assets/Icons/cross.png'), + searchIcon: require('../assets/Icons/search.png'), + greenCameraIcon: require('../assets/Icons/green_camera.png'), + redCameraIcon: require('../assets/Icons/red_camera.png'), + normalCameraIcon: require('../assets/Icons/camera.png'), + WhiteBGIMG: require('../assets/Images/white.png'), + backIcon:require('../assets/Icons/backIcon.png'), + greenTick:require('../assets/Icons/greenTick.png'), + storeIcon:require('../assets/Icons/store.png'), + reportIcon:require('../assets/Icons/report.png'), + downIcon:require('../assets/Icons/down.png'), + upArrow:require('../assets/Icons/uparrow.png'), + footerImage : require('../assets/Images/footerImage.png'), + Logo: require('../assets/Images/applogo.png'), + WelcomeBackground: require('../assets/Images/welcomebackground.png'), + Welcomelogo: require('../assets/Images/welcomelogo.png'), + AuthTopBG: require('../assets/Images/logintopBG.png'), + AuthTopBGNew: require('../assets/Images/appLogoNew.png'), + AuthBottomBG: require('../assets/Images/loginbottomBG.png'), + dotsIcon: require('../assets/Icons/dots.png'), + +}; + +export default IMAGES; diff --git a/src/constants/Loader.js b/src/constants/Loader.js new file mode 100644 index 0000000..ebdf151 --- /dev/null +++ b/src/constants/Loader.js @@ -0,0 +1,54 @@ +import React from 'react'; +import { useWindowDimensions, Dimensions, View, Text, ActivityIndicator, StyleSheet, Image, StatusBar } from 'react-native'; +import LoaderKit from 'react-native-loader-kit' + + +const Loader = ({ visible = false , loadingtext = 'Loading...'}) => { + const { width, height } = useWindowDimensions(); + const height2 = height + 100 + + return ( + visible && ( + + + + {loadingtext} + + + ) + ); +}; + + + +const style = StyleSheet.create({ + label: { + marginLeft: 10, + fontSize: 16, + color: 'white', + fontFamily: "FuturaPT-Book", + }, + loader: { + height: 100, + backgroundColor: 'transparent', + marginHorizontal: 50, + borderRadius: 5, + flexDirection: 'column', + alignItems: 'center', + paddingHorizontal: 0, + }, + container: { + top: 0, + bottom: 0, + position: 'absolute', + zIndex: 1050, + backgroundColor: 'rgba(0,0,0,0.5)', + justifyContent: 'center', + }, +}); + +export default Loader; \ No newline at end of file diff --git a/src/constants/Toast.js b/src/constants/Toast.js new file mode 100644 index 0000000..b3c294a --- /dev/null +++ b/src/constants/Toast.js @@ -0,0 +1,36 @@ +// Toast.js +import Toast from 'react-native-toast-message'; +const showToast = (type, text1, text2) => { + Toast.show({ + type: type, + text1: text1, + text2: text2, + position: 'top', + visibilityTime: 3000, + autoHide: true, + topOffset: 30, + bottomOffset: 40, + text1Style: { + fontSize: 15, // Custom font size for the main text + fontWeight: 'bold', + }, + text2Style: { + fontSize: 14, // Custom font size for the secondary text + color:'gray' + }, + }); +}; + +const ToastComponent = () => { + return Toast.setRef(ref)} />; +}; + +const toastSuccess = (text1, text2) => { + showToast('success', text1, text2); +}; + +const toastError = (text1, text2) => { + showToast('error', text1, text2); +}; + +export { ToastComponent, toastSuccess, toastError }; \ No newline at end of file diff --git a/src/constants/constant.js b/src/constants/constant.js new file mode 100644 index 0000000..13c304b --- /dev/null +++ b/src/constants/constant.js @@ -0,0 +1,9 @@ +import * as RNFS from 'react-native-fs'; + +const common_ImagePath=`${RNFS.DocumentDirectoryPath}/`; +const ImageFolderPath=`${common_ImagePath}PerformicsAllImages/`; +const FeedbackImagesFolderPath=ImageFolderPath+`Store_DNA/`; +const defUploadFolder='BulkImages'; + +export {common_ImagePath ,FeedbackImagesFolderPath , ImageFolderPath ,defUploadFolder}; + diff --git a/src/constants/database.js b/src/constants/database.js new file mode 100644 index 0000000..3a23962 --- /dev/null +++ b/src/constants/database.js @@ -0,0 +1,177 @@ +import SQLite from 'react-native-sqlite-storage'; + +const db = SQLite.openDatabase({ name: 'feedback.db', location: 'default' }); + +// Initialize FeedbackCategory table (full structure from mockDataFlat) +export const initTables = () => { + db.transaction(tx => { + // Table for API-fetched question/answer data + tx.executeSql(` + CREATE TABLE IF NOT EXISTS FeedbackCategory ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + MenuId INTEGER, + SurveyId INTEGER, + SurveyName TEXT, + CategoryId INTEGER, + Category TEXT, + CategorySequence INTEGER, + QuestionId INTEGER, + Question TEXT, + QuestionType TEXT, + QuestionTypeNew TEXT, + QEnable BOOLEAN, + QuestionImageAllow BOOLEAN, + QuestionImageMandatory BOOLEAN, + LengthValidation BOOLEAN, + MinLength INTEGER, + MaxLength INTEGER, + OTP BOOLEAN, + DateRange TEXT, + QuestionSequence INTEGER, + AnswerId INTEGER, + Answer TEXT, + AnswerSequence INTEGER, + ImageAllow1 BOOLEAN, + ImageAllow2 BOOLEAN, + Image1Mandatory BOOLEAN, + Image2Mandatory BOOLEAN, + EnableQuestion TEXT, + DisableQuestion TEXT, + ShowCat INTEGER, + SubCategoryId INTEGER, + SubCategory TEXT, + SubCategorySequence INTEGER, + CalFormula TEXT, + RefImage TEXT, + QuestionRefImage TEXT + ); + `); + + // Table for locally saved user responses + tx.executeSql(` + CREATE TABLE IF NOT EXISTS FeedBackLocalTable ( + KEY_ID INTEGER PRIMARY KEY AUTOINCREMENT, + STORE_ID INTEGER, + VISIT_DATE NVARCHAR, + SURVEY_ID INTEGER, + CATEGORY_ID INTEGER, + SUB_CATEGORY_ID INTEGER, + QUESTION NVARCHAR, + QUESTION_ID INTEGER, + QUESTION_TYPE NVARCHAR, + ANSWER NVARCHAR, + ANSWER_ID INTEGER, + QuestionImageAllow INTEGER, + IMAGE_ALLOW1 INTEGER, + IMAGE1 NVARCHAR, + IMAGE_ALLOW2 INTEGER, + IMAGE2 NVARCHAR, + MULTI_OPTIONS_IDS NVARCHAR, + IS_DISABLED NVARCHAR, + IS_ENABLED NVARCHAR, + MENU_ID INTEGER, + ADDED_DATE TEXT, + VerifyOTP INTEGER, + QUESTION_REF_IMAGE TEXT, + STATUS NVARCHAR + ); + `); + + // + + tx.executeSql(` + CREATE TABLE IF NOT EXISTS StoreInfoDNALocal ( + KEY_ID INTEGER PRIMARY KEY AUTOINCREMENT, + VISIT_DATE NVARCHAR , + StoreId INTEGER, + StoreName NVARCHAR, + ChainName NVARCHAR, + Address NVARCHAR, + Pincode NVARCHAR, + CityName NVARCHAR, + StateName NVARCHAR, + StoreType NVARCHAR, + UPLOAD_STATUS NVARCHAR + ); + `); + }); +}; + +// Bulk insert for FeedbackCategory (full schema) +export const bulkInsertData = (tableName, dataArray) => { + return new Promise((resolve, reject) => { + if (!Array.isArray(dataArray) || dataArray.length === 0) { + resolve(true); + return; + } + + if (tableName !== 'FeedbackCategory') { + reject(`Unsupported table: ${tableName}`); + return; + } + + const escape = str => (str || '').toString().replace(/'/g, "''"); + + const values = dataArray.map(item => `( + '${item.MenuId}', '${item.SurveyId}', '${escape(item.SurveyName)}', + '${item.CategoryId}', '${escape(item.Category)}', '${item.CategorySequence}', + '${item.QuestionId}', '${escape(item.Question)}', '${escape(item.QuestionType)}', + '${escape(item.QuestionTypeNew)}', '${item.QEnable ? 1 : 0}', '${item.QuestionImageAllow ? 1 : 0}', + '${item.QuestionImageMandatory ? 1 : 0}', '${item.LengthValidation ? 1 : 0}', '${item.MinLength}', + '${item.MaxLength}', '${item.OTP ? 1 : 0}', '${escape(item.DateRange)}', '${item.QuestionSequence}', + '${item.AnswerId}', '${escape(item.Answer)}', '${item.AnswerSequence}', + '${item.ImageAllow1 ? 1 : 0}', '${item.ImageAllow2 ? 1 : 0}', '${item.Image1Mandatory ? 1 : 0}', + '${item.Image2Mandatory ? 1 : 0}', '${escape(item.EnableQuestion)}', '${escape(item.DisableQuestion)}', + '${item.ShowCat}', '${item.SubCategoryId}', '${escape(item.SubCategory)}', '${item.SubCategorySequence}', + '${escape(item.CalFormula)}', '${escape(item.RefImage)}', '${escape(item.QuestionRefImage)}' + )`); + + const sql = ` + INSERT INTO FeedbackCategory ( + MenuId, SurveyId, SurveyName, CategoryId, Category, CategorySequence, + QuestionId, Question, QuestionType, QuestionTypeNew, QEnable, QuestionImageAllow, + QuestionImageMandatory, LengthValidation, MinLength, MaxLength, OTP, DateRange, + QuestionSequence, AnswerId, Answer, AnswerSequence, ImageAllow1, ImageAllow2, + Image1Mandatory, Image2Mandatory, EnableQuestion, DisableQuestion, + ShowCat, SubCategoryId, SubCategory, SubCategorySequence, + CalFormula, RefImage, QuestionRefImage + ) + VALUES ${values.join(',')} + `; + + db.transaction(tx => { + tx.executeSql(`DELETE FROM FeedbackCategory`, [], () => { + tx.executeSql(sql, [], () => { + console.log(`${tableName} inserted successfully`); + resolve(true); + }, (e1, err) => { + console.log('Insert error:', err); + reject(err); + }); + }, (err) => { + console.log('Delete error:', err); + reject(err); + }); + }); + }); +}; + +// Generic SELECT +export const getAllFromTable = (tableName) => { + return new Promise((resolve, reject) => { + db.transaction(tx => { + tx.executeSql(`SELECT * FROM ${tableName}`, [], (tx, results) => { + const rows = []; + for (let i = 0; i < results.rows.length; i++) { + rows.push(results.rows.item(i)); + } + resolve(rows); + }, (err) => { + console.log(`Select error on ${tableName}:`, err); + reject(err); + }); + }); + }); +}; + +export default db; \ No newline at end of file diff --git a/src/constants/function.js b/src/constants/function.js new file mode 100644 index 0000000..42aa401 --- /dev/null +++ b/src/constants/function.js @@ -0,0 +1,455 @@ +import { defUploadFolder, FeedbackImagesFolderPath, ImageFolderPath } from "./constant"; +import moment from 'moment'; +import { Image } from "react-native"; +import * as RNFS from 'react-native-fs'; +import PhotoManipulator from 'react-native-photo-manipulator'; +import ImageResizer from '@bam.tech/react-native-image-resizer'; +import { toastError } from "./Toast"; +import IMAGES from "./Images"; + +export async function CreateImageFolders() { + console.log('CreateDirKPIimg:'); + await RNFS.mkdir(ImageFolderPath); + await RNFS.mkdir(FeedbackImagesFolderPath); +} + +export async function getImage(imgdata , userId , item) { + console.log("item===", item); + if (typeof imgdata == 'object' && imgdata.errorCode === 'camera_unavailable') { + console.log("camera not available"); + return null; + } + + if (typeof imgdata == 'object' && imgdata.uri != null) { + try { + const imgurl = imgdata.uri.startsWith('file://') ? imgdata.uri : `file://${imgdata.uri}`; + + // 🔹 Get dynamic image width and height + const { width: imgWidth, height: imgHeight } = await new Promise((resolve, reject) => { + Image.getSize(imgurl, (width, height) => resolve({ width, height }), reject); + }); + + console.log("Image size ===", imgWidth, imgHeight); + + const picture_clickedd = new Date(); + const picture_clicked_time = moment(picture_clickedd).format('MM-DD-YYYY HH:mm:ss'); + const picture_clicked_time_for_pic_name = moment(picture_clickedd).format('MMDDYYYY_HHmmss'); + + const filename = userId + picture_clicked_time_for_pic_name + '.jpg'; + const mark_text1 = picture_clicked_time; + const mark_text2 = `User Id: ${userId} | StoreName: ${item?.StoreName} | StoreId: ${item?.StoreId} | Date: ${picture_clicked_time}`; + const imagePath = `${FeedbackImagesFolderPath}${filename}`; + + console.log("Copying image to:", imagePath); + await RNFS.copyFile(imgurl.replace('file://', ''), imagePath); + + const restore_data = { + destFilePath: imagePath, + imgurl: imagePath, + imgWidth, + imgHeight, + mark_text1, + mark_text2, + }; + + const is_restored = await restore_ImageWithMetaData(restore_data, imgdata); + console.log("Image restored:", is_restored); + console.log("Image imagePath:", imagePath); + + return { finalPath: imagePath }; + } catch (err) { + console.log('❌ ERROR in getImage:', err); + return null; + } + } + + return null; +} + +// const waterMarkText = async (text = '', imgurl = '', text2 = '', imgWidth = 0, imgHeight = 0) => { + +// const wrapText = (text2, maxCharsPerLine) => { +// const words = text2.split(' '); +// const lines = []; +// let currentLine = ''; + +// for (let word of words) { +// if ((currentLine + word).length <= maxCharsPerLine) { +// currentLine += (currentLine ? ' ' : '') + word; +// } else { +// lines.push(currentLine); +// currentLine = word; +// } +// } +// console.log('currentLine====>', currentLine); + +// if (currentLine) lines.push(currentLine); +// return lines; +// }; + + + +// try { +// if (!imgurl) throw new Error("Image URL is missing"); + +// const cleanPath = imgurl.startsWith('file://') ? imgurl : `file://${imgurl}`; +// const stripHeight = 250; + +// // ✅ Copy from Android assets folder to filesystem +// const destPath = `${RNFS.CachesDirectoryPath}/white.png`; +// const exists = await RNFS.exists(destPath); + +// if (!exists) { +// await RNFS.copyFileAssets('white.png', destPath); // white.png is in android/app/src/main/assets +// } + +// const stripFilePath = `file://${destPath}`; + +// // ✅ Step 2: Overlay strip +// const imageWithStrip = await PhotoManipulator.overlayImage( +// cleanPath, +// stripFilePath, +// { x: 0, y: imgHeight - stripHeight }, +// 'image/jpeg' +// ); + +// // ✅ Step 3: Add text +// const lines = wrapText(text2, 80); // You can adjust 25 depending on font size / image width + +// const texts = [ +// { +// position: { x: 30, y: 50 }, +// text: text, +// textSize: 80, +// color: '#FF0000', +// }, +// ...lines.map((line, i) => ({ +// position: { x: 30, y: imgHeight - 120 + i * 90 }, // 90 = line height +// text: line, +// textSize: 80, +// color: '#000000', +// })), +// ]; + +// const finalImagePath = await PhotoManipulator.printText(imageWithStrip, texts, 'image/jpeg'); +// const uri = finalImagePath.startsWith('file://') ? finalImagePath : `file://${finalImagePath}`; + +// return { success: true, uri }; +// } catch (error) { +// console.error("❌ Error in waterMarkText:", error); +// return { success: false, error: error.message }; +// } +// }; + +const waterMarkText = async (text = '', imgurl = '', text2 = '', imgWidth = 0, imgHeight = 0) => { + const wrapTextByImageWidth = (text, imgWidth, fontSize = 80, padding = 60) => { + const avgCharWidth = fontSize * 0.6; // Conservative estimate + const maxChars = Math.floor((imgWidth - padding) / avgCharWidth); + + const words = text.split(' '); + const lines = []; + let currentLine = ''; + + for (let word of words) { + if ((currentLine + ' ' + word).trim().length <= maxChars) { + currentLine += (currentLine ? ' ' : '') + word; + } else { + lines.push(currentLine); + currentLine = word; + } + } + if (currentLine) lines.push(currentLine); + + return lines; + }; + + try { + if (!imgurl) throw new Error("Image URL is missing"); + + const cleanPath = imgurl.startsWith('file://') ? imgurl : `file://${imgurl}`; + const stripHeight = 250; + + // ✅ White strip setup + const destPath = `${RNFS.CachesDirectoryPath}/white.png`; + const exists = await RNFS.exists(destPath); + if (!exists) { + await RNFS.copyFileAssets('white.png', destPath); + } + + const stripFilePath = `file://${destPath}`; + + // ✅ Overlay strip at bottom + const imageWithStrip = await PhotoManipulator.overlayImage( + cleanPath, + stripFilePath, + { x: 0, y: imgHeight - stripHeight }, + 'image/jpeg' + ); + + // ✅ Wrap text2 according to image width + const fontSize = 80; + const lineHeight = 90; + const padding = 60; + const lines = wrapTextByImageWidth(text2, imgWidth, fontSize, padding); + + const startY = imgHeight - stripHeight + 40; // Add top padding inside strip + + // ✅ Build text objects + const texts = [ + { + position: { x: 30, y: 50 }, + text: text, + textSize: fontSize, + color: '#FF0000', + }, + ...lines.map((line, index) => ({ + position: { x: 30, y: startY + index * lineHeight }, + text: line, + textSize: fontSize, + color: '#000000', + })), + ]; + + const finalImagePath = await PhotoManipulator.printText(imageWithStrip, texts, 'image/jpeg'); + const uri = finalImagePath.startsWith('file://') ? finalImagePath : `file://${finalImagePath}`; + + return { success: true, uri }; + } catch (error) { + console.error("❌ Error in waterMarkText:", error); + return { success: false, error: error.message }; + } +}; + + + +export async function restore_ImageWithMetaData(data, imgdata) { + let { destFilePath, imgurl, imgWidth, imgHeight, mark_text1, mark_text2 } = data; + + try { + const cleanImgUrl = imgurl.startsWith('file://') ? imgurl : `file://${imgurl}`; + const rawPath = cleanImgUrl.replace('file://', ''); + + // Fallback to imgdata values + if (!imgWidth && imgdata?.width) imgWidth = imgdata.width; + if (!imgHeight && imgdata?.height) imgHeight = imgdata.height; + + if (!imgWidth || !imgHeight || !rawPath) { + console.log('❌ Invalid resize parameters', { imgWidth, imgHeight, imgurl }); + return false; + } + + const fileExists = await RNFS.exists(rawPath); + if (!fileExists) { + console.log('❌ Image file not found at:', rawPath); + return false; + } + + // Step 1: Resize (only if dimensions are large) + const resized = await resizeImage(cleanImgUrl, imgWidth, imgHeight); + if (!resized.success) { + console.log("❌ Resize failed:", resized.error); + return false; + } + + const resizedUrl = resized.uri; + const resizedData = resized.imgData; + const resizedWidth = parseInt(resizedData.width); + const resizedHeight = parseInt(resizedData.height); + + // Step 2: Watermark + const marked = await waterMarkText(mark_text1, resizedUrl, mark_text2, resizedWidth, resizedHeight); + if (!marked.success || !marked.uri) { + console.log("❌ Watermark failed:", marked.error); + return false; + } + + const markedUrl = marked.uri; + + // Step 3: Reduce pixels (if needed) + const reduced = await reducePixels(markedUrl, resizedWidth, resizedHeight); + if (!reduced.success) { + console.error("❌ Pixel reduction failed:", reduced.error); + return false; + } + + const finalUri = reduced.uri; + + // Step 4: Copy to destination + const exists = await RNFS.exists(destFilePath); + if (exists) await RNFS.unlink(destFilePath); + + await RNFS.copyFile(finalUri, destFilePath); + console.log("✅ Image with metadata saved at:", destFilePath); + + // Step 5: DO NOT delete destFilePath — it's the one used in UI! + // Optional: Clean up temp files + const filesToDelete = [rawPath, resizedUrl, markedUrl] + .map(f => f.replace('file://', '')) + .filter(f => f !== destFilePath); // protect final image + + await Promise.all( + filesToDelete.map(f => RNFS.unlink(f).catch(() => {})) + ); + + return true; + } catch (err) { + console.log("❌ restore_ImageWithMetaData failed:", err); + return false; + } +} + + +export function bytesToSize(bytes) { + const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']; + if (bytes === 0) return '0 Byte'; + const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024))); + return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i]; +} + +export const resizeImage = async (imgurl = '', imgWidth, imgHeight) => { + if (!imgurl || !imgWidth || !imgHeight || isNaN(imgWidth) || isNaN(imgHeight)) { + console.log("❌ resizeImage: Invalid parameters", { imgurl, imgWidth, imgHeight }); + return { success: false, error: 'Invalid resize parameters' }; + } + + try { + const response = await ImageResizer.createResizedImage( + imgurl, imgWidth, imgHeight, 'JPEG', 100, 0, null, false, { onlyScaleDown: true } + ); + let size = bytesToSize(response.size); + console.log('✅ resizeImage: reduced filesize:', size); + return { success: true, uri: response.uri, imgData: response }; + } catch (err) { + console.log("❌ resizeImage error:", err); + return { success: false, error: err }; + } +}; + +export const reducePixels = async (imgurl = '', imgWidth, imgHeight) => { + if (!imgurl || !imgWidth || !imgHeight || isNaN(imgWidth) || isNaN(imgHeight)) { + console.log("❌ reducePixels: Invalid parameters", { imgurl, imgWidth, imgHeight }); + return { success: false, error: 'Invalid pixel reduction parameters' }; + } + + // Resize only if image is large + if (imgWidth > 1100 || imgHeight > 1100) { + try { + const response = await ImageResizer.createResizedImage( + imgurl, 1100, 1100, 'JPEG', 40, 0, null, false, + { onlyScaleDown: true, mode: 'contain' } + ); + let size = bytesToSize(response.size); + console.log('✅ reducePixels: reduced size to', size, '→', response.width, 'x', response.height); + return { success: true, uri: response.uri }; + } catch (err) { + console.log("❌ reducePixels error:", err); + return { success: false, error: err }; + } + } + + // No resizing needed + return { success: true, uri: imgurl }; +}; + + +// end image resize and reduce pixel function + + +export async function getAllFileForAFolder(path, Up_Foldername, KPIName = '') { + + let subFolPath = path; + const ImgFiles = await RNFS.readDir(subFolPath); + Up_Foldername = Up_Foldername != null && Up_Foldername != '' ? Up_Foldername : defUploadFolder; + + console.log("ImgFiles in ", subFolPath, ' are:', ImgFiles.length); + let allKPIfiles = []; + return new Promise.all( + ImgFiles.map(async sfile => { + if (sfile.isFile() && (sfile.name.includes('jpg') || sfile.name.includes('jpeg') || sfile.name.includes('png'))) { + + let file = { + uri: sfile.path, + type: 'image/jpeg', + name: sfile.name, + filetype: 'image', + folderName: Up_Foldername, + } + allKPIfiles.push(file); + return file; + } + else if (sfile.isDirectory() && sfile.name == 'Recordings') { + let recordingsPath = sfile.path; + let recordingFiles = await RNFS.readDir(recordingsPath); + let VoiceUp_FolderPath = KPIName != null && KPIName != '' ? FolderForREC[KPIName] : defUploadFolder; + return new Promise.all( + recordingFiles.map(async rfile => { + + if (rfile.isFile() && (rfile.name.includes('m4a') || rfile.name.includes('mp3'))) { + + let file = { + uri: rfile.path, + type: (Platform.OS == 'ios' ? 'audio/m4a' : 'audio/mp3'), + name: rfile.name, + filetype: 'audio', + folderName: VoiceUp_FolderPath, + } + allKPIfiles.push(file); + return file; + } + else { + return ''; + } + + }) + ).then((val2) => { + return val2; + }); + } + else { + return ''; + } + }) + ).then((val1) => { + console.log('getAllFileForAFolder', val1); + return allKPIfiles; + }).catch((err) => { + console.log('error in getAllFileForAFolder', err); + return allKPIfiles; + }) + +} + + + +/// download + + +export async function getDownloadJson(url, indata) { + let postdata = { + Downloadtype: indata.Downloadtype, + Username: indata.username, + Param1: '', + Param2: '', + }; + console.log(postdata); + return await fetch(url, { + method: 'post', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify(postdata), + }) + .then(response => { + return response.json(); + }) + .then((res) => { + // console.log('res',res); + let resd = JSON.parse(res); + return resd; + }) + .catch(err => { + console.log('getdashboard error', err); + return { success: false }; + }); +} \ No newline at end of file diff --git a/src/constants/uploadData.js b/src/constants/uploadData.js new file mode 100644 index 0000000..67441a9 --- /dev/null +++ b/src/constants/uploadData.js @@ -0,0 +1,65 @@ + + + +export async function UploadImagesWithoutWait(postData,url){ + console.log(url,postData); + return await UploadFormData(url,postData) + .then((res)=>{ + console.log('test:',res); + if(typeof res=='object' && res.error!=null){ + return false; + } + else if(res.includes('Success')){ + console.log('image uploaded'); + return true; + } + return false; + }) + .catch((err)=>{ + console.log(err); + return false; + }); +} + +export async function UploadData2(url, indata) { + + return await fetch(url, { + method: 'post', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify(indata), + }) + .then(response => { + return response.json(); + }) + .then((res) => { + return res; + }) + .catch(err => { + console.log('UploadData error', err); + return { success: false, error: true, errorMsg: err }; + }); +} + +export async function UploadFormData(url, formData) { + // console.log(url,formData._parts); + return await fetch(url, { + method: 'post', + headers: new Headers({ 'Content-Type': 'multipart/form-data', }), + body: formData, + }) + .then(response => { + console.log('UploadData error3', response); + return response.text(); + }) + .then((res) => { + console.log('UploadData error1', res); + return res; + }) + .catch(err => { + console.log('UploadData error2', err); + return { success: false, error: err }; + }); +} \ No newline at end of file diff --git a/src/constants/validations.js b/src/constants/validations.js new file mode 100644 index 0000000..d8b1203 --- /dev/null +++ b/src/constants/validations.js @@ -0,0 +1,59 @@ +import { toastError } from "./Toast"; + + +export function validateNumber(val, type = '', showMsg = true) { + console.log(val, "type=======", type); + let isValid = true; + if (type.toLowerCase() == 'numeric' && val != '') { + let regex = new RegExp(/^\d+$/); + let isNUmeric = regex.test(val); + if (!isNUmeric) { + isValid = false; + if (showMsg) toastError('Alert', 'Please enter whole numbers only'); + } + } + else if (type.toLowerCase() == 'decimal' && val != '') { + let regex = new RegExp(/^\d*\.?\d*$/); + let isNUmeric = regex.test(val); + if (!isNUmeric) { + isValid = false; + if (showMsg) toastError('Alert', 'Please enter decimal numbers only'); + } + } + else if (type.toLowerCase() == 'text' && val != '') { + let regex = new RegExp(/^[a-zA-Z0-9@\s_.-]*$/); + let isNUmeric = regex.test(val); + if (!isNUmeric) { + isValid = false; + if (showMsg) toastError('Alert', 'Please enter only characters and digits'); + } + + } + + else if (type.toLowerCase() === 'onlytext' && val !== '') { + let regex = /^[a-zA-Z\s]*$/; // ✅ allows only alphabets and space + const isAlpha = regex.test(val); + if (!isAlpha) { + isValid = false; + if (showMsg) toastError('Alert', 'Please enter only letters and spaces'); + } + } + + else if (type.toLowerCase() == 'textspc' && val != '') { + let regex = new RegExp(/^[a-zA-Z0-9\/-]*$/); + let isNUmeric = regex.test(val); + if (!isNUmeric) { + isValid = false; + if (showMsg) toastError('Alert', 'Please enter only characters and digits'); + } + } else if (type.toLowerCase() == 'alphanumeric' && val != '') { + let regex = new RegExp(/^[a-zA-Z0-9]+$/); + let isNUmeric = regex.test(val); + if (!isNUmeric) { + isValid = false; + if (showMsg) toastError('Alert', 'Please enter only characters and digits'); + } + } + + return isValid; +} \ No newline at end of file diff --git a/src/navigation/Routes.js b/src/navigation/Routes.js new file mode 100644 index 0000000..adeac80 --- /dev/null +++ b/src/navigation/Routes.js @@ -0,0 +1,47 @@ +import React from 'react'; +import { NavigationContainer } from '@react-navigation/native'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import Splash from '../screens/AuthScreen/Splash'; +import Login from '../screens/AuthScreen/Login'; +import VerifyOTP from '../screens/AuthScreen/VerifyOTP'; +import { ToastComponent } from '../constants/Toast'; +import StoreInfo from '../screens/MainScreen/StoreInfo'; + +import Feedback from '../screens/MainScreen/Feedback'; +import Dashboard from '../screens/MainScreen/Dashboard'; +import FeedbackCategories from '../screens/MainScreen/Feedback/FeedbackCategories'; +import { Platform, StatusBar, View } from 'react-native'; +import Welcome from '../screens/MainScreen/WelcomePage'; + +const Stack = createNativeStackNavigator(); + +const Routes = () => { + const STATUSBAR_HEIGHT = Platform.OS === 'ios' ? 50 : StatusBar.currentHeight; + return ( + + {Platform.OS === 'ios' && ( + + )} + + + + + + + + + + + + + + ); +}; + +export default Routes; \ No newline at end of file diff --git a/src/redux/reducer/index.js b/src/redux/reducer/index.js new file mode 100644 index 0000000..051efad --- /dev/null +++ b/src/redux/reducer/index.js @@ -0,0 +1,5 @@ +import userSlice from '../slices/userSlice'; + +export default { + user: userSlice, +}; diff --git a/src/redux/slices/authSlice.js b/src/redux/slices/authSlice.js new file mode 100644 index 0000000..dc7ed4a --- /dev/null +++ b/src/redux/slices/authSlice.js @@ -0,0 +1,33 @@ +// // src/redux/slices/authSlice.js +// import { createSlice } from '@reduxjs/toolkit'; + +// const initialState = { +// token: null, +// loading: false, +// error: null, +// }; + +// const authSlice = createSlice({ +// name: 'auth', +// initialState, +// reducers: { +// loginStart: (state) => { +// state.loading = true; +// state.error = null; +// }, +// loginSuccess: (state, action) => { +// state.loading = false; +// state.token = action.payload; +// }, +// loginFailure: (state, action) => { +// state.loading = false; +// state.error = action.payload; +// }, +// logout: (state) => { +// state.token = null; +// }, +// }, +// }); + +// export const { loginStart, loginSuccess, loginFailure, logout } = authSlice.actions; +// export default authSlice.reducer; \ No newline at end of file diff --git a/src/redux/slices/userSlice.js b/src/redux/slices/userSlice.js new file mode 100644 index 0000000..a8295c4 --- /dev/null +++ b/src/redux/slices/userSlice.js @@ -0,0 +1,25 @@ +import {createSlice} from '@reduxjs/toolkit'; + +const initialState = { + token: '', +}; + +const userSlice = createSlice({ + name: 'user', + initialState, + reducers: { + setUser(state, action) { + return { + ...state, + ...action.payload, + token: action?.payload?.usertoken, + }; + }, + resetUserState() { + return initialState; + }, + }, +}); + +export const {setUser, resetUserState} = userSlice.actions; +export default userSlice.reducer; diff --git a/src/redux/store.js b/src/redux/store.js new file mode 100644 index 0000000..5ba08f0 --- /dev/null +++ b/src/redux/store.js @@ -0,0 +1,5 @@ +import { configureStore } from '@reduxjs/toolkit' +import reducer from './reducer' + + +export const store = configureStore({ reducer: reducer }) \ No newline at end of file diff --git a/src/screens/AuthScreen/Login/index.js b/src/screens/AuthScreen/Login/index.js new file mode 100644 index 0000000..d936477 --- /dev/null +++ b/src/screens/AuthScreen/Login/index.js @@ -0,0 +1,98 @@ + +import React, { useEffect, useState } from 'react'; +import { View, Text, Image, Platform, ImageBackground } from 'react-native'; +import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'; +import IMAGES from '../../../constants/Images'; +import { styles } from './style'; +import { useDispatch } from 'react-redux'; +import CustomTextInput from '../../../components/CustomTextInput'; +import CustomButton from '../../../components/CustomButton'; +import Loader from '../../../constants/Loader'; +import { ApiURL } from '../../../api/ApiConstant'; +import { toastError, toastSuccess } from '../../../constants/Toast'; +import axios from 'axios'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { GlobalTheme } from '../../../theme'; +import Geolocation from '@react-native-community/geolocation'; + + +const Login = ({ navigation }) => { + const [loading, setLoading] = useState(false); + const dispatch = useDispatch(); + const [username, setUsername] = useState('testah'); + + + // geo loc + useEffect(() => { + Geolocation.getCurrentPosition(info => console.log("Location infoooo====>", JSON.stringify(info))); + }, []) + // end geo loc + + + const onSubmit = () => { + setLoading(true); + getOTP(); + setTimeout(() => { + setLoading(false); + }, 100); + }; + + const getOTP = async () => { + try { + const params = { + "UserId": username + }; + + const config = { + method: 'post', + url: ApiURL.getotpApi, + headers: { + 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + 'Content-Type': 'application/json' + }, + data: params + }; + + const response = await axios.request(config); + const res = response.data || []; + console.log('OTP is ===> ', res?.SendOTP); + if (res?.SendOTP[0].OTP === '0' || res?.SendOTP[0].OTP === 0) { + toastError("Alert", "Invalid User"); + } else { + toastSuccess("Alert", res?.SendOTP[0]?.Messages); + navigation.navigate('VerifyOTP', { username: username }); + } + // console.log('getotpApi res==>', JSON.stringify(res?.SendOTP[0])); + } catch (error) { + console.log("❌ OTP API error:", error); + } + }; + + return ( + + + + + + Login + + onSubmit()} title={'Continue'} style={styles.btnbg} textstyle={styles.btntext} /> + + Copyright CPM India - 2025 + {/* */} + + + + + + ); +}; + +export default Login; + diff --git a/src/screens/AuthScreen/Login/style.js b/src/screens/AuthScreen/Login/style.js new file mode 100644 index 0000000..024b291 --- /dev/null +++ b/src/screens/AuthScreen/Login/style.js @@ -0,0 +1,82 @@ +import { StyleSheet, Dimensions } from 'react-native'; +import { GlobalTheme } from '../../../theme'; +import { normalize } from '../../../utilis/responsive'; +const { width, height } = Dimensions.get('window'); + +export const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: GlobalTheme.colors.primary, + }, + logoContainer: { + width: '100%', + }, + appLogo: { + height: normalize(170), + width: '100%', + resizeMode: 'contain', + }, + titleContainer: { + alignSelf: 'center', + marginBottom: normalize(10), + }, + titleText: { + fontSize: normalize(20), + fontWeight: 'bold', + color: GlobalTheme.colors.black, + }, + card: { + backgroundColor: GlobalTheme.colors.white, + borderTopLeftRadius: GlobalTheme.borderRadius.xxlg || normalize(20), + borderTopRightRadius: GlobalTheme.borderRadius.xxlg || normalize(20), + padding: normalize(20), + width: width, + alignSelf: 'center', + // marginTop: normalize(30), + shadowColor: '#000', + shadowOpacity: 0.05, + shadowOffset: { width: 0, height: 4 }, + shadowRadius: 8, + elevation: 4, + flex: 1, + }, + btnbg: { + backgroundColor: GlobalTheme.colors.secondary, + borderRadius: GlobalTheme.borderRadius.md, + marginTop: normalize(30), + paddingVertical: normalize(12), + alignItems: 'center', + }, + btntext: { + color: GlobalTheme.colors.white, + fontSize: normalize(GlobalTheme.typography.fontSize.small), + fontWeight: GlobalTheme.typography.fontWeight.regular, + }, + footer: { + marginTop: normalize(60), + alignItems: 'center', + }, + footerImage: { + width: '100%', + height: normalize(80), + resizeMode: 'contain', + marginTop : normalize(160), + }, + AuthBottomBG: { + width: '100%', + resizeMode: 'contain', + height: normalize(300), + justifyContent: 'center', + }, + loginTitle: { + color: GlobalTheme.colors.black, + fontSize: normalize(GlobalTheme.typography.fontSize.large), + fontWeight: GlobalTheme.typography.fontWeight.medium, + textAlign: 'center', + marginBottom: normalize(20), + }, + mainContainer: { + flex: 1, + backgroundColor: '#EAF0FF', + }, +}); diff --git a/src/screens/AuthScreen/Splash/index.js b/src/screens/AuthScreen/Splash/index.js new file mode 100644 index 0000000..2366e8d --- /dev/null +++ b/src/screens/AuthScreen/Splash/index.js @@ -0,0 +1,95 @@ +import { View, Text, Image, Dimensions, StyleSheet } from 'react-native'; +import React, { useEffect } from 'react'; +import IMAGES from '../../../constants/Images'; +import AsyncStorage from '@react-native-async-storage/async-storage'; +import { useDispatch } from 'react-redux'; +import { setUser } from '../../../redux/slices/userSlice'; + +const SplashScreen = ({ navigation }) => { + const dispatch = useDispatch(); + + useEffect(() => { + const checkLoginStatus = async () => { + try { + const isuserlogin = await AsyncStorage.getItem('@Dabur_DNA_User'); + console.log("isuserlogin", isuserlogin) + const parsedUser = JSON.parse(isuserlogin); + if (isuserlogin) { + dispatch(setUser(parsedUser)); + navigation.reset({ + index: 0, + routes: [{ name: 'Welcome' }], + }); + } else { + navigation.reset({ + index: 0, + routes: [{ name: 'Login' }], + }); + } + } catch (error) { + console.error('Error checking login status:', error); + } + }; + + checkLoginStatus(); + }, []); + + + return ( + + + + + + + + + ); +}; + +export default SplashScreen; + +const styles = StyleSheet.create({ + backgroundContainer: { + position: 'absolute', + top: 0, + bottom: 0, + left: 0, + right: 0, + }, + container: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + }, + overlay: { + opacity: 1, + alignItems: 'center', + justifyContent: 'center', + }, + logo: { + backgroundColor: 'rgba(0,0,0,0)', + height: 200, + width: 200, + overflow: 'hidden', + resizeMode: 'contain', + marginTop: 5, + justifyContent: 'center', + }, + backdrop: { + flex: 1, + width: '100%', + height: '100%', + }, + headline: { + fontSize: 18, + textAlign: 'center', + backgroundColor: 'black', + color: 'white', + //borderWidth:1 + }, +}); diff --git a/src/screens/AuthScreen/VerifyOTP/index.js b/src/screens/AuthScreen/VerifyOTP/index.js new file mode 100644 index 0000000..67fa909 --- /dev/null +++ b/src/screens/AuthScreen/VerifyOTP/index.js @@ -0,0 +1,219 @@ +import React, { useEffect, useState } from 'react'; +import { View, Text, Image, TouchableOpacity, ImageBackground } from 'react-native'; +import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'; +import { useDispatch } from 'react-redux'; +import { OtpInput } from "react-native-otp-entry"; +import CustomButton from '../../../components/CustomButton'; +import Background from '../../../components/Background'; +import IMAGES from '../../../constants/Images'; +import { GlobalTheme } from '../../../theme'; +import { styles } from './style'; +import { toastError, toastSuccess } from '../../../constants/Toast'; +import Loader from '../../../constants/Loader'; +import { ApiURL } from '../../../api/ApiConstant'; +import AsyncStorage from '@react-native-async-storage/async-storage'; +import { setUser } from '../../../redux/slices/userSlice'; +import axios from 'axios'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +const VerifyOTP = ({ navigation, route }) => { + const [loading, setLoading] = useState(false); + const dispatch = useDispatch(); + const [otp, setOTP] = useState(''); + const [timer, setTimer] = useState(300); // 5 minutes = 300 seconds + const [showResend, setShowResend] = useState(false); + + const username = route.params.username; + + useEffect(() => { + if (timer === 0) { + setShowResend(true); + return; + } + + const interval = setInterval(() => { + setTimer(prev => prev - 1); + }, 1000); + + return () => clearInterval(interval); + }, [timer]); + + const formatTime = (secs) => { + const minutes = Math.floor(secs / 60); + const seconds = secs % 60; + return `${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`; + }; + + const handle_validate = () => { + if (otp.length < 6) { + toastError('Alert', "Please enter 6 digit PIN"); + } else { + onSubmit(); + } + } + + const resendOTP = async () => { + try { + const params = { + "UserId": username + } + const config = { + method: 'post', + url: ApiURL.getotpApi, + headers: { + 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + 'Content-Type': 'application/json' + }, + data: params + }; + const response = await axios.request(config); + const res = response.data || []; + // console.log('storeSearchApi====>', res); + if (res?.SendOTP[0].OTP === '0' || res?.SendOTP[0].OTP === 0) { + toastError("Alert", res?.SendOTP[0]?.Messages) + } else { + toastSuccess("Alert", res?.SendOTP[0]?.Messages) + navigation.navigate('VerifyOTP', { username: username }); + } + // console.log('getotpApi res==>', JSON.stringify(res?.SendOTP[0])); + // setLoading(false) + } catch (error) { + // setLoading(false) + console.log("❌ Filter API error:", error); + } + }; + + const resend_OTP = () => { + setTimer(300); + setShowResend(false); + toastSuccess('Resend OTP Successfully.') + resendOTP(); + } + + const onSubmit = () => { + setLoading(true) + VerifyOTP(); + setTimeout(() => { + setLoading(false) + }, 100); + } + + const VerifyOTP = async () => { + try { + const params = { + "UserId": username, + "OTP": otp + } + + const config = { + method: 'post', + url: ApiURL.verifyotpApi, + headers: { + 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + 'Content-Type': 'application/json' + }, + data: params + }; + + const response = await axios.request(config); + const res = response.data || []; + + if (res?.AuthenticateOTP[0].Message == 'OTP is matched') { + toastSuccess("Alert", res?.AuthenticateOTP[0]?.Message || "Alert", "Login Successfully.") + await AsyncStorage.setItem('@Dabur_DNA_User', JSON.stringify(res?.AuthenticateOTP[0])); + dispatch(setUser(res?.AuthenticateOTP[0])); + navigation.reset({ index: 0, routes: [{ name: 'Welcome' }] }) + } else { + toastError("Alert", res?.AuthenticateOTP[0]?.Message); + } + } catch (error) { + // setLoading(false) + console.log("❌ Filter API error:", error); + } + + } + + return ( + + navigation.goBack()}> + + + Back + + + + + + + + Enter the OTP sent to your {"\n"} registered contact + + + console.log("Focused")} + // onBlur={() => console.log("Blurred")} + onTextChange={(text) => setOTP(text)} + onFilled={(text) => { + setOTP(text); + console.log(`OTP is ${text}`); + }} + textInputProps={{ + accessibilityLabel: "One-Time Password", + }} + textProps={{ + accessibilityRole: "text", + accessibilityLabel: "OTP digit", + allowFontScaling: false, + }} + theme={{ + containerStyle: styles.container, + pinCodeContainerStyle: styles.pinCodeContainer, + pinCodeTextStyle: styles.pinCodeText, + focusStickStyle: styles.focusStick, + focusedPinCodeContainerStyle: styles.activePinCodeContainer, + placeholderTextStyle: styles.placeholderText, + filledPinCodeContainerStyle: styles.filledPinCodeContainer, + disabledPinCodeContainerStyle: styles.disabledPinCodeContainer, + }} + /> + + + + + + + + {!showResend ? ( + Resend OTP in {formatTime(timer)} + ) : ( + + + Resend OTP + + + )} + + + + {/* */} + Copyright CPM India - 2025 + + + + + + + ); +}; + +export default VerifyOTP; diff --git a/src/screens/AuthScreen/VerifyOTP/style.js b/src/screens/AuthScreen/VerifyOTP/style.js new file mode 100644 index 0000000..a0208da --- /dev/null +++ b/src/screens/AuthScreen/VerifyOTP/style.js @@ -0,0 +1,149 @@ +import { Dimensions, StyleSheet } from 'react-native'; +import { GlobalTheme, Screen } from '../../../theme'; +import { normalize } from '../../../utilis/responsive'; + +const { width, height } = Dimensions.get('window'); + +export const styles = StyleSheet.create({ + container: { + // flex: 1, + // paddingHorizontal: 5 + flex: 1, + backgroundColor: GlobalTheme.colors.primary, + }, + logoContainer: { + alignItems: 'center', + }, + appLogo: { + height: normalize(170), + width: '100%', + resizeMode: 'contain', + marginTop: 40 + }, + titleContainer: { + alignSelf: 'center', + }, + titleText: { + fontSize: 18, + fontWeight: '500', + color: GlobalTheme.colors.black, + textAlign: 'center' + }, + btnbg: { + backgroundColor: GlobalTheme.colors.secondary, borderRadius: GlobalTheme.borderRadius.md + }, + btntext: { + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.medium + }, + otp_inputStyle: { + textAlign: 'center', + backgroundColor: 'red', + width: 100, + borderRadius: 4, + paddingVertical: 10, + paddingHorizontal: 15, + height: 50, + color: 'red', + marginBottom: 10, + marginRight: 10, + fontSize: 25, + }, + // OTP + pinCodeContainer: { + width: 45, + height: 55, + borderWidth: 1, + borderColor: '#D8E3F1', + borderRadius: 8, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#fff', + }, + activePinCodeContainer: { + borderColor: GlobalTheme.colors.primary, + borderWidth: 2, + }, + filledPinCodeContainer: { + backgroundColor: '#D8E3F1', + }, + disabledPinCodeContainer: { + backgroundColor: '#f0f0f0', + borderColor: '#ddd', + }, + pinCodeText: { + fontSize: 20, + fontWeight: 'bold', + color: '#333', + }, + focusStick: { + height: 2, + width: 20, + backgroundColor: GlobalTheme.colors.primary, + marginTop: 4, + }, + placeholderText: { + color: '#aaa', + fontSize: 18, + }, + resendText: { + color: GlobalTheme.colors.primary, + fontWeight: 'bold', + fontSize: 14, + marginTop: 20, + textAlign: 'center', + }, + timerText: { + color: 'gray', + fontSize: 14, + marginTop: 20, + textAlign: 'center', + }, + resendOTP: { + color: GlobalTheme.colors.secondary, fontWeight: GlobalTheme.typography.fontWeight.medium, fontSize: GlobalTheme.typography.fontSize.small + }, + iconStyle: { + height: 20, + width: 20, + resizeMode: 'contain', + tintColor: GlobalTheme.colors.white + }, + backIconText: { fontSize: GlobalTheme.typography.fontSize.small, color: GlobalTheme.colors.white, fontWeight: GlobalTheme.typography.fontWeight.medium, marginLeft: 8 }, + backTextView: { + flexDirection: 'row', alignItems: 'center', paddingTop: 20, paddingHorizontal: 10 + }, + card: { + backgroundColor: GlobalTheme.colors.white, + borderTopLeftRadius: GlobalTheme.borderRadius.xxlg || normalize(20), + borderTopRightRadius: GlobalTheme.borderRadius.xxlg || normalize(20), + padding: normalize(20), + width: width, + alignSelf: 'center', + // marginTop: normalize(30), + shadowColor: '#000', + shadowOpacity: 0.05, + shadowOffset: { width: 0, height: 4 }, + shadowRadius: 8, + elevation: 4, + flex: 1, + minHeight : height * 0.7 + }, + footer: { + marginTop: 60, + alignItems: 'center', + }, + footerImage: { + width: '100%', + height: normalize(80), + resizeMode: 'contain', + marginTop: normalize(160), + }, + AuthBottomBG: { + width: '100%', + resizeMode: 'contain', + height: normalize(270), + justifyContent: 'center', + marginTop: normalize(-40), + }, + +}); diff --git a/src/screens/MainScreen/Dashboard/display.json b/src/screens/MainScreen/Dashboard/display.json new file mode 100644 index 0000000..b418ede --- /dev/null +++ b/src/screens/MainScreen/Dashboard/display.json @@ -0,0 +1,209 @@ +{ + "subTabs": [ + { + "TabId": 1, + "TabName": "PSS Score", + "TabRow": 1, + "TabCol": 1 + }, + { + "TabId": 2, + "TabName": "SOS Actual", + "TabRow": 1, + "TabCol": 2 + }, + { + "TabId": 3, + "TabName": "SOS Compliance", + "TabRow": 1, + "TabCol": 3 + }, + { + "TabId": 4, + "TabName": "OSA", + "TabRow": 1, + "TabCol": 4 + }, + { + "TabId": 5, + "TabName": "Asset", + "TabRow": 1, + "TabCol": 5 + }, + { + "TabId": 6, + "TabName": "Promotion", + "TabRow": 1, + "TabCol": 6 + } + ], + "graphDetails": [ + { + "TabId": 1, + "GraphId": 1, + "GraphType": "ScoreCard", + "GraphTitle": "PSS Score", + "GraphUrl": "http://localhost:3000/MTD/PSSScore", + "GraphBackground": "#F4EAFF", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 2, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Actual", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#FFF3ED", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 3, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Compliance", + "GraphUrl": "http://localhost:3000/MTD/SOSCompliance", + "GraphBackground": "#FFFEF0", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 4, + "GraphType": "ScoreCard", + "GraphTitle": "OSA", + "GraphUrl": "http://localhost:3000/MTD/OSA", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 5, + "GraphType": "ScoreCard", + "GraphTitle": "Asset", + "GraphUrl": "http://localhost:3000/MTD/Asset", + "GraphBackground": "#EBECFF", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 6, + "GraphType": "ScoreCard", + "GraphTitle": "Promotion", + "GraphUrl": "http://localhost:3000/MTD/Promotion", + "GraphBackground": "#FFFEF0", + "GraphOptions": {} + }, + { + "TabId": 2, + "GraphId": 1, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Actual", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 2, + "GraphId": 2, + "GraphType": "BarGraph", + "GraphTitle": "SOS Actual Trend", + "GraphUrl": "http://localhost:3000/MTD/SOSActualTrend", + "GraphBackground": "#F4EAFF", + "GraphOptions": { + "axisX": "month", + "axisY": "score", + "labelShow": 1, + "barColors": [ + "#ffaa11", + "#ffbb11", + "#ffcc11" + ], + "gridLinesH": 1, + "gridLinesV": 1 + } + }, + { + "TabId": 3, + "GraphId": 3, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Compliance", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 3, + "GraphId": 4, + "GraphType": "BarGraph", + "GraphTitle": "SOS Compliance Trend", + "GraphUrl": "http://localhost:3000/MTD/SOSActualTrend", + "GraphBackground": "#fff", + "GraphOptions": { + "axisX": "month", + "axisY": "score", + "labelShow": 1, + "barColors": [ + "#ffaa11", + "#ffbb11", + "#ffcc11" + ], + "gridLinesH": 1, + "gridLinesV": 1 + } + }, + { + "TabId": 5, + "GraphId": 5, + "GraphType": "ScoreCard", + "GraphTitle": "Asset", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + + }, + { + "TabId": 5, + "GraphId": 6, + "GraphType": "Table", + "GraphTitle": "Asset Details", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 4, + "GraphId": 7, + "GraphType": "ScoreCard", + "GraphTitle": "OSA", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 4, + "GraphId": 8, + "GraphType": "PieChart", + "GraphTitle": "OSA", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 6, + "GraphId": 9, + "GraphType": "ScoreCard", + "GraphTitle": "Promotion", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 6, + "GraphId": 10, + "GraphType": "LineChart", + "GraphTitle": "Promotion", + "GraphUrl": "http://localhost:3000/MTD/SOSActual", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] +} \ No newline at end of file diff --git a/src/screens/MainScreen/Dashboard/index copy.js b/src/screens/MainScreen/Dashboard/index copy.js new file mode 100644 index 0000000..74976f2 --- /dev/null +++ b/src/screens/MainScreen/Dashboard/index copy.js @@ -0,0 +1,906 @@ +import { View, Text, StyleSheet, Image, TouchableOpacity, Dimensions, TextInput, ScrollView, FlatList, Button, Alert, Modal, TouchableWithoutFeedback, StatusBar } from 'react-native' +import React, { useEffect, useRef, useState } from 'react' +import RBSheet from 'react-native-raw-bottom-sheet'; +import { styles } from './style'; +import LinearGradient from 'react-native-linear-gradient'; +import CustomHeader from '../../../components/CustomHeader'; +import IMAGES from '../../../constants/Images'; +import CustomButton from '../../../components/CustomButton'; +import CustomDropdown from '../../../components/CustomDropdown'; +import { GlobalTheme } from '../../../theme'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +import displayData from './display.json' +import { BarChart, LineChart, PieChart } from 'react-native-chart-kit'; +import { getDownloadJson } from '../../../constants/function'; +import db, { getAllFromTable } from '../../../constants/database'; +import { post } from '../../../api/ApiService'; +import { ApiURL } from '../../../api/ApiConstant'; + +import mainDisplayJson from './mainDisplay.json' + +const Dashboard = (props) => { + + const { navigation } = props; + const screenHeight = Dimensions.get('screen').height; + const screenWidth = Dimensions.get('screen').width; + const refRBSheet = useRef(); + const [isStoreSelected, setIsStoreSelected] = useState(false) + const [searchResult, setSearchResult] = useState(false) + const [storeData, setStoreData] = useState({}) + const [mainTab, setMainTab] = useState('mtd') + const [activeTab, setActiveTab] = useState(displayData?.subTabs?.[0]?.TabId || 1) + const [state, setState] = useState(null); + const [year, setYear] = useState(null) + const [month, setMonth] = useState(null) + const [city, setCity] = useState(null); + const [asmArea, setAsmArea] = useState(null); + const scrollViewRef = useRef(null); + const [showButton, setShowButton] = useState(false); + const [modalVisible, setModalVisible] = useState(false); + + + // Handle scroll event to show/hide button + const handleScroll = (event) => { + const offsetY = event.nativeEvent.contentOffset.y; + setShowButton(offsetY > 0); // Show button only if not at the top + }; + + const openBottomSheet = () => { + refRBSheet.current.open() + } + + const onSelectStore = (item) => { + setStoreData(item) + setIsStoreSelected(true) + refRBSheet.current.close() + } + + const data = [ + { label: 'Delhi', value: '1' }, + { label: 'Mumbai', value: '2' }, + ]; + const cityData = [ + { label: 'Okhla', value: '1' }, + { label: 'Kalkaji', value: '2' }, + { label: 'South Ex.', value: '3' }, + ]; + const storeJson = [ + { + id: 1, + name: "Banarasi & Sons", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "pending" + }, + { + id: 2, + name: "Gupta store & Sons", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 3, + name: "Bansal General store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 4, + name: "Mohan Mahalaxmi store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 5, + name: "Chawla Store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 6, + name: "Chawla Store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 7, + name: "Chawla Store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 8, + name: "Chawla Store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 9, + name: "Chawla Store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + + + ]; + const visitedStoreData = [ + { + id: 1, + name: "Chawla Store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "pending" + }, + { + id: 2, + name: "Mohan Mahalaxmi store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 3, + name: "Bansal General store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 4, + name: "Bansal General store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 5, + name: "Bansal General store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 6, + name: "Bansal General store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + + ]; + const monthData = [ + { label: 'January', value: '1' }, + { label: 'February', value: '2' }, + { label: 'March', value: '3' }, + { label: 'April', value: '4' }, + { label: 'May', value: '5' }, + { label: 'June', value: '6' }, + { label: 'July', value: '7' }, + { label: 'August', value: '8' }, + { label: 'September', value: '9' }, + { label: 'October', value: '10' }, + { label: 'November', value: '11' }, + { label: 'December', value: '12' }, + ]; + const yearData = [ + { label: '2025', value: '2025' }, + { label: '2024', value: '2024' }, + { label: '2023', value: '2023' }, + { label: '2022', value: '2022' }, + { label: '2021', value: '2021' }, + { label: '2020', value: '2020' }, + { label: '2019', value: '2019' }, + { label: '2018', value: '2018' }, + { label: '2017', value: '2017' }, + { label: '2016', value: '2016' }, + { label: '2015', value: '2015' }, + ]; + const assetData = [ + { + "section": "Asset%", + "data": [ + { "display": "Real Endcap", "present": "No" }, + { "display": "Honey Parasite", "present": "Yes" }, + { "display": "Odonil Floor Stack", "present": "YHes" } + ] + }, + { + "section": "Additional Visibility", + "data": [ + { "display": "Active 1 Ltr Endcap", "present": "Yes" }, + { "display": "Chyawanprash Stack", "present": "Yes" } + ] + }, + { + "section": "Promotion", + "data": [ + { "display": "Activ 100% Juice", "present": "Yes" }, + { "display": "Airfresher", "present": "No" }, + { "display": "BABY CARE", "present": "No" }, + { "display": "Chyawanprash", "present": "No" }, + { "display": "Hair Oil", "present": "No" }, + ] + } + ] + const PieData = [ + { + name: "Seoul", + population: 21500000, + color: "rgba(131, 167, 234, 1)", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + }, + { + name: "Toronto", + population: 2800000, + color: "#F00", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + }, + { + name: "Beijing", + population: 527612, + color: "red", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + }, + { + name: "New York", + population: 8538000, + color: "#ffffff", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + }, + { + name: "Moscow", + population: 11920000, + color: "rgb(0, 0, 255)", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + } + ]; + + const barData = { + labels: ["Jan", "Feb", "March", "April",], + datasets: [ + { + data: [20, 45, 28, 80] + } + ] + }; + const chartConfig = { + backgroundColor: '#ffffff', + backgroundGradientFrom: '#ffffff', + backgroundGradientTo: '#ffffff', + fillShadowGradientFrom: '#FF8C61', // For bar colors + fillShadowGradientTo: '#FF8C61', + fillShadowGradientFromOpacity: 1, + fillShadowGradientToOpacity: 1, + decimalPlaces: 0, + color: (opacity = 1) => `rgba(0, 0, 0, ${opacity})`, // Text color + labelColor: (opacity = 1) => `rgba(0, 0, 0, ${opacity})`, + // barPercentage: 0.5, + barPercentage: 1, + + }; + + const onSelectSubTab = (item) => { + setActiveTab(item?.TabId) + } + + const filteredGraphs = displayData?.graphDetails?.filter(graph => graph.TabId === activeTab); + const firstItem = filteredGraphs?.[0]; + const restItems = filteredGraphs?.slice(1); + + const renderItem = ({ item }) => { + switch (item.GraphType) { + case "ScoreCard": + return ( + + {item.GraphTitle} + {"45%"} + + ); + + case "BarGraph": + const barData = { + labels: ["Jan", "Feb", "Mar", "Apr"], + datasets: [{ data: [35, 45, 20, 55] }] + }; + return ( + + + SOS Compliance Trend + + + + ); + + case "Table": + return ( + + + + + {'Asset'} + + + + {'Asset Details'} + + + + + {assetData && assetData.map((table, index) => ( + + {table.section} + + + + Display + Present + + { + table && table.data.map((item) => ( + + {item.display} + {item?.present} + + ))} + + + + ))} + + + + ) + + case "LineChart": + return ( + + Bezier Line Chart + `rgba(255, 255, 255, ${opacity})`, + labelColor: (opacity = 1) => `rgba(255, 255, 255, ${opacity})`, + style: { + borderRadius: 16 + }, + propsForDots: { + r: "6", + strokeWidth: "2", + stroke: "#ffa726" + } + }} + bezier + style={{ + marginVertical: 8, + borderRadius: 16 + }} + /> + + ) + case "PieChart": + return ( + + + + ) + + default: + return ( + + + Unsupported Graph Type: {item.GraphType} + + + ); + } + }; + + // download data + useEffect(() => { + const init = async () => { + await getData(); // <-- Only dynamic live data + }; + init(); + + getTabData() + + }, []); + + // Insert fallback mock data if empty + const insertMasterSurveyQuestion = (data_arr = []) => { + return new Promise((resolve, reject) => { + if (!Array.isArray(data_arr) || data_arr.length === 0) { + resolve(true); + return; + } + + const escape = str => (str || '').toString().replace(/'/g, "''"); + + const values = data_arr.map(item => { + const { + MenuId, SurveyId, SurveyName, CategoryId, Category, CategorySequence, + QuestionId, Question, QuestionType, QuestionImageAllow, QEnable, + LengthValidation, MinLength, MaxLength, OTP, DateRange, QuestionSequence, + AnswerId, Answer, ImageAllow1, ImageAllow2, Image1Mandatory, Image2Mandatory, + QuestionImageMandatory, EnableQuestion, DisableQuestion, AnswerSequence, + ShowCat, SubCategoryId, SubCategory, SubCategorySequence, + QuestionTypeNew, CalFormula, RefImage, QuestionRefImage + } = item; + + return `( + '${MenuId}', '${SurveyId}', '${escape(SurveyName)}', '${CategoryId}', '${escape(Category)}', + '${CategorySequence}', '${QuestionId}', '${escape(Question)}', '${escape(QuestionType)}', + '${QuestionImageAllow ? 1 : 0}', '${QEnable ? 1 : 0}', '${LengthValidation ? 1 : 0}', + '${MinLength}', '${MaxLength}', '${OTP ? 1 : 0}', '${escape(DateRange)}', + '${QuestionSequence}', '${AnswerId}', '${escape(Answer)}', + '${ImageAllow1 ? 1 : 0}', '${ImageAllow2 ? 1 : 0}', '${Image1Mandatory ? 1 : 0}', + '${Image2Mandatory ? 1 : 0}', '${QuestionImageMandatory ? 1 : 0}', + '${escape(EnableQuestion)}', '${escape(DisableQuestion)}', '${AnswerSequence}', + '${ShowCat ? 1 : 0}', '${SubCategoryId}', '${escape(SubCategory)}', + '${SubCategorySequence}', '${escape(QuestionTypeNew)}', '${escape(CalFormula)}', + '${escape(RefImage)}', '${escape(QuestionRefImage)}' + )`; + }); + + const sql = ` + INSERT INTO FeedbackCategory ( + MenuId, SurveyId, SurveyName, CategoryId, Category, CategorySequence, + QuestionId, Question, QuestionType, QuestionImageAllow, QEnable, + LengthValidation, MinLength, MaxLength, OTP, DateRange, QuestionSequence, + AnswerId, Answer, ImageAllow1, ImageAllow2, Image1Mandatory, Image2Mandatory, + QuestionImageMandatory, EnableQuestion, DisableQuestion, AnswerSequence, + ShowCat, SubCategoryId, SubCategory, SubCategorySequence, + QuestionTypeNew, CalFormula, RefImage,QuestionRefImage + ) VALUES ${values.join(',')} + `; + + db.transaction(tx => { + tx.executeSql(`DELETE FROM FeedbackCategory`, [], () => { + tx.executeSql(sql, [], () => { + console.log('FeedbackCategory inserted successfully'); + resolve(true); + }, (err) => { + console.log('Insert error in FeedbackCategory:', err); + reject(err); + }); + }, (err) => { + console.log('Delete error before insert FeedbackCategory:', err); + reject(err); + }); + }); + }); + }; + + async function getData() { + try { + const data1 = { + Downloadtype: "Master_SurveyQuestion", + Param1: "", + Param2: "", + username: "testmer", + }; + + const url = "https://di1.parinaam.in/Webservice/GenericService.svc/DownloadJson"; + console.log("Downloading from:", url, data1); + + const res = await getDownloadJson(url, data1); + console.log('Response:', res); + + if (res?.Master_SurveyQuestion?.length) { + const data = res.Master_SurveyQuestion || []; + console.log("Inserting downloaded data into FeedbackCategory..."); + const all = await getAllFromTable('FeedbackCategory'); + if (all?.length === 0) { + console.log("Table empty. Inserting fallback mock data..."); + await insertMasterSurveyQuestion(data); + } else { + console.log("FeedbackCategory table already has data."); + } + } else { + console.log("No Master_SurveyQuestion data found in response"); + } + } catch (err) { + console.log("Dashboard feedback survey download error:", err); + } + } + // end download data. + + const getTabData = () => { + let params = { + "parameters": { + "projectid": 41654, + "year": 2025, + "monthno": 6, + "storeid": 2702 + } + } + post(ApiURL.pssscoreApi, params) + .then(res => { + console.log('psscoreApi res==>', res); + + }) + } + + return ( + + + {!isStoreSelected ? + setModalVisible(true)} + /> + : + setIsStoreSelected(false)} + rightIcon={IMAGES.menuIcon} + onRightPress={() => setModalVisible(true)} + + /> + } + + {/* MAIN DASHBOARD */} + {!isStoreSelected ? ( + + + openBottomSheet()} activeOpacity={0.8} style={styles.selectCard}> + + Select Store: + + + Select a store to view it's data. + + + + + + + + + + Today's store + + + + + + 1 + View + + + + 2 + Feedback + + + + + + {visitedStoreData && visitedStoreData.map(store => ( + navigation.navigate("FeedbackCategories")} + key={store.id} style={styles.storeCard}> + + {store.name} + {store?.status === 'completed' ? + + : + + + Pending + + + + } + + {store.address} + + + ))} + + + + + + + + + ) : ( + // STORE DASHBOARD + + + + {storeData?.name} + openBottomSheet()} style={styles.filterIcon}> + + + + navigation.navigate('StoreInfo')} style={{ width: '25%', alignItems: 'flex-end' }}> + Store info + + + + {/* Year & Month Selector */} + + + setYear(item.value)} + containerStyle={styles.yearDropDown} + /> + + + setMonth(item.value)} + containerStyle={[styles.yearDropDown, { width: 120 }]} + /> + + + + + + {/* Main Tab */} + + setMainTab('mtd')} + style={[styles.mtdTab, { borderBottomWidth: mainTab === 'mtd' ? 3 : 0, backgroundColor: mainTab === 'mtd' ? '#EFF6FF' : '#fff' }]} > + MTD + + setMainTab('lastVisit')} + style={[styles.mtdTab, { borderBottomWidth: mainTab === 'lastVisit' ? 3 : 0, backgroundColor: mainTab === 'lastVisit' ? '#EFF6FF' : '#fff' }]} > + Last Visit + + + + {/* + + {mainDisplayJson && mainDisplayJson?.Tabs.map((item, index) => ( + setMainTab('mtd')} + style={[styles.mtdTab, { borderBottomWidth: mainTab === 'mtd' ? 3 : 0, backgroundColor: mainTab === 'mtd' ? '#EFF6FF' : '#fff' }]} > + MTD + + ))} + + */} + + + + {/* Sub Tab */} + + item.TabId} + showsHorizontalScrollIndicator={false} + contentContainerStyle={{ paddingHorizontal: 10 }} + renderItem={({ item }) => { + const isSelected = activeTab === item.TabId; + return ( + onSelectSubTab(item)} + style={[styles.subTab, { backgroundColor: isSelected ? '#113F8C' : '#fff' }]}> + {item.TabName} + + ) + }} + /> + + + {/* Boxes */} + + {/* First full-width item */} + {firstItem && ( + + {firstItem.GraphTitle} + {"45%"} + + )} + + `${item.GraphId}-${index}`} + renderItem={renderItem} + numColumns={2} + columnWrapperStyle={{ justifyContent: 'space-between', marginTop: 10 }} + contentContainerStyle={{ paddingHorizontal: 2, paddingVertical: 2 }} + showsVerticalScrollIndicator={false} + /> + + + + + )} + + {/* Pop-up Modal */} + + setModalVisible(false)}> + + { navigation.navigate('FeedbackCategories'), setModalVisible(false) }} style={{ padding: 15 }}> + Feedback and Rating + + + setModalVisible(false)} style={{ padding: 15 }}> + Dashboard + + + + + + {/* Bottom Sheet */} + + + + Select Store + refRBSheet.current.close()}> + + + + + + + + + State + City + ASM Area + + + {/* Dropdown */} + + setState(item.value)} + containerStyle={{ flex: 1, }} + /> + setCity(item.value)} + containerStyle={{ flex: 1, marginHorizontal: 10 }} + /> + setAsmArea(item.value)} + containerStyle={{ flex: 1, }} + /> + + + + {/* */} + + + + + setSearchResult(!searchResult)} + style={{ backgroundColor: GlobalTheme.colors.secondary, borderRadius: GlobalTheme.borderRadius.md }} + textstyle={{ color: GlobalTheme.colors.white, fontSize: GlobalTheme.typography.fontSize.medium }} + /> + + {searchResult ? + + + 11 Store + + + {storeJson && storeJson.map(store => ( + onSelectStore(store)} + key={store.id} style={styles.storeCard}> + {store.name} + {store.address} + + + ))} + + + + : null + } + + + + + + {showButton && ( + { scrollViewRef.current?.scrollTo({ y: 0, animated: true }) }}> + + + )} + + + + + + + + ) +} + +export default Dashboard + diff --git a/src/screens/MainScreen/Dashboard/index.js b/src/screens/MainScreen/Dashboard/index.js new file mode 100644 index 0000000..7258784 --- /dev/null +++ b/src/screens/MainScreen/Dashboard/index.js @@ -0,0 +1,1372 @@ +import { View, Text, StyleSheet, Image, TouchableOpacity, Dimensions, TextInput, ScrollView, FlatList, Button, Alert, Modal, TouchableWithoutFeedback, StatusBar, ActivityIndicator, Platform } from 'react-native' +import React, { useCallback, useEffect, useRef, useState } from 'react' +import RBSheet from 'react-native-raw-bottom-sheet'; +import { styles } from './style'; +import LinearGradient from 'react-native-linear-gradient'; +import CustomHeader from '../../../components/CustomHeader'; +import IMAGES from '../../../constants/Images'; +import CustomButton from '../../../components/CustomButton'; +import CustomDropdown from '../../../components/CustomDropdown'; +import { GlobalTheme } from '../../../theme'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { BarChart } from 'react-native-gifted-charts'; + +import displayData from './display.json' +import { LineChart, PieChart, StackedBarChart } from 'react-native-chart-kit'; +import { getDownloadJson } from '../../../constants/function'; +import db, { getAllFromTable } from '../../../constants/database'; +import { post } from '../../../api/ApiService'; +import { ApiURL } from '../../../api/ApiConstant'; +import mainDisplayData from './mainDisplay.json' +import axios from 'axios'; +import Loader from '../../../constants/Loader'; +import { useSelector } from 'react-redux'; +import { useIsFocused } from '@react-navigation/native'; +import moment from 'moment'; +import _ from 'lodash'; +import AsyncStorage from '@react-native-async-storage/async-storage'; + + +const visitedStoreData = [ + { + id: 1, + name: "Chawla Store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "pending" + }, + { + id: 2, + name: "Mohan Mahalaxmi store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + }, + { + id: 3, + name: "Bansal General store", + address: "G-8, Mahakavi Goswami Tulsidas Marg, Paraag Vihar, Press Colony, Hari Nagar, New Delhi, 110027", + status: "completed" + } + +]; +const monthData = [ + { label: 'January', value: '1' }, + { label: 'February', value: '2' }, + { label: 'March', value: '3' }, + { label: 'April', value: '4' }, + { label: 'May', value: '5' }, + { label: 'June', value: '6' }, + { label: 'July', value: '7' }, + { label: 'August', value: '8' }, + { label: 'September', value: '9' }, + { label: 'October', value: '10' }, + { label: 'November', value: '11' }, + { label: 'December', value: '12' }, +]; +const yearData = [ + { label: '2025', value: '2025' }, + { label: '2024', value: '2024' }, + { label: '2023', value: '2023' }, + { label: '2022', value: '2022' }, + { label: '2021', value: '2021' }, + { label: '2020', value: '2020' }, + { label: '2019', value: '2019' }, + { label: '2018', value: '2018' }, + { label: '2017', value: '2017' }, + { label: '2016', value: '2016' }, + { label: '2015', value: '2015' }, +]; +const assetData = [ + { + "section": "Asset%", + "data": [ + { "display": "Real Endcap", "present": "No" }, + { "display": "Honey Parasite", "present": "Yes" }, + { "display": "Odonil Floor Stack", "present": "YHes" } + ] + }, + { + "section": "Additional Visibility", + "data": [ + { "display": "Active 1 Ltr Endcap", "present": "Yes" }, + { "display": "Chyawanprash Stack", "present": "Yes" } + ] + }, + { + "section": "Promotion", + "data": [ + { "display": "Activ 100% Juice", "present": "Yes" }, + { "display": "Airfresher", "present": "No" }, + { "display": "BABY CARE", "present": "No" }, + { "display": "Chyawanprash", "present": "No" }, + { "display": "Hair Oil", "present": "No" }, + ] + } +] +const PieData = [ + { + name: "Seoul", + population: 21500000, + color: "rgba(131, 167, 234, 1)", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + }, + { + name: "Toronto", + population: 2800000, + color: "#F00", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + }, + { + name: "Beijing", + population: 527612, + color: "red", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + }, + { + name: "New York", + population: 8538000, + color: "#ffffff", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + }, + { + name: "Moscow", + population: 11920000, + color: "rgb(0, 0, 255)", + legendFontColor: "#7F7F7F", + legendFontSize: 15 + } +]; +const barData = { + labels: ["Jan", "Feb", "March", "April",], + datasets: [ + { + data: [20, 45, 28, 80] + } + ] +}; + +const Dashboard = (props) => { + + const { navigation } = props; + const screenHeight = Dimensions.get('screen').height; + const screenWidth = Dimensions.get('screen').width; + const [loading, setLoading] = useState(false) + const refRBSheet = useRef(); + const [mainDisplayJson, setMainDisplayJson] = useState(mainDisplayData?.Tabs[0]?.MainTabData) + const [isStoreSelected, setIsStoreSelected] = useState(false) + const [searchResult, setSearchResult] = useState(false) + const [storeData, setStoreData] = useState({}) + const [mainTab, setMainTab] = useState('mtd') + const [activeTab, setActiveTab] = useState(mainDisplayJson?.subTabs?.[0]?.TabId || 1) + const currentDate = new Date(); + const [year, setYear] = useState(currentDate.getFullYear()); + const [month, setMonth] = useState(currentDate.getMonth() + 1); // getMonth() returns 0-11 + + const [filterData, setFilterData] = useState([]); + const [stateOptions, setStateOptions] = useState([]); + const [cityOptions, setCityOptions] = useState([]); + const [asmOptions, setAsmOptions] = useState([]); + + const [state, setState] = useState(null); // selected state ID + const [city, setCity] = useState(null); // selected city ID + const [asmArea, setAsmArea] = useState(null); // selected ASM Area ID + const [storeList, setStoreList] = useState([]) + const scrollViewRef = useRef(null); + const [showButton, setShowButton] = useState(false); + const [FeedBackModal, setFeedBackModal] = useState(false); + const [LogoutModal, setLogoutModal] = useState(false); + const [graphApiData, setGraphApiData] = useState({}); + const [searchText, setSearchText] = useState("") + const [mainTabIndex, setMainTabIndex] = useState(0); // 0 = first tab + const [mainTabs, setMainTabs] = useState(mainDisplayData.Tabs); + const [showDetailsModal, setShowDetailsModal] = useState(false); + const [selectedDetails, setSelectedDetails] = useState([]); + const [modalGraphData, setModalGraphData] = useState({}); + + const filteredGraphs = mainDisplayJson?.graphDetails?.filter(graph => graph.TabId === activeTab); + const firstItem = filteredGraphs?.[0]; + const restItems = filteredGraphs?.slice(1); + const graphDetails = mainDisplayJson?.graphDetails || []; + const [visitedStoreData1, setVisitedStoreData] = useState([]); + + // 🧠 Initialize tabCache state at the top of your component + const [tabCache, setTabCache] = useState({}); + const isFocused = useIsFocused(); + + let user_exist_data = useSelector(state => state?.user); + const userId = user_exist_data.UserId || ''; + + const onClickLogout = () => { + setLogoutModal(false); + Alert.alert( + 'Alert', + 'Are you sure you want to log out?', + [ + { + text: 'Cancel', + onPress: () => console.log('Cancel Pressed'), + style: 'cancel', + }, + { + text: 'OK', + onPress: async () => { + await AsyncStorage.removeItem('@Dabur_DNA_User'); // ✅ Clear AsyncStorage + navigation.reset({ index: 0, routes: [{ name: 'Login' }] }) + } + }, + ], + { cancelable: false } + ); + }; + + useEffect(() => { + getFilterStateCity() + }, []); + + useEffect(() => { + if (mainDisplayJson && storeData?.StoreId) { + getTabData(mainDisplayJson); + } + }, [mainTabIndex, storeData]); + + useEffect(() => { + getDataFromLocal(); + }, [isFocused]) + + + const insertStoreInfoDNALocal = (data_arr = []) => { + const d2 = moment().format('MM/DD/YYYY'); + return new Promise((resolve, reject) => { + if (!Array.isArray(data_arr) || data_arr.length === 0) { + resolve(true); + return; + } + const escape = str => (str || '').toString().replace(/'/g, "''"); + + + db.transaction(tx => { + data_arr.forEach(item => { + const { StoreId, StoreName, ChainName, Address, Pincode, StateName, StoreType, CityName } = item; + + + // First, check if the StoreId exists + tx.executeSql( + `SELECT * FROM StoreInfoDNALocal WHERE StoreId = ?`, + [StoreId], + (_, { rows }) => { + if (rows.length === 0) { + // StoreId does not exist, insert it + const sql = ` + INSERT INTO StoreInfoDNALocal + (VISIT_DATE, StoreId, StoreName, ChainName, Address, Pincode, CityName, StateName, StoreType, UPLOAD_STATUS) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`; + + + tx.executeSql(sql, [ + d2, + StoreId, + escape(StoreName), + escape(ChainName), + escape(Address), + escape(Pincode), + escape(CityName), + escape(StateName), + escape(StoreType), + 'P' + ]); + } else { + console.log(`StoreId ${StoreId} already exists. Skipping insert.`); + } + }, + err => { + console.log('Error checking existing StoreId:', err); + reject(err); + } + ); + }); + + + resolve(true); + }); + }); + }; + + const getDataFromLocal = async () => { + const d2 = moment().format('MM/DD/YYYY'); + // select * from StoreInfoDNALocal WHERE VISIT_DATE='07/22/2025' ORDER by StoreId UPLOAD_STATUS + return new Promise((resolve, reject) => { + db.transaction(tx => { + tx.executeSql( + `select * from StoreInfoDNALocal WHERE VISIT_DATE= ? ORDER by UPLOAD_STATUS`, + [d2], + (tx, results) => { + + console.log("results===", results); + const rows = []; + for (let i = 0; i < results.rows.length; i++) { + rows.push(results.rows.item(i)); + } + // console.log("rows===", rows) + setVisitedStoreData(rows); + // console.log('Completed categories from table:', completed); + resolve(); + }, + (tx, error) => { + console.log('DB error loading completed:', error); + reject(error); + } + ); + }); + }); + }; + + // const getTabData = async (tabData) => { + // setLoading(true) + // try { + // const params = { + // parameters: { + // projectid: 41654, + // year: year, + // monthno: month, + // storeid: storeData?.StoreId + // } + // }; + // const graphDetails = tabData?.graphDetails || []; + // const uniqueUrls = [...new Set(graphDetails.map(graph => graph.GraphUrl))]; + // const apiCalls = uniqueUrls.map(url => { + // const config = { + // method: 'post', + // url: url, // each URL from the list + // headers: { + // 'X-API-Key': 'f7fa9b09-ced8-4862-8cb7-5e7599d90fa2', + // 'Content-Type': 'application/json' + // }, + // data: params + // }; + // return axios.request(config); + // }); + + // const results = await Promise.all(apiCalls); + + // const dataMap = {}; + // uniqueUrls.forEach((url, idx) => { + // dataMap[url] = results[idx].data; // collect raw API response + // }); + // setGraphApiData(dataMap); + // setLoading(false) + // } catch (err) { + // console.log("❌ Error fetching tab data:", err); + // } + // }; + + // 🔧 Optimized getTabData with caching logic added + + const getTabData = async (tabData) => { + if (!storeData?.StoreId) return; + + const tabKey = `${mainTabIndex}_${storeData?.StoreId}_${year}_${month}`; + + if (tabCache[tabKey]) { + console.log("Using cached data for tab:", tabKey); + setGraphApiData(tabCache[tabKey]); + return; + } + + setLoading(true); + + try { + const params = { + parameters: { + projectid: 41654, + year: year, + monthno: month, + storeid: storeData?.StoreId + } + }; + + const graphDetails = tabData?.graphDetails || []; + const uniqueUrls = [...new Set(graphDetails.map(graph => graph.GraphUrl))]; + + const apiCalls = uniqueUrls.map(url => { + const config = { + method: 'post', + url: url, + headers: { + 'X-API-Key': 'f7fa9b09-ced8-4862-8cb7-5e7599d90fa2', + 'Content-Type': 'application/json' + }, + data: params + }; + return axios.request(config); + }); + + const results = await Promise.all(apiCalls); + + const dataMap = {}; + uniqueUrls.forEach((url, idx) => { + dataMap[url] = results[idx].data; + }); + + setGraphApiData(dataMap); + setTabCache(prev => ({ ...prev, [tabKey]: dataMap })); + + } catch (err) { + console.log("\u274C Error fetching tab data:", err); + } finally { + setLoading(false); + } + }; + + const handleScroll = (event) => { + const offsetY = event.nativeEvent.contentOffset.y; + setShowButton(offsetY > 0); // Show button only if not at the top + }; + + const openBottomSheet = () => { + refRBSheet.current.open() + } + + const onSelectStore = async (item) => { + await insertStoreInfoDNALocal([item]); + getDataFromLocal(); + setStoreData(item) + setIsStoreSelected(true) + // update mainDisplayJson as per currently selected tab + const currentTab = mainTabs[mainTabIndex]; + setMainDisplayJson(currentTab?.MainTabData); + + getTabData(currentTab?.MainTabData); + refRBSheet.current.close() + } + + const onSelectSubTab = (item) => { + setActiveTab(item?.TabId) + } + + const getFilterStateCity = async () => { + try { + const params = JSON.stringify({ "UserId": userId || '' }); + + const config = { + method: 'post', + url: ApiURL.storeDNAfilter, + headers: { + 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + 'Content-Type': 'application/json' + }, + data: params + }; + + const response = await axios.request(config); + const resData = response.data?.StoreDNAfilter || []; + + // Set all response data + setFilterData(resData); + + // Set distinct state list + const uniqueStates = Array.from( + new Map(resData.map(item => [item.StateId, { + label: item.StateName, + value: item.StateId + }])).values() + ); + + setStateOptions(uniqueStates); + + } catch (error) { + console.log("❌ Filter API error:", error); + } + }; + + const storeSearchApi = async () => { + console.log('state--', state, city); + console.log('searchText--', searchText); + + setSearchResult(!searchResult) + setLoading(true) + try { + const params = JSON.stringify({ + "StateId": state ? state : "0", + "CityId": city ? city : "0", + "AsmAreaId": asmArea ? asmArea : "0", + "StoreSearchText": searchText ? searchText : "", + "UserId": userId || 0, + }); + + const config = { + method: 'post', + url: ApiURL.storeSearch, + headers: { + 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + 'Content-Type': 'application/json' + }, + data: params + }; + + const response = await axios.request(config); + const resData = response.data?.StoreDNAstoreSearch || []; + setStoreList(resData) + setLoading(false) + + console.log('storeSearchApi====>', resData); + + } catch (error) { + setLoading(false) + console.log("❌ Filter API error:", error); + } + }; + + const renderItem = ({ item }) => { + const apiData = graphApiData[item.GraphUrl]; + const values = apiData?.data || []; + + console.log('apiData --->', apiData); + + + if (!apiData) { + return ( + + + + ); + } + + switch (item.GraphType) { + case "ScoreCard": + const firstDataObj = values[0] || {}; + const scoreValue = Object.values(firstDataObj)[0]; // dynamically get first value + return ( + + {item.GraphTitle} + + {scoreValue !== undefined ? `${scoreValue.toFixed(1)}%` : "0.0"} + + + ); + + // CHART KIT + // case "BarGraph": + // const barLabels = values.map(v => v.CalendarYear_Month); + // const barValues = values.map(v => { + // const num = Object.values(v).find(val => typeof val === 'number'); + // return num ? parseFloat(num.toFixed(1)) : 0; + // }); + + // const barData = { + // labels: barLabels, + // datasets: [ + // { + // data: barValues, + // } + // ] + // }; + + // return ( + // + // {item.GraphTitle} + + // `rgba(0, 0, 0, ${opacity})`, + // labelColor: (opacity = 1) => `rgba(0, 0, 0, ${opacity})`, + // barPercentage: 1, + // propsForVerticalLabels: { fontSize: 10 }, + // }} + // withInnerLines={true} + // withHorizontalLabels={true} + // withVerticalLabels={true} + // style={{ marginLeft: -10 }} + // yAxisInterval={20} // Trick to help scale till 100% cleanly + // /> + // + // ); + + //GIFTED CHART LIBRARY ----- + case "BarGraph": + const chartWidth = screenWidth * 0.8; + const barWidth = 36; + const barColors = ['#0088FE', '#FF8042', '#00C49F']; + + const barData = values.map((v, idx) => { + const value = parseFloat(Object.values(v).find(val => typeof val === 'number').toFixed(1)); + return { + value, + label: v.CalendarYear_Month, + frontColor: barColors[idx % barColors.length], + topLabelComponent: () => ( + {value}% + ) + }; + }); + + const visibleBars = barData.length; + const totalSpacing = chartWidth - visibleBars * barWidth; + const spacing = totalSpacing / (visibleBars + 1); + + if (!values || values == '' || values == undefined || values == null) { + return null; + } + + return ( + + + {item.GraphTitle} + + + + + ); + + case "Table": + return ( + + + {item.GraphTitle} + {values.map((row, index) => { + const keys = Object.keys(row); + return ( + + {row[keys[0]]} + {row[keys[1]]} + + ) + })} + + + + ); + + // case "PieChart": + const pieChartData = values.map((item, idx) => { + const [labelKey, valueKey] = Object.keys(item); + return { + name: item[labelKey], + population: item[valueKey], + color: ['#FF6384', '#36A2EB', '#FFCE56', '#4BC0C0', '#9966FF'][idx % 5], + legendFontColor: "#7F7F7F", + legendFontSize: 12 + }; + }); + + return ( + + `rgba(0, 0, 0, ${opacity})`, + labelColor: (opacity = 1) => `rgba(0, 0, 0, ${opacity})`, + barPercentage: 1, + propsForBackgroundLines: { + stroke: 'transparent', + } + }} + accessor={"population"} + backgroundColor={"transparent"} + paddingLeft={"15"} + center={[10, 50]} + absolute + /> + + ); + + default: + return ( + null + // + // + // Unsupported Graph Type: {item.GraphType} + // + // + ); + } + }; + + const fetchDetailGraphs = async (detailPages) => { + try { + const resultMap = {}; + + for (let item of detailPages) { + const response = await post(item.GraphUrl, { + parameters: { + projectid: 41654, + year: 2025, + monthno: 6, + storeid: 2702, + }, + }); + console.log(`Data for ${item.GraphTitle}:`, response?.data); // Add this + resultMap[item.GraphUrl] = response?.data || []; + } + setModalGraphData(resultMap); + } catch (error) { + console.log("❌ Error fetching detail graphs:", error); + } + }; + + // 🔧 Debounced search text handler (use lodash.debounce or implement custom debounce) + const debouncedSearch = useCallback(_.debounce((text) => { + setSearchText(text); + }, 300), []); + + const feedbackCount = visitedStoreData1?.filter(item => item?.UPLOAD_STATUS == 'U')?.length; + + return ( + + + + {/* MAIN DASHBOARD */} + {!isStoreSelected ? ( + + + + + {"Dashboard"} + + setLogoutModal(true)} style={styles.headerDotBtn}> + + + + + openBottomSheet()} activeOpacity={0.8} style={styles.selectCard}> + + Select Store: + + + Select a store to view it's data. + + + + + + + + + + Today's store + + + + + + {visitedStoreData1 ? visitedStoreData1?.length : 0} + View + + + + {feedbackCount ? feedbackCount : 0} + Feedback + + + + + + {visitedStoreData1 && visitedStoreData1?.map(store => ( + onSelectStore(store)} + key={store.StoreId} style={styles.storeCard}> + + {store.StoreName} + {store?.UPLOAD_STATUS === 'U' ? + + : + + + Pending + + + + } + + {store.Address} + + ))} + + + + + + + + + + ) : ( + // STORE DASHBOARD + + setIsStoreSelected(false)} + rightIcon={IMAGES.menuIcon} + onRightPress={() => setFeedBackModal(true)} + + /> + + + {/* {`${storeData?.StoreName} \n(Store Id :${storeData?.StoreId})`} */} + + {storeData?.StoreName} + Store Id : {storeData?.StoreId} + + + openBottomSheet()} style={styles.filterIcon}> + + + + navigation.navigate('StoreInfo', { storeData: storeData })} style={{ width: '25%', alignItems: 'flex-end' }}> + Store info + + + + {/* Year & Month Selector */} + + + setYear(item.value)} + containerStyle={styles.yearDropDown} + /> + + + setMonth(item.value)} + containerStyle={[styles.yearDropDown, { width: 120 }]} + /> + + { + if (storeData) { + getTabData(mainDisplayJson); + } else { + Alert.alert('Please select a store first.'); + } + }} + /> + + + + + {/* Main Tab */} + + + {mainTabs.map((tab, index) => { + const isSelected = index === mainTabIndex; + return ( + { + setMainTabIndex(index); + setMainDisplayJson(tab.MainTabData); // update subTabs and graphDetails + setActiveTab(tab.MainTabData.subTabs[0]?.TabId); // reset subTab on switch + }} + style={[ + styles.mtdTab, + { + borderBottomWidth: isSelected ? 3 : 0, + backgroundColor: isSelected ? '#EFF6FF' : '#fff', + } + ]} > + + {tab.MainTabName} + + + ); + })} + + + {/* Sub Tab */} + + item.TabId} + showsHorizontalScrollIndicator={false} + contentContainerStyle={{ paddingHorizontal: 10 }} + renderItem={({ item }) => { + const isSelected = activeTab === item.TabId; + return ( + onSelectSubTab(item)} + style={[styles.subTab, { backgroundColor: isSelected ? '#113F8C' : '#fff' }]}> + {item.TabName} + + ) + }} + /> + + + {/* Score Card */} + + + {firstItem && ( + { + if (firstItem.clickable === 1 && firstItem.DetailsPage?.length > 0) { + setSelectedDetails(firstItem.DetailsPage); + setShowDetailsModal(true); + fetchDetailGraphs(firstItem.DetailsPage); + } + }} + > + + + + {firstItem.GraphTitle} + + {(() => { + const values = graphApiData[firstItem.GraphUrl]?.data || []; + const score = Object.values(values[0] || {})[0]; + return score !== undefined ? `${score.toFixed(1)}%` : '0.0%'; + })()} + + + + {firstItem.clickable === 1 && ( + + )} + + + + + )} + + `${item.GraphId}-${index}`} + renderItem={renderItem} + numColumns={2} + columnWrapperStyle={{ justifyContent: 'space-between', marginTop: 10 }} + contentContainerStyle={{ paddingHorizontal: 2, paddingVertical: 2 }} + showsVerticalScrollIndicator={false} + /> + + + + + )} + + {/* Logout Pop-up Modal */} + + setLogoutModal(false)}> + + onClickLogout()} style={{ padding: 15 }}> + Logout + + + + + + + {/* Pop-up Modal */} + + setFeedBackModal(false)}> + + { navigation.navigate('FeedbackCategories', { storeData: storeData }), setFeedBackModal(false) }} style={{ padding: 15 }}> + Feedback and Rating + + + setFeedBackModal(false)} style={{ padding: 15 }}> + Dashboard + + + + + + {/* Details Modal */} + { + setShowDetailsModal(false); + setModalGraphData({}); + }}> + + + + + Details + + setShowDetailsModal(false)} style={{ width: '7%', alignItems: 'center' }}> + + + + + + {selectedDetails.map((detail, index) => { + const values = modalGraphData[detail.GraphUrl] || []; + + if (!modalGraphData[detail.GraphUrl]) { + return ( + + + + ); + } + + switch (detail.GraphType) { + + case 'Table': + console.log('values details ->', JSON.stringify(values)); + + let displayKey = null; + let presentKey = null; + if (values.length > 0) { + const presentKeys = Object.keys(values[0]).filter(k => + (typeof values[0][k] === 'string' && ['Yes', 'No'].includes(values[0][k])) || + typeof values[0][k] === 'boolean' || + typeof values[0][k] === 'number' + ); + presentKey = presentKeys.length > 0 ? presentKeys[0] : null; + const displayKeys = Object.keys(values[0]).filter(k => k !== presentKey && typeof values[0][k] === 'string'); + displayKey = displayKeys.length > 0 ? displayKeys[0] : null; + } + + return ( + + {detail.GraphTitle} + + {/* Header */} + + {displayKey ? displayKey.replace(/_/g, ' ').replace(/([a-z])([A-Z])/g, '$1 $2') : 'Display'} + {presentKey ? presentKey.replace(/_/g, ' ').replace(/([a-z])([A-Z])/g, '$1 $2') : 'Present'} + + + + + + {values.map((row, idx) => { + // Find the first key that could be a status (string "Yes"/"No", boolean, or number) as presentKey + const presentKeys = Object.keys(row).filter(k => + (typeof row[k] === 'string' && ['Yes', 'No'].includes(row[k])) || + typeof row[k] === 'boolean' || + typeof row[k] === 'number' + ); + const presentKey = presentKeys.length > 0 ? presentKeys[0] : null; + // Find the first string key that is not presentKey as displayKey + const displayKeys = Object.keys(row).filter(k => k !== presentKey && typeof row[k] === 'string'); + const displayKey = displayKeys.length > 0 ? displayKeys[0] : null; + + return ( + + {row[displayKey] || '-'} + + {presentKey ? ( + typeof row[presentKey] === 'string' && ['Yes', 'No'].includes(row[presentKey]) ? row[presentKey] : + typeof row[presentKey] === 'boolean' ? (row[presentKey] ? 'Yes' : 'No') : + typeof row[presentKey] === 'number' ? row[presentKey].toFixed(2) : row[presentKey] || '-' + ) : '-'} + + + ); + })} + + + ); + + default: + return ( + + Unsupported GraphType: {detail.GraphType} + + ); + } + })} + + + + + + + + + {/* Bottom Sheet */} + + + + Select Store + refRBSheet.current.close()}> + + + + + + + + + + State + City + ASM Area + + + {/* Dropdown */} + {/* State city static*/} + {/* + setState(item.value)} + containerStyle={{ flex: 1, }} + /> + setCity(item.value)} + containerStyle={{ flex: 1, marginHorizontal: 10 }} + /> + setAsmArea(item.value)} + containerStyle={{ flex: 1, }} + /> + */} + + + {/* State Dropdown */} + { + setState(item.value); + + // Filter city options based on selected state + const cities = filterData + .filter(d => d.StateId === item.value) + .map(d => ({ + label: d.CityName, + value: d.CityId + })); + + const asms = filterData + .filter(d => d.StateId === item.value) + .map(d => ({ + label: d.AsmAream, + value: d.AsmAreaId + })); + + // remove duplicates in city/asm + const uniqueCities = Array.from(new Map(cities.map(c => [c.value, c])).values()); + const uniqueAsms = Array.from(new Map(asms.map(a => [a.value, a])).values()); + + setCityOptions(uniqueCities); + setAsmOptions(uniqueAsms); + setCity(null); // reset + setAsmArea(null); // reset + }} + containerStyle={{ flex: 1 }} + /> + + {/* City Dropdown */} + setCity(item.value)} + containerStyle={{ flex: 1, marginHorizontal: 10 }} + /> + + {/* ASM Area Dropdown */} + setAsmArea(item.value)} + containerStyle={{ flex: 1 }} + /> + + + + + + + + + + + storeSearchApi()} + style={{ backgroundColor: GlobalTheme.colors.secondary, borderRadius: GlobalTheme.borderRadius.md }} + textstyle={{ color: GlobalTheme.colors.white, fontSize: GlobalTheme.typography.fontSize.medium }} + /> + + {searchResult ? + + + {storeList ? storeList.length : 0} Store + + + {storeList && storeList.length > 0 ? storeList.map((store) => ( + onSelectStore(store)} + key={store.StoreId} style={styles.storeCard}> + {store.StoreName} + {store.Address} + {'Store Id:'} {store.StoreId} + + )) : null + } + + + + : null + } + + + + + + + + {showButton && ( + { scrollViewRef.current?.scrollTo({ y: 0, animated: true }) }}> + + + )} + + + + + + + ) +} + +export default Dashboard + + diff --git a/src/screens/MainScreen/Dashboard/mainDisplay.json b/src/screens/MainScreen/Dashboard/mainDisplay.json new file mode 100644 index 0000000..8f6fe29 --- /dev/null +++ b/src/screens/MainScreen/Dashboard/mainDisplay.json @@ -0,0 +1,567 @@ +{ + "Tabs": [ + { + "MainTabId": 1, + "MainTabName": "MTD", + "MainTabData": { + "subTabs": [ + { + "TabId": 1, + "TabName": "PSS Score", + "TabRow": 1, + "TabCol": 1 + }, + { + "TabId": 2, + "TabName": "SOS Actual", + "TabRow": 1, + "TabCol": 2 + }, + { + "TabId": 3, + "TabName": "SOS Compliance", + "TabRow": 1, + "TabCol": 3 + }, + { + "TabId": 4, + "TabName": "OSA", + "TabRow": 1, + "TabCol": 4 + }, + { + "TabId": 5, + "TabName": "Asset", + "TabRow": 1, + "TabCol": 5 + }, + { + "TabId": 6, + "TabName": "Promotion", + "TabRow": 1, + "TabCol": 6 + } + ], + "graphDetails": [ + { + "TabId": 1, + "GraphId": 1, + "GraphType": "ScoreCard", + "GraphTitle": "PSS Score", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/pssscore", + "GraphBackground": "#C3D7FF", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 2, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Actual", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/SOS_Actual_Perc", + "GraphBackground": "#E2C8FE", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 3, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Compliance", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/SOS_Compliance_Perc", + "GraphBackground": "#FFD7C3", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 4, + "GraphType": "ScoreCard", + "GraphTitle": "OSA", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/OSA_Perc", + "GraphBackground": "#FFF9A1", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 5, + "GraphType": "ScoreCard", + "GraphTitle": "Asset", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/Asset_Perc", + "GraphBackground": "#A2F3DE", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 6, + "GraphType": "ScoreCard", + "GraphTitle": "Promotion", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/Promotion_Perc", + "GraphBackground": "#BFC2FF", + "GraphOptions": {} + }, + { + "TabId": 2, + "GraphId": 1, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Actual", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/SOS_Actual_Perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 2, + "GraphId": 1, + "GraphType": "Table", + "GraphTitle": "SOS - Category", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/detmtd/sos_actual_perc_on_category", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 2, + "GraphId": 2, + "GraphType": "BarGraph", + "GraphTitle": "SOS Actual Trend", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpimtd/sos_actual_trend_perc_mtd", + "GraphBackground": "#F4EAFF", + "GraphOptions": { + "axisX": "month", + "axisY": "score", + "labelShow": 1, + "barColors": [ + "#11a4ff", + "#0ea3e3", + "#0b9ddb" + ], + "gridLinesH": 0, + "gridLinesV": 0 + } + }, + { + "TabId": 3, + "GraphId": 3, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Compliance", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/SOS_Compliance_Perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 3, + "GraphId": 3, + "GraphType": "Table", + "GraphTitle": "SOS Compliance - Category", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/detmtd/sos_sompliance_perc_on_category", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + + }, + { + "TabId": 3, + "GraphId": 4, + "GraphType": "BarGraph", + "GraphTitle": "SOS Compliance Trend", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpimtd/sos_compliance_trend_perc_mtd", + "GraphBackground": "#fff", + "GraphOptions": { + "axisX": "month", + "axisY": "score", + "labelShow": 1, + "barColors": [ + "#11a4ff", + "#0ea3e3", + "#0b9ddb" + ], + "gridLinesH": 1, + "gridLinesV": 1 + } + }, + { + "TabId": 5, + "GraphId": 5, + "GraphType": "ScoreCard", + "GraphTitle": "Asset", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/Asset_Perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 5, + "GraphId": 5, + "GraphType": "Table", + "GraphTitle": "Asset Availability", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpimtd/asset_availability_mtd", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 5, + "GraphId": 5, + "GraphType": "Table", + "GraphTitle": "Asset", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpimtd/additional_visibility_mtd", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 5, + "GraphId": 6, + "GraphType": "BarGraph", + "GraphTitle": "Asset Details", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpimtd/asset_trend_perc_mtd", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 4, + "GraphId": 7, + "GraphType": "ScoreCard", + "GraphTitle": "OSA", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/OSA_Perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 3, + "GraphId": 3, + "GraphType": "Table", + "GraphTitle": "SOS Compliance - Category", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/detmtd/osa_perc_on_category", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 4, + "GraphId": 8, + "GraphType": "BarGraph", + "GraphTitle": "OSA", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpimtd/osa_trend_perc_mtd", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 6, + "GraphId": 9, + "GraphType": "ScoreCard", + "GraphTitle": "Promotion", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/mtd/Promotion_Perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 6, + "GraphId": 9, + "GraphType": "Table", + "GraphTitle": "Promotion Availability", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpimtd/promotion_availability_mtd", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 6, + "GraphId": 10, + "GraphType": "BarGraph", + "GraphTitle": "Promotion", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpimtd/promotion_trend_perc_mtd", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + } + }, + { + "MainTabId": 2, + "MainTabName": "Last Visit", + "MainTabData": { + "subTabs": [ + { + "TabId": 1, + "TabName": "PSS Score", + "TabRow": 1, + "TabCol": 1 + }, + { + "TabId": 2, + "TabName": "SOS Actual", + "TabRow": 1, + "TabCol": 2 + }, + { + "TabId": 3, + "TabName": "SOS Compliance", + "TabRow": 1, + "TabCol": 3 + }, + { + "TabId": 4, + "TabName": "OSA", + "TabRow": 1, + "TabCol": 4 + }, + { + "TabId": 5, + "TabName": "Asset", + "TabRow": 1, + "TabCol": 5 + }, + { + "TabId": 6, + "TabName": "Promotion", + "TabRow": 1, + "TabCol": 6 + } + ], + "graphDetails": [ + { + "TabId": 1, + "GraphId": 1, + "GraphType": "ScoreCard", + "GraphTitle": "PSS Score", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/PSS_Score_LSV_Perc", + "GraphBackground": "#F4EAFF", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 2, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Actual", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/sos_actual_lsv_perc", + "GraphBackground": "#FFF3ED", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 3, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Compliance", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/sos_compliance_lsv_perc", + "GraphBackground": "#FFFEF0", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 4, + "GraphType": "ScoreCard", + "GraphTitle": "OSA", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/osa_lsv_perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 5, + "GraphType": "ScoreCard", + "GraphTitle": "Asset", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/asset_lsv_perc", + "GraphBackground": "#EBECFF", + "GraphOptions": {} + }, + { + "TabId": 1, + "GraphId": 6, + "GraphType": "ScoreCard", + "GraphTitle": "Promotion", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/promotion_lsv_perc", + "GraphBackground": "#FFFEF0", + "GraphOptions": {} + }, + { + "TabId": 2, + "GraphId": 1, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Actual", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/sos_actual_lsv_perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 2, + "GraphId": 1, + "GraphType": "Table", + "GraphTitle": "SOS Actual - Category", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/detlsv/sos_actual_lsv_perc_on_category", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 2, + "GraphId": 2, + "GraphType": "BarGraph", + "GraphTitle": "SOS Actual Trend", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpilsv/sos_actual_trend_lsv_perc", + "GraphBackground": "#F4EAFF", + "GraphOptions": { + "axisX": "month", + "axisY": "score", + "labelShow": 1, + "barColors": [ + "#11a4ff", + "#0ea3e3", + "#0b9ddb" + ], + "gridLinesH": 1, + "gridLinesV": 1 + } + }, + { + "TabId": 3, + "GraphId": 3, + "GraphType": "ScoreCard", + "GraphTitle": "SOS Compliance", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/sos_compliance_lsv_perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 3, + "GraphId": 3, + "GraphType": "Table", + "GraphTitle": "SOS Actual - Category", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/detlsv/sos_compliance_lsv_perc_on_category", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 3, + "GraphId": 4, + "GraphType": "BarGraph", + "GraphTitle": "SOS Compliance Trend", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpilsv/sos_compliance_trend_lsv_perc", + "GraphBackground": "#fff", + "GraphOptions": { + "axisX": "month", + "axisY": "score", + "labelShow": 1, + "barColors": [ + "#11a4ff", + "#0ea3e3", + "#0b9ddb" + ], + "gridLinesH": 1, + "gridLinesV": 1 + } + }, + { + "TabId": 5, + "GraphId": 5, + "GraphType": "ScoreCard", + "GraphTitle": "Asset", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/asset_lsv_perc", + "GraphBa ckground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 5, + "GraphId": 5, + "GraphType": "Table", + "GraphTitle": "Asset Availability", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpilsv/asset_availability_lsv", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 5, + "GraphId": 5, + "GraphType": "Table", + "GraphTitle": "Asset", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpilsv/additional_visibility_lsv", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 5, + "GraphId": 6, + "GraphType": "Table", + "GraphTitle": "Asset Details", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpilsv/asset_trend_lsv_perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 4, + "GraphId": 7, + "GraphType": "ScoreCard", + "GraphTitle": "OSA", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/osa_lsv_perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 4, + "GraphId": 7, + "GraphType": "Table", + "GraphTitle": "SOS Actual - Category", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/detlsv/osa_lsv_perc_on_category", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 4, + "GraphId": 8, + "GraphType": "PieChart", + "GraphTitle": "OSA", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpilsv/osa_trend_lsv_perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + }, + { + "TabId": 6, + "GraphId": 9, + "GraphType": "ScoreCard", + "GraphTitle": "Promotion", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/lsv/promotion_lsv_perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {}, + "clickable": 1, + "DetailsPage": [ + { + "TabId": 6, + "GraphId": 9, + "GraphType": "Table", + "GraphTitle": "Promotion Availability", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpilsv/promotion_availability_lsv", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + }, + { + "TabId": 6, + "GraphId": 10, + "GraphType": "BarGraph", + "GraphTitle": "Promotion", + "GraphUrl": "https://dax.parinaam.in/execute/dabur/kpilsv/promotion_trend_lsv_perc", + "GraphBackground": "#ECFFFA", + "GraphOptions": {} + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/screens/MainScreen/Dashboard/style.js b/src/screens/MainScreen/Dashboard/style.js new file mode 100644 index 0000000..a122391 --- /dev/null +++ b/src/screens/MainScreen/Dashboard/style.js @@ -0,0 +1,343 @@ +import { Platform, StyleSheet } from 'react-native'; +import { GlobalTheme, Screen } from '../../../theme'; + + +export const styles = StyleSheet.create({ + container: { + flex: 1, + // backgroundColor: GlobalTheme.colors.white, + paddingHorizontal: 10, + // justifyContent:'center' + }, + logoContainer: { + alignItems: 'center', + }, + appLogo: { + height: 200, + width: 200, + resizeMode: 'contain', + }, + appMaskLogo: { + resizeMode: 'stretch', + width: Screen.screenHeight * 0.9, + height: Screen.screenHeight * 0.33, + }, + titleContainer: { + alignSelf: 'center', + // marginTop: 15, + }, + titleText: { + fontSize: 25, + fontWeight: 'bold', + color: GlobalTheme.colors.black, + }, + subtitleText: { + fontSize: 15, + color: '#1F2128', + marginBottom: 14, + fontWeight: '600', + alignSelf: 'center', + width: '80%', + textAlign: 'center', + }, + subtitleHighlight: { + color: '#2381E9', + }, + headerStyle: { + height: '8%', + backgroundColor: '#113F8C', + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + paddingHorizontal: 15 + }, + headerText: { + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.medium, + fontWeight: '600' + }, + headerDotBtn: { + backgroundColor: '#295398', + flexDirection: 'row', + paddingHorizontal: 5, + alignItems: 'center', + borderRadius: 10 + }, + selectCard: { + backgroundColor: '#FFFFFF', + borderRadius: 30, + elevation: 7, + padding: 15, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginTop: 15, + marginHorizontal: 15, + borderWidth: 1.5, + borderColor: '#C9DAFF' + }, + iconStyle: { + height: 25, + width: 25, + }, + header: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + margin: 15, + }, + dropdown: { + flex: 1, + borderWidth: 1, + borderColor: '#ccc', + borderRadius: 8, + paddingHorizontal: 10, + marginHorizontal: 4, + height: 45, + }, + row: { + margin: 10, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center' + }, + inputStyle: { + paddingHorizontal: 7, + width: '100%', + color: '#000' + // backgroundColor:'red' + }, + searchBox: { + height: 45, + borderWidth: 1, + borderColor: '#ccc', + borderRadius: 10, + marginTop: 10, + flexDirection: 'row', + alignItems: 'center', + paddingHorizontal: 10 + }, + storeNameText: { + color: '#000', + fontWeight: '500', + fontSize: 16 + }, + storeCard: { + backgroundColor: '#fff', + borderWidth: 1, + borderColor: '#DFDFDF', + marginTop: 10, + padding: 10, + paddingHorizontal: 12, + borderRadius: 20, + // elevation: 2 + }, + cardTextBold: { + fontSize: 16, + color: '#000', + fontWeight: '500', + flexWrap: 'wrap', + width: '72%' + }, + cardText: { + marginTop: 2, + fontSize: 14, + color: '#494949', + fontWeight: '400' + }, + dropHeaderText: { + width: '33%', + color: '#000', + fontWeight: '400', + fontSize: 14 + }, + selectStoreText: { + fontSize: 15, + color: '#808CA3', + fontWeight: '400', + alignSelf: 'center', + marginTop: 5 + }, + storeText: { + color: '#000', + fontSize: 15, + fontWeight: '500', + marginLeft: 10 + }, + todayStoreText: { + marginLeft: 10, + color: '#2357C6', + fontSize: 16, + fontWeight: '500' + }, + storeGredient: { + flex: 1, + padding: 10, + marginTop: 15, + borderTopLeftRadius: 25, + borderTopRightRadius: 25 + }, + todayStoreCard: { + flex: 1, + // width:'95%', + backgroundColor: '#fff', + borderRadius: 25, + paddingBottom: 10, + marginRight: Platform.OS === 'ios' ? 20 : 0, + // width:'100%' + }, + + mainContainer: { + flex: 1, + }, + selectedStoreText: { + width: '75%', + borderWidth: 1.5, + borderColor: '#D8E3F1', + borderRadius: 10, + padding: 7, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + filterIcon: { + backgroundColor: '#D8E3F1', + padding: 3, + borderRadius: 5 + }, + storeInfoText: { + color: '#000', + fontWeight: '500', + fontSize: 16, + textDecorationLine: 'underline' + }, + percentBox: { + width: '48%', + height: 100, + minHeight: 100, + backgroundColor: '#EAF1FF', + borderRadius: 20, + elevation: 2, + justifyContent: 'center', + alignItems: 'center', + }, + boxText: { + color: '#000', + fontWeight: '400', + fontSize: 16 + }, + yearLable: { + color: '#000', + fontSize: 14, + fontWeight: '500' + }, + yearText: { + color: '#7F83AB', + fontSize: 14, + }, + yearView: { + borderWidth: 2, + borderColor: '#D8E3F1', + borderRadius: 15, + paddingHorizontal: 10, + padding: 5, + width: '28%', + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between' + }, + yearDropDown: { + height: 40, + borderWidth: 2, + borderColor: '#D8E3F1', + width: 100, + borderRadius: 20 + }, + btnbg: { + // marginLeft: 10, + backgroundColor: GlobalTheme.colors.secondary, + borderRadius: GlobalTheme.borderRadius.lgg, + padding: 18, + paddingVertical: 8 + }, + btntext: { + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.xsmall, + fontWeight: GlobalTheme.typography.fontWeight.medium + }, + seperator: { + marginTop: 10, + borderBottomWidth: 2, + borderColor: '#E4E4E4' + }, + dropdownIcon: { + height: 12, + width: 12, + resizeMode: 'contain', + tintColor: 'gray' + }, + mtdTab: { + borderBottomWidth: 2, + borderColor: '#113F8C', + width: '50%', + padding: 10, + alignItems: 'center', + // borderWidth:0.5, + }, + mtdTabText: { + fontSize: 15, + color: '#000', + fontWeight: '600' + }, + subTabView: { + backgroundColor: '#EAEAEA', + paddingVertical: 10, + paddingHorizontal: 5, + flexDirection: 'row', + alignItems: 'center' + }, + subTab: { + backgroundColor: '#113F8C', + padding: 5, + paddingHorizontal: 10, + borderRadius: 10, + marginRight: 10 + }, + tabText: { + color: '#fff', + fontSize: 14, + fontWeight: '400', + }, + floatingBtn: { + alignSelf: 'center', + position: 'absolute', + bottom: 10, + backgroundColor: 'rgba(255, 255, 255, 0.4)', + // backgroundColor:'#fff', + padding: 10, + paddingHorizontal: 20, + borderRadius: 30, + // elevation: 2, + zIndex: 999, + borderWidth: 1, + borderColor: '#DFDFDF' + }, + modalOverlay: { + flex: 1, + // backgroundColor: 'transparent', + backgroundColor: 'rgba(87, 79, 79, 0.2)' + }, + modalContainer: { + position: 'absolute', + top: Platform.OS === 'ios' ? 100 : 50, + right: 10, + width: '50%', + backgroundColor: 'white', + borderRadius: 8, + elevation: 8, + shadowColor: '#000', + shadowOpacity: 0.2, + shadowRadius: 5, + shadowOffset: { width: 0, height: 2 }, + }, +}); diff --git a/src/screens/MainScreen/Feedback/FeedbackCategories/index.js b/src/screens/MainScreen/Feedback/FeedbackCategories/index.js new file mode 100644 index 0000000..78708a6 --- /dev/null +++ b/src/screens/MainScreen/Feedback/FeedbackCategories/index.js @@ -0,0 +1,659 @@ +import React, { useState, useEffect } from 'react'; +import { View, Text, ScrollView, TouchableOpacity, Platform, Keyboard } from 'react-native'; +import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'; +import Icon from 'react-native-vector-icons/FontAwesome'; +import Ionicons from 'react-native-vector-icons/Ionicons'; +import mockDataFlat1 from '../data.json'; +import * as RNFS from 'react-native-fs'; +import moment from 'moment'; +import CustomHeader from '../../../../components/CustomHeader'; +import IMAGES from '../../../../constants/Images'; +import CustomButton from '../../../../components/CustomButton'; +import { styles } from './style'; +import { GlobalTheme } from '../../../../theme'; +import db, { getAllFromTable } from '../../../../constants/database'; +import { UploadData2, UploadImagesWithoutWait } from '../../../../constants/uploadData'; +import { getAllFileForAFolder, getDownloadJson } from '../../../../constants/function'; +import { common_ImagePath, FeedbackImagesFolderPath } from '../../../../constants/constant'; +import { toastError } from '../../../../constants/Toast'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import Loader from '../../../../constants/Loader'; +import { ConfirmSaveAlert } from '../../../../components/Alert'; +import { useSelector } from 'react-redux'; + +// image upload url +const imageUploadURL = "https://di1.parinaam.in/webservice/Imageupload.asmx/Uploadimages"; + +const FeedbackCategories = ({ navigation, route }) => { + + let user_exist_data = useSelector(state => state?.user); + + const userId = user_exist_data.UserId || ''; + + const storeData = route?.params?.storeData; + + console.log("user_exist_data===", (user_exist_data.UserId, storeData?.StoreId)); + + const [completedCategories, setCompletedCategories] = useState([]); + const [uniqueCategories, setUniqueCategories] = useState([]); + const [loading, setLoading] = useState(false); + const [loadingdownload, setLoadingDownload] = useState(false); + const [loadingupload, setLoadingUpload] = useState(false); + const [showAlert, setShowAlert] = useState(false); + + + // get data + + // Insert fallback mock data if empty + const insertMasterSurveyQuestion = (data_arr = []) => { + return new Promise((resolve, reject) => { + if (!Array.isArray(data_arr) || data_arr.length === 0) { + resolve(true); + return; + } + + const escape = str => (str || '').toString().replace(/'/g, "''"); + + const values = data_arr.map(item => { + const { + MenuId, SurveyId, SurveyName, CategoryId, Category, CategorySequence, + QuestionId, Question, QuestionType, QuestionImageAllow, QEnable, + LengthValidation, MinLength, MaxLength, OTP, DateRange, QuestionSequence, + AnswerId, Answer, ImageAllow1, ImageAllow2, Image1Mandatory, Image2Mandatory, + QuestionImageMandatory, EnableQuestion, DisableQuestion, AnswerSequence, + ShowCat, SubCategoryId, SubCategory, SubCategorySequence, + QuestionTypeNew, CalFormula, RefImage, QuestionRefImage + } = item; + + return `( + '${MenuId}', '${SurveyId}', '${escape(SurveyName)}', '${CategoryId}', '${escape(Category)}', + '${CategorySequence}', '${QuestionId}', '${escape(Question)}', '${escape(QuestionType)}', + '${QuestionImageAllow ? 1 : 0}', '${QEnable ? 1 : 0}', '${LengthValidation ? 1 : 0}', + '${MinLength}', '${MaxLength}', '${OTP ? 1 : 0}', '${escape(DateRange)}', + '${QuestionSequence}', '${AnswerId}', '${escape(Answer)}', + '${ImageAllow1 ? 1 : 0}', '${ImageAllow2 ? 1 : 0}', '${Image1Mandatory ? 1 : 0}', + '${Image2Mandatory ? 1 : 0}', '${QuestionImageMandatory ? 1 : 0}', + '${escape(EnableQuestion)}', '${escape(DisableQuestion)}', '${AnswerSequence}', + '${ShowCat ? 1 : 0}', '${SubCategoryId}', '${escape(SubCategory)}', + '${SubCategorySequence}', '${escape(QuestionTypeNew)}', '${escape(CalFormula)}', + '${escape(RefImage)}', '${escape(QuestionRefImage)}' + )`; + }); + + const sql = ` + INSERT INTO FeedbackCategory ( + MenuId, SurveyId, SurveyName, CategoryId, Category, CategorySequence, + QuestionId, Question, QuestionType, QuestionImageAllow, QEnable, + LengthValidation, MinLength, MaxLength, OTP, DateRange, QuestionSequence, + AnswerId, Answer, ImageAllow1, ImageAllow2, Image1Mandatory, Image2Mandatory, + QuestionImageMandatory, EnableQuestion, DisableQuestion, AnswerSequence, + ShowCat, SubCategoryId, SubCategory, SubCategorySequence, + QuestionTypeNew, CalFormula, RefImage,QuestionRefImage + ) VALUES ${values.join(',')} + `; + + db.transaction(tx => { + tx.executeSql(`DELETE FROM FeedbackCategory`, [], () => { + tx.executeSql(sql, [], () => { + console.log('FeedbackCategory inserted successfully'); + resolve(true); + }, (err) => { + console.log('Insert error in FeedbackCategory:', err); + reject(err); + }); + }, (err) => { + console.log('Delete error before insert FeedbackCategory:', err); + reject(err); + }); + }); + }); + }; + + async function getData() { + setLoadingDownload(true); + try { + const data1 = { + Downloadtype: "Master_SurveyQuestion_storeDNA", + Param1: storeData?.StoreId || '', + Param2: "", + username: user_exist_data?.UserId || '', + }; + + const url = "https://di1.parinaam.in/Webservice/GenericService.svc/DownloadJson"; + console.log("Downloading from:", url, data1); + + const res = await getDownloadJson(url, data1); + console.log('Response:', res); + + if (res?.Master_SurveyQuestion_storeDNA?.length) { + const data = res.Master_SurveyQuestion_storeDNA || []; + console.log("Inserting downloaded data into FeedbackCategory..."); + const all = await getAllFromTable('FeedbackCategory'); + // if (all?.length === 0) { + console.log("Table empty. Inserting fallback mock data..."); + await insertMasterSurveyQuestion(data); + setLoadingDownload(false); + // } else { + // console.log("FeedbackCategory table already has data."); + // setLoadingDownload(false); + // } + } else { + console.log("No Master_SurveyQuestion_storeDNA data found in response"); + setLoadingDownload(false); + } + } catch (err) { + console.log("Dashboard feedback survey download error:", err); + setLoadingDownload(false); + } + } + + // download data + + // 1. Initial load → download and populate local DB and categories + useEffect(() => { + const init = async () => { + await getData(); // Download and insert + await loadCompleted(); // Load completion info + const data = await getUniqueCategoriesFromDB(); // Load categories + setUniqueCategories(data); // Update UI + }; + init(); + }, []); + + // 2. Every time screen is focused → recheck completed categories and ticks + useEffect(() => { + const loadOnFocus = async () => { + await loadCompleted(); + const data = await getUniqueCategoriesFromDB(); + setUniqueCategories(data); + }; + + const unsubscribe = navigation.addListener('focus', loadOnFocus); + return unsubscribe; + }, [navigation]); + + + + // useEffect(() => { + // const init = async () => { + // await getData(); // fetch and insert data + // await loadCompleted(); // ← added + // const data = await getUniqueCategoriesFromDB(); // ← added + // setUniqueCategories(data); // ← added + // }; + // init(); + // // const unsubscribe = navigation.addListener('focus', loadOnFocus); + // // return unsubscribe; + + // }, [navigation]); + + // end download data. + + const isCompleted = (cat) => { + return completedCategories.find( + c => c?.CategoryId === cat?.CategoryId && c?.SurveyId === cat?.SurveyId + ); + }; + + const loadCompleted = async () => { + const d2 = moment().format('MM/DD/YYYY'); + console.log("loaddddd", `SELECT DISTINCT CATEGORY_ID, SURVEY_ID , IFNULL(STATUS , '') AS STATUS FROM FeedBackLocalTable WHERE STORE_ID='${storeData?.StoreId}' AND VISIT_DATE='${d2}'`) + return new Promise((resolve, reject) => { + db.transaction(tx => { + tx.executeSql( + `SELECT DISTINCT CATEGORY_ID, SURVEY_ID , IFNULL(STATUS , '') AS STATUS FROM FeedBackLocalTable WHERE STORE_ID='${storeData?.StoreId}' AND VISIT_DATE='${d2}'`, + [], + (tx, results) => { + const completed = []; + for (let i = 0; i < results.rows.length; i++) { + const row = results.rows.item(i); + completed.push({ + CategoryId: row.CATEGORY_ID, + SurveyId: row.SURVEY_ID, + Status: row.STATUS + }); + } + setCompletedCategories(completed); + // console.log('Completed categories from table:', completed); + resolve(); + }, + (tx, error) => { + console.log('DB error loading completed:', error); + reject(error); + } + ); + }); + }); + }; + + const getUniqueCategoriesFromDB = () => { + return new Promise((resolve, reject) => { + db.transaction(tx => { + tx.executeSql( + `SELECT CategoryId, Category, SurveyId, MIN(QuestionSequence) AS minSeq + FROM FeedbackCategory + GROUP BY CategoryId, Category, SurveyId + ORDER BY minSeq ASC`, + [], + (tx, results) => { + const unique = []; + for (let i = 0; i < results.rows.length; i++) { + const row = results.rows.item(i); + unique.push({ + CategoryId: row.CategoryId, + Category: row.Category, + SurveyId: row.SurveyId + }); + } + resolve(unique); + }, + (tx, error) => { + console.log('Error fetching distinct categories:', error); + reject(error); + } + ); + }); + }); + }; + + // upload data + + async function Upload_Data() { + // await saveData("P"); + setLoadingUpload(true); + const UserId = userId; + const UploadKeyName = 'Sales_DNA_FeedBack'; + const MID = 0; + let postData = {}; + let allChilds = []; + + const d2 = moment().format('MM/DD/YYYY'); + + await new Promise((resolve, reject) => { + db.transaction(async function (txn) { + let query = `SELECT * FROM FeedBackLocalTable WHERE STORE_ID='${storeData?.StoreId}' AND VISIT_DATE='${d2}'`; + + console.log("query=====", query) + await txn.executeSql( + query, + [], + async (txn2, txnres2) => { + // console.log("Records found:", txnres2.rows.length); + + if (txnres2.rows.length > 0) { + for (let i = 0; i < txnres2.rows.length; i++) { + let data = txnres2.rows.item(i); + + let { + SURVEY_ID, CATEGORY_ID, MaxLength, MinLength, QuestionImageAllow, QUESTION, + QUESTION_ID, QUESTION_TYPE, OTP, ANSWER, ANSWER_ID, IMAGE_ALLOW1, IMAGE1, + IMAGE_ALLOW2, IMAGE2, MULTI_OPTIONS_IDS, IS_DISABLED, IS_ENABLED + } = data; + + let renamedObj = { + SurveyId: SURVEY_ID, + CategoryId: CATEGORY_ID, + QuestionId: QUESTION_ID, + QuestionType: QUESTION_TYPE, + Answer: ANSWER, + AnswerId: ANSWER_ID, + MultiOptionsIds: MULTI_OPTIONS_IDS, + Image1: IMAGE1, + Image2: IMAGE2, + ImageAllow1: IMAGE_ALLOW1, + ImageAllow2: IMAGE_ALLOW2 + }; + + // Fix: IS_DISABLED is expected to be 0 or 1 + let isQtnEnabled = JSON.parse(IS_DISABLED)[QUESTION_ID] + let obj = {}; + if (isQtnEnabled) { + obj['MID'] = 0; + obj['UserId'] = userId; + // obj['Store_Id'] = ''; + // obj['MenuId'] = ''; + obj['SurveyId'] = renamedObj?.SurveyId; + obj['CategoryId'] = renamedObj?.CategoryId; + obj['QuestionId'] = renamedObj?.QuestionId; + obj['QuestionType'] = renamedObj?.QuestionType; + obj['Answer'] = renamedObj?.Answer; + obj['AnswerId'] = renamedObj?.AnswerId; + obj['MultiAnswerId'] = (renamedObj?.MultiOptionsIds != null && renamedObj?.MultiOptionsIds != 'undefined') ? renamedObj?.MultiOptionsIds : ''; + obj['AnswerImage1'] = renamedObj?.Image1; + obj['AnswerImage2'] = renamedObj?.Image2; + + allChilds.push(obj); + } + } + + postData['MID'] = MID; + postData['Keys'] = UploadKeyName || 'Sales_DNA_FeedBack'; + postData['JsonData'] = JSON.stringify(allChilds); + postData['UserId'] = UserId; + + resolve({ PostData: postData }); + } else { + resolve({ PostData: postData }); + } + }, + (txnE, txnerr) => { + // console.log('Query error:', txnerr); + resolve({ PostData: postData }); + } + ); + }); + }).catch((err) => { + console.log("Transaction error:", err); + }); + + // console.log("Preparing to upload data..."); + const url = 'https://di1.parinaam.in/Webservice/GenericService.svc/UploadJson'; + console.log("URL:", url); + console.log("PostData:", postData); + + let allFilesToUpload = await getAllFileForAFolder(FeedbackImagesFolderPath, "Store_DNA"); + console.log('All files to upload:', allFilesToUpload); + + await uploadImagesFormFiles12(allFilesToUpload); + + await UploadData2(url, postData) + .then(async (res) => { + // console.log('Upload Response:', res); + if (res?.UploadJsonResult === "Success") { + // console.log("Upload successful."); + try { + await updateAllUploadStatuses(d2); + await loadCompleted(); // Refresh the UI with updated STATUS + } catch (err) { + console.log("Failed to update status after upload:", err); + } + setLoadingUpload(false); + setShowAlert(false); + } else { + console.log("Upload failed."); + setLoadingUpload(false); + + } + }) + .catch((err) => { + console.log("Upload error:", err); + setLoadingUpload(false); + + }); + } + + async function uploadImagesFormFiles12(allfiles = []) { + + // console.log("allfiles===========", allfiles); + let d1 = new Date(); + let d2 = moment(d1).format('MM/DD/YYYY'); + let uploadCount = 0; + const url = imageUploadURL; + + var isAllUploaded = false; + return await Promise.all( + allfiles.map(async (file, i) => { + let index = i; + let actualfilepath = 'file://' + file.uri; + // console.log("actualfilepath==", actualfilepath); + let isExists = await RNFS.exists(actualfilepath).then((res) => { return res; }); + console.log('isExists file', isExists, file.uri, file); + let isImageUploaded = false; + // isExists==false + if (isExists) { + let postData = new FormData(); + postData.append('file', { + uri: actualfilepath, + type: file.type, + name: file.name, + }); + + postData.append('Foldername', "AddNewStoreImages"); + postData.append('Path', d2); + + isImageUploaded = await UploadImagesWithoutWait(postData, url); + if (isImageUploaded == true) { + // console.log('isExists file uploaded', isExists, uploadCount, index, allfiles.length - 1); + await RNFS.unlink(actualfilepath); + uploadCount++; + // UpdateUploadCountLocal(uploadCount+1) + if (uploadCount == allfiles.length) { + isAllUploaded = true; + } + + } else { + console.log('file not uploaded:', isExists, actualfilepath); + } + + } + else {//file does not exists + uploadCount++; + // UpdateUploadCountLocal(uploadCount+1) + if (uploadCount == allfiles.length) { + isAllUploaded = true; + } + } + return isImageUploaded; + }) + ).then((val) => { + console.log(val); + return isAllUploaded; + }) + .catch((err) => { + console.log(err); + return false; + }) + } + // end upload image + const areAllCategoriesCompleted = () => { + return uniqueCategories?.every(cat => isCompleted(cat)); + }; + + const areAllCategoriesUploaded = () => { + return uniqueCategories?.every(cat => { + const completed = isCompleted(cat); + return completed?.Status === 'U'; + }); + }; + + async function onSubmitData() { + // let isvalid = await validate(); + if (areAllCategoriesCompleted()) { + Keyboard.dismiss(); + setShowAlert(true); + } else { + toastError("Alert", "Please fill all categories."); + } + } + + function onSaveCancel() { + setShowAlert(false); + } + + // update status of uploading data + const updateFeedbackStatusToUploaded = async (visitDate) => { + return new Promise((resolve, reject) => { + db.transaction(tx => { + tx.executeSql( + `UPDATE FeedBackLocalTable SET STATUS = 'U' WHERE STORE_ID=? and VISIT_DATE = ?`, + [storeData?.StoreId, visitDate], + (_, result) => { + // console.log("Local STATUS updated to 'U' after upload."); + resolve(result); + }, + (tx, error) => { + console.log("Error updating STATUS locally:", error); + reject(error); + } + ); + }); + }); + }; + + + + + const updateUploadStatusForStores = (visitDate) => { + return new Promise((resolve, reject) => { + db.transaction(tx => { + // First: Set uploaded stores to 'U' for the given visit date + tx.executeSql( + ` + UPDATE StoreInfoDNALocal + SET UPLOAD_STATUS = 'U' + WHERE EXISTS ( + SELECT 1 + FROM FeedBackLocalTable + WHERE FeedBackLocalTable.STORE_ID = StoreInfoDNALocal.StoreId + AND FeedBackLocalTable.STATUS = 'U' + AND FeedBackLocalTable.VISIT_DATE = ? + ) + AND EXISTS ( + SELECT 1 + FROM FeedBackLocalTable + WHERE FeedBackLocalTable.STORE_ID = StoreInfoDNALocal.StoreId + AND FeedBackLocalTable.VISIT_DATE = ? + ) + `, + [visitDate, visitDate], + () => { + console.log('Uploaded stores marked as U'); + + + // Second: Set non-uploaded stores to 'P' for the given visit date + tx.executeSql( + ` + UPDATE StoreInfoDNALocal + SET UPLOAD_STATUS = 'P' + WHERE EXISTS ( + SELECT 1 + FROM FeedBackLocalTable + WHERE FeedBackLocalTable.STORE_ID = StoreInfoDNALocal.StoreId + AND FeedBackLocalTable.VISIT_DATE = ? + ) + AND NOT EXISTS ( + SELECT 1 + FROM FeedBackLocalTable + WHERE FeedBackLocalTable.STORE_ID = StoreInfoDNALocal.StoreId + AND FeedBackLocalTable.STATUS = 'U' + AND FeedBackLocalTable.VISIT_DATE = ? + ) + `, + [visitDate, visitDate], + () => { + console.log('Pending stores marked as P'); + resolve(true); + }, + (tx, error) => { + console.log('Error updating pending stores:', error); + reject(error); + } + ); + }, + (tx, error) => { + console.log('Error updating uploaded stores:', error); + reject(error); + } + ); + }); + }); + }; + + + + + const updateAllUploadStatuses = async (visitDate) => { + try { + await updateFeedbackStatusToUploaded(visitDate); + await updateUploadStatusForStores(visitDate); + console.log('All upload statuses updated successfully'); + } catch (error) { + console.log('Error in updating upload statuses:', error); + } + }; + + + return ( + + + + navigation.navigate('Dashboard')} + onLeftPress={() => navigation.goBack()} + leftIcon={IMAGES.backIcon} + /> + + + + + + {uniqueCategories?.map((cat, index) => { + const completedEntry = isCompleted(cat); + {/* console.log("completedEntry", completedEntry); */ } + const isUploaded = completedEntry?.Status === 'U'; + + {/* console.log("isUploaded", isUploaded); */ } + + return ( + { + if (!isUploaded) { + navigation.navigate('Feedback', { + CategoryId: cat?.CategoryId, + SurveyId: cat?.SurveyId, + CategoryName: cat?.Category, + storeData: storeData + }); + } + }} + > + + {cat.Category?.charAt(0)} + + + {cat.Category} + + {isUploaded ? ( + + ) : completedEntry ? ( + + ) : null} + + ); + })} + + {!loading && uniqueCategories.length === 0 && ( + No categories available. + )} + + + { + if (areAllCategoriesUploaded()) return; + onSubmitData(); + }} + title={areAllCategoriesUploaded() ? 'Data Uploaded' : 'Upload & Save'} + style={areAllCategoriesUploaded() ? styles.btnbg1 : styles.btnbg} + textstyle={areAllCategoriesUploaded() ? styles.btntext1 : styles.btntext} + disabled={areAllCategoriesUploaded()} + /> + + + + + + + ); +}; + +export default FeedbackCategories; diff --git a/src/screens/MainScreen/Feedback/FeedbackCategories/style.js b/src/screens/MainScreen/Feedback/FeedbackCategories/style.js new file mode 100644 index 0000000..7bf590e --- /dev/null +++ b/src/screens/MainScreen/Feedback/FeedbackCategories/style.js @@ -0,0 +1,66 @@ +import { StyleSheet } from 'react-native'; +import { GlobalTheme } from '../../../../theme'; + +export const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: GlobalTheme.colors.white, + paddingHorizontal: 10, + paddingVertical: 10 + }, + btnbg: { + backgroundColor: GlobalTheme.colors.secondary, borderRadius: GlobalTheme.borderRadius.md, marginVertical: 10, marginHorizontal: 10, bottom:0 + }, + btntext: { + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.medium + }, + btnbg1: { + backgroundColor: GlobalTheme.colors.gray, borderRadius: GlobalTheme.borderRadius.md, marginVertical: 10, marginHorizontal: 10, bottom:0 , opacity : 0.5 + }, + btntext1: { + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.medium + }, + cardview: { + borderColor: GlobalTheme.colors.lightblue, borderWidth: 1, borderRadius: GlobalTheme.borderRadius.sm, padding: 8, backgroundColor: GlobalTheme.colors.lightblue, marginVertical: 10 + }, + categoryName: { + fontSize: GlobalTheme.typography.fontSize.small, fontWeight: GlobalTheme.typography.fontWeight.medium, color: GlobalTheme.colors.black, marginVertical: 10 + }, + + // + categoryItem: { + flexDirection: 'row', + alignItems: 'center', + paddingVertical: 12, + paddingHorizontal: 10, + backgroundColor: '#f6f8fd', + borderRadius: 10, + marginVertical: 6, + elevation: 1, + }, + + circleIcon: { + width: 36, + height: 36, + borderRadius: 18, + backgroundColor: '#dce6f9', + justifyContent: 'center', + alignItems: 'center', + marginRight: 12, + }, + + circleText: { + fontSize: 16, + fontWeight: 'bold', + color: '#4c6ef5', + }, + + categoryName: { + fontSize: 15, + fontWeight: '600', + color: '#333', + }, + +}); diff --git a/src/screens/MainScreen/Feedback/data.json b/src/screens/MainScreen/Feedback/data.json new file mode 100644 index 0000000..f9bfc16 --- /dev/null +++ b/src/screens/MainScreen/Feedback/data.json @@ -0,0 +1,13103 @@ +{ + "mockDataFlat": + [ + { + "QuestionId": 132, + "Question": "Was Employee present at the store during the visit ?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": true, + "QuestionImageMandatory": true, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 1, + "AnswerId": 1, + "Answer": "YES", + "AnswerSequence": 1, + "ImageAllow1": true, + "ImageAllow2": true, + "Image1Mandatory": true, + "Image2Mandatory": true, + "EnableQuestion": "134,135,136,137,138,139,140,141,142,143,144,145,146", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 132, + "Question": "Was Employee present at the store during the visit ?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 1, + "AnswerId": 2, + "Answer": "NO", + "AnswerSequence": 2, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "134,135,136,137,138,139,140,141,142,143,144,145,146", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 133, + "Question": "Supervisor Status during the visit ?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 15, + "AnswerId": 3, + "Answer": "YES", + "AnswerSequence": 3, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 133, + "Question": "Supervisor Status during the visit ?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 15, + "AnswerId": 4, + "Answer": "NO", + "AnswerSequence": 4, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 134, + "Question": "Categories covered in Perimeter Walk with Promoter/ Merchandiser ( Select multiple category if applicable)", + "QuestionType": "Multi choice list", + "QuestionTypeNew": "Multi choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 5, + "Answer": "Juice", + "AnswerSequence": 5, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "135", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 134, + "Question": "Categories covered in Perimeter Walk with Promoter/ Merchandiser ( Select multiple category if applicable)", + "QuestionType": "Multi choice list", + "QuestionTypeNew": "Multi choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 6, + "Answer": "Honey", + "AnswerSequence": 6, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "136", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 134, + "Question": "Categories covered in Perimeter Walk with Promoter/ Merchandiser ( Select multiple category if applicable)", + "QuestionType": "Multi choice list", + "QuestionTypeNew": "Multi choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 7, + "Answer": "DCP/ Glucose", + "AnswerSequence": 7, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "137", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 134, + "Question": "Categories covered in Perimeter Walk with Promoter/ Merchandiser ( Select multiple category if applicable)", + "QuestionType": "Multi choice list", + "QuestionTypeNew": "Multi choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 8, + "Answer": "OTP", + "AnswerSequence": 8, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "138", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 134, + "Question": "Categories covered in Perimeter Walk with Promoter/ Merchandiser ( Select multiple category if applicable)", + "QuestionType": "Multi choice list", + "QuestionTypeNew": "Multi choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 9, + "Answer": "Oral", + "AnswerSequence": 9, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "139", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 134, + "Question": "Categories covered in Perimeter Walk with Promoter/ Merchandiser ( Select multiple category if applicable)", + "QuestionType": "Multi choice list", + "QuestionTypeNew": "Multi choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 10, + "Answer": "Skin Care", + "AnswerSequence": 10, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "140", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 134, + "Question": "Categories covered in Perimeter Walk with Promoter/ Merchandiser ( Select multiple category if applicable)", + "QuestionType": "Multi choice list", + "QuestionTypeNew": "Multi choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 11, + "Answer": "Hair Care", + "AnswerSequence": 11, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "141", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 134, + "Question": "Categories covered in Perimeter Walk with Promoter/ Merchandiser ( Select multiple category if applicable)", + "QuestionType": "Multi choice list", + "QuestionTypeNew": "Multi choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 12, + "Answer": "Air Care", + "AnswerSequence": 12, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "142", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 143, + "Question": "Is He/She well groomed and presentable?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 11, + "AnswerId": 13, + "Answer": "Below Expectations", + "AnswerSequence": 13, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 143, + "Question": "Is He/She well groomed and presentable?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 11, + "AnswerId": 14, + "Answer": "Meets Expectations", + "AnswerSequence": 14, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 143, + "Question": "Is He/She well groomed and presentable?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 11, + "AnswerId": 15, + "Answer": "Exceeds Expectations", + "AnswerSequence": 15, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 144, + "Question": "Is He/She aware about stock availability, SOS, Promo?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 12, + "AnswerId": 16, + "Answer": "Below Expectations", + "AnswerSequence": 16, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 144, + "Question": "Is He/She aware about stock availability, SOS, Promo?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 12, + "AnswerId": 17, + "Answer": "Meets Expectations", + "AnswerSequence": 17, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 144, + "Question": "Is He/She aware about stock availability, SOS, Promo?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 12, + "AnswerId": 18, + "Answer": "Exceeds Expectations", + "AnswerSequence": 18, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 145, + "Question": "Carrying fully charged Hand Held Device?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 13, + "AnswerId": 19, + "Answer": "YES", + "AnswerSequence": 19, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 145, + "Question": "Carrying fully charged Hand Held Device?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 13, + "AnswerId": 20, + "Answer": "NO", + "AnswerSequence": 20, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 146, + "Question": "Store Promoter and Merchandiser register shows that He/She is puntual and regular?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 14, + "AnswerId": 21, + "Answer": "YES", + "AnswerSequence": 21, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 146, + "Question": "Store Promoter and Merchandiser register shows that He/She is puntual and regular?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 14, + "AnswerId": 22, + "Answer": "NO", + "AnswerSequence": 22, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 147, + "Question": "Is displayed stock clean?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 16, + "AnswerId": 23, + "Answer": "Below Expectations", + "AnswerSequence": 23, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 147, + "Question": "Is displayed stock clean?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 16, + "AnswerId": 24, + "Answer": "Meets Expectations", + "AnswerSequence": 24, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 147, + "Question": "Is displayed stock clean?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 16, + "AnswerId": 25, + "Answer": "Exceeds Expectations", + "AnswerSequence": 25, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 147, + "Question": "Is displayed stock clean?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 16, + "AnswerId": 26, + "Answer": "Not Applicable", + "AnswerSequence": 26, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 148, + "Question": "Is stock displayed in shelf as per FIFO norms?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 17, + "AnswerId": 27, + "Answer": "Below Expectations", + "AnswerSequence": 26, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 148, + "Question": "Is stock displayed in shelf as per FIFO norms?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 17, + "AnswerId": 28, + "Answer": "Meets Expectations", + "AnswerSequence": 27, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 148, + "Question": "Is stock displayed in shelf as per FIFO norms?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 17, + "AnswerId": 29, + "Answer": "Exceeds Expectations", + "AnswerSequence": 28, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 148, + "Question": "Is stock displayed in shelf as per FIFO norms?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 17, + "AnswerId": 30, + "Answer": "No", + "AnswerSequence": 29, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 149, + "Question": "Is the stock on shelf enough to maintain Share of Shelf? (In case of stock out, do not evaluate this point)", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 18, + "AnswerId": 31, + "Answer": "Below Expectations", + "AnswerSequence": 29, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 149, + "Question": "Is the stock on shelf enough to maintain Share of Shelf? (In case of stock out, do not evaluate this point)", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 18, + "AnswerId": 32, + "Answer": "Meets Expectations", + "AnswerSequence": 30, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 149, + "Question": "Is the stock on shelf enough to maintain Share of Shelf? (In case of stock out, do not evaluate this point)", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 18, + "AnswerId": 33, + "Answer": "Exceeds Expectations", + "AnswerSequence": 31, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 149, + "Question": "Is the stock on shelf enough to maintain Share of Shelf? (In case of stock out, do not evaluate this point)", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 18, + "AnswerId": 34, + "Answer": "OOS", + "AnswerSequence": 32, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 150, + "Question": "Is the stock displayed as per Z rule or defined Planogram?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 19, + "AnswerId": 35, + "Answer": "Below Expectations", + "AnswerSequence": 32, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 150, + "Question": "Is the stock displayed as per Z rule or defined Planogram?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 19, + "AnswerId": 36, + "Answer": "Meets Expectations", + "AnswerSequence": 33, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 150, + "Question": "Is the stock displayed as per Z rule or defined Planogram?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 19, + "AnswerId": 37, + "Answer": "Exceeds Expectations", + "AnswerSequence": 34, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 150, + "Question": "Is the stock displayed as per Z rule or defined Planogram?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 19, + "AnswerId": 38, + "Answer": "Not Applicable", + "AnswerSequence": 35, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 151, + "Question": "Are Shelf Talkers available and updated as per current Prices and Promos?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 20, + "AnswerId": 39, + "Answer": "Below Expectations", + "AnswerSequence": 35, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 151, + "Question": "Are Shelf Talkers available and updated as per current Prices and Promos?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 20, + "AnswerId": 40, + "Answer": "Meets Expectations", + "AnswerSequence": 36, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 151, + "Question": "Are Shelf Talkers available and updated as per current Prices and Promos?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 20, + "AnswerId": 41, + "Answer": "Exceeds Expectations", + "AnswerSequence": 37, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 151, + "Question": "Are Shelf Talkers available and updated as per current Prices and Promos?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 20, + "AnswerId": 42, + "Answer": "Not Applicable", + "AnswerSequence": 38, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 152, + "Question": "Is the stock placed at Eye Level on the shelves?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 21, + "AnswerId": 43, + "Answer": "Below Expectations", + "AnswerSequence": 38, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 152, + "Question": "Is the stock placed at Eye Level on the shelves?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 21, + "AnswerId": 44, + "Answer": "Meets Expectations", + "AnswerSequence": 39, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 152, + "Question": "Is the stock placed at Eye Level on the shelves?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 21, + "AnswerId": 45, + "Answer": "Exceeds Expectations", + "AnswerSequence": 40, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 152, + "Question": "Is the stock placed at Eye Level on the shelves?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 21, + "AnswerId": 46, + "Answer": "Not Applicable", + "AnswerSequence": 41, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 7, + "Category": "Merchandising", + "CategorySequence": 7, + "ShowCat": 1, + "SubCategoryId": 7, + "SubCategory": "Merchandising", + "SubCategorySequence": 7, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 153, + "Question": "Are Paid Visibility Assets deployed as per plan?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 22, + "AnswerId": 47, + "Answer": "Below Expectations", + "AnswerSequence": 41, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 8, + "Category": "Visibility", + "CategorySequence": 8, + "ShowCat": 1, + "SubCategoryId": 8, + "SubCategory": "Visibility", + "SubCategorySequence": 8, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 153, + "Question": "Are Paid Visibility Assets deployed as per plan?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 22, + "AnswerId": 48, + "Answer": "Meets Expectations", + "AnswerSequence": 42, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 8, + "Category": "Visibility", + "CategorySequence": 8, + "ShowCat": 1, + "SubCategoryId": 8, + "SubCategory": "Visibility", + "SubCategorySequence": 8, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 153, + "Question": "Are Paid Visibility Assets deployed as per plan?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 22, + "AnswerId": 49, + "Answer": "Exceeds Expectations", + "AnswerSequence": 43, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 8, + "Category": "Visibility", + "CategorySequence": 8, + "ShowCat": 1, + "SubCategoryId": 8, + "SubCategory": "Visibility", + "SubCategorySequence": 8, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 153, + "Question": "Are Paid Visibility Assets deployed as per plan?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 22, + "AnswerId": 50, + "Answer": "No Paid Visiblity", + "AnswerSequence": 44, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 8, + "Category": "Visibility", + "CategorySequence": 8, + "ShowCat": 1, + "SubCategoryId": 8, + "SubCategory": "Visibility", + "SubCategorySequence": 8, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 154, + "Question": "Has the Promoter/ Merchandiser been able to acquire Unpaid Visibility?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 23, + "AnswerId": 51, + "Answer": "Below Expectations", + "AnswerSequence": 44, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 8, + "Category": "Visibility", + "CategorySequence": 8, + "ShowCat": 1, + "SubCategoryId": 8, + "SubCategory": "Visibility", + "SubCategorySequence": 8, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 154, + "Question": "Has the Promoter/ Merchandiser been able to acquire Unpaid Visibility?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 23, + "AnswerId": 52, + "Answer": "Meets Expectations", + "AnswerSequence": 45, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 8, + "Category": "Visibility", + "CategorySequence": 8, + "ShowCat": 1, + "SubCategoryId": 8, + "SubCategory": "Visibility", + "SubCategorySequence": 8, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 154, + "Question": "Has the Promoter/ Merchandiser been able to acquire Unpaid Visibility?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 23, + "AnswerId": 53, + "Answer": "Exceeds Expectations", + "AnswerSequence": 46, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 8, + "Category": "Visibility", + "CategorySequence": 8, + "ShowCat": 1, + "SubCategoryId": 8, + "SubCategory": "Visibility", + "SubCategorySequence": 8, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 154, + "Question": "Has the Promoter/ Merchandiser been able to acquire Unpaid Visibility?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 23, + "AnswerId": 54, + "Answer": "Not Applicable", + "AnswerSequence": 47, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 8, + "Category": "Visibility", + "CategorySequence": 8, + "ShowCat": 1, + "SubCategoryId": 8, + "SubCategory": "Visibility", + "SubCategorySequence": 8, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 155, + "Question": "Is the Share of Shelf in the store same as the Share of Shelf Report?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 24, + "AnswerId": 55, + "Answer": "Below Expectations", + "AnswerSequence": 47, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 9, + "Category": "Reporting", + "CategorySequence": 9, + "ShowCat": 1, + "SubCategoryId": 9, + "SubCategory": "Reporting", + "SubCategorySequence": 9, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 155, + "Question": "Is the Share of Shelf in the store same as the Share of Shelf Report?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 24, + "AnswerId": 56, + "Answer": "Meets Expectations", + "AnswerSequence": 48, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 9, + "Category": "Reporting", + "CategorySequence": 9, + "ShowCat": 1, + "SubCategoryId": 9, + "SubCategory": "Reporting", + "SubCategorySequence": 9, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 155, + "Question": "Is the Share of Shelf in the store same as the Share of Shelf Report?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 24, + "AnswerId": 57, + "Answer": "Exceeds Expectations", + "AnswerSequence": 49, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 9, + "Category": "Reporting", + "CategorySequence": 9, + "ShowCat": 1, + "SubCategoryId": 9, + "SubCategory": "Reporting", + "SubCategorySequence": 9, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 155, + "Question": "Is the Share of Shelf in the store same as the Share of Shelf Report?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 24, + "AnswerId": 58, + "Answer": "Not Applicable", + "AnswerSequence": 50, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 9, + "Category": "Reporting", + "CategorySequence": 9, + "ShowCat": 1, + "SubCategoryId": 9, + "SubCategory": "Reporting", + "SubCategorySequence": 9, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 156, + "Question": "Is the Availability in the store same as the Availability Report?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 25, + "AnswerId": 59, + "Answer": "Below Expectations", + "AnswerSequence": 50, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 9, + "Category": "Reporting", + "CategorySequence": 9, + "ShowCat": 1, + "SubCategoryId": 9, + "SubCategory": "Reporting", + "SubCategorySequence": 9, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 156, + "Question": "Is the Availability in the store same as the Availability Report?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 25, + "AnswerId": 60, + "Answer": "Meets Expectations", + "AnswerSequence": 51, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 9, + "Category": "Reporting", + "CategorySequence": 9, + "ShowCat": 1, + "SubCategoryId": 9, + "SubCategory": "Reporting", + "SubCategorySequence": 9, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 156, + "Question": "Is the Availability in the store same as the Availability Report?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 25, + "AnswerId": 61, + "Answer": "Exceeds Expectations", + "AnswerSequence": 52, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 9, + "Category": "Reporting", + "CategorySequence": 9, + "ShowCat": 1, + "SubCategoryId": 9, + "SubCategory": "Reporting", + "SubCategorySequence": 9, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 156, + "Question": "Is the Availability in the store same as the Availability Report?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 25, + "AnswerId": 62, + "Answer": "Not Applicable", + "AnswerSequence": 53, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 9, + "Category": "Reporting", + "CategorySequence": 9, + "ShowCat": 1, + "SubCategoryId": 9, + "SubCategory": "Reporting", + "SubCategorySequence": 9, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 157, + "Question": "Is the Supervisor aware of all outstanding issues?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 26, + "AnswerId": 63, + "Answer": "Below Expectations", + "AnswerSequence": 53, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 10, + "Category": "Coordination with Supervisor", + "CategorySequence": 10, + "ShowCat": 1, + "SubCategoryId": 10, + "SubCategory": "Coordination with Supervisor", + "SubCategorySequence": 10, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 157, + "Question": "Is the Supervisor aware of all outstanding issues?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 26, + "AnswerId": 64, + "Answer": "Meets Expectations", + "AnswerSequence": 54, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 10, + "Category": "Coordination with Supervisor", + "CategorySequence": 10, + "ShowCat": 1, + "SubCategoryId": 10, + "SubCategory": "Coordination with Supervisor", + "SubCategorySequence": 10, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 157, + "Question": "Is the Supervisor aware of all outstanding issues?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 26, + "AnswerId": 65, + "Answer": "Exceeds Expectations", + "AnswerSequence": 55, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 10, + "Category": "Coordination with Supervisor", + "CategorySequence": 10, + "ShowCat": 1, + "SubCategoryId": 10, + "SubCategory": "Coordination with Supervisor", + "SubCategorySequence": 10, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 157, + "Question": "Is the Supervisor aware of all outstanding issues?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 26, + "AnswerId": 66, + "Answer": "Not Applicable", + "AnswerSequence": 56, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 10, + "Category": "Coordination with Supervisor", + "CategorySequence": 10, + "ShowCat": 1, + "SubCategoryId": 10, + "SubCategory": "Coordination with Supervisor", + "SubCategorySequence": 10, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 158, + "Question": "Does the Promoter/Merchandiser take initiative to interact with consumers and sell Dabur products?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 27, + "AnswerId": 67, + "Answer": "Below Expectations", + "AnswerSequence": 56, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 11, + "Category": "Customer Engagement and Product Knowledge", + "CategorySequence": 11, + "ShowCat": 1, + "SubCategoryId": 11, + "SubCategory": "Customer Engagement and Product Knowledge", + "SubCategorySequence": 11, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 158, + "Question": "Does the Promoter/Merchandiser take initiative to interact with consumers and sell Dabur products?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 27, + "AnswerId": 68, + "Answer": "Meets Expectations", + "AnswerSequence": 57, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 11, + "Category": "Customer Engagement and Product Knowledge", + "CategorySequence": 11, + "ShowCat": 1, + "SubCategoryId": 11, + "SubCategory": "Customer Engagement and Product Knowledge", + "SubCategorySequence": 11, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 158, + "Question": "Does the Promoter/Merchandiser take initiative to interact with consumers and sell Dabur products?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 27, + "AnswerId": 69, + "Answer": "Exceeds Expectations", + "AnswerSequence": 58, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 11, + "Category": "Customer Engagement and Product Knowledge", + "CategorySequence": 11, + "ShowCat": 1, + "SubCategoryId": 11, + "SubCategory": "Customer Engagement and Product Knowledge", + "SubCategorySequence": 11, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 158, + "Question": "Does the Promoter/Merchandiser take initiative to interact with consumers and sell Dabur products?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 27, + "AnswerId": 70, + "Answer": "Not Applicable", + "AnswerSequence": 59, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 11, + "Category": "Customer Engagement and Product Knowledge", + "CategorySequence": 11, + "ShowCat": 1, + "SubCategoryId": 11, + "SubCategory": "Customer Engagement and Product Knowledge", + "SubCategorySequence": 11, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 159, + "Question": "Is the Promoter/Merchandiser able to compare competition with Dabur products ?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 28, + "AnswerId": 71, + "Answer": "Below Expectations", + "AnswerSequence": 59, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 11, + "Category": "Customer Engagement and Product Knowledge", + "CategorySequence": 11, + "ShowCat": 1, + "SubCategoryId": 11, + "SubCategory": "Customer Engagement and Product Knowledge", + "SubCategorySequence": 11, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 159, + "Question": "Is the Promoter/Merchandiser able to compare competition with Dabur products ?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 28, + "AnswerId": 72, + "Answer": "Meets Expectations", + "AnswerSequence": 60, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 11, + "Category": "Customer Engagement and Product Knowledge", + "CategorySequence": 11, + "ShowCat": 1, + "SubCategoryId": 11, + "SubCategory": "Customer Engagement and Product Knowledge", + "SubCategorySequence": 11, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 159, + "Question": "Is the Promoter/Merchandiser able to compare competition with Dabur products ?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 28, + "AnswerId": 73, + "Answer": "Exceeds Expectations", + "AnswerSequence": 61, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 11, + "Category": "Customer Engagement and Product Knowledge", + "CategorySequence": 11, + "ShowCat": 1, + "SubCategoryId": 11, + "SubCategory": "Customer Engagement and Product Knowledge", + "SubCategorySequence": 11, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 159, + "Question": "Is the Promoter/Merchandiser able to compare competition with Dabur products ?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 28, + "AnswerId": 74, + "Answer": "Not Applicable", + "AnswerSequence": 62, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 11, + "Category": "Customer Engagement and Product Knowledge", + "CategorySequence": 11, + "ShowCat": 1, + "SubCategoryId": 11, + "SubCategory": "Customer Engagement and Product Knowledge", + "SubCategorySequence": 11, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 163, + "Question": "GULABARI PURE ROSE SOAP 150GM X 3", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 32, + "AnswerId": 75, + "Answer": "Yes", + "AnswerSequence": 63, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "164", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 163, + "Question": "GULABARI PURE ROSE SOAP 150GM X 3", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 32, + "AnswerId": 76, + "Answer": "No", + "AnswerSequence": 64, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "164", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 164, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 33, + "AnswerId": 77, + "Answer": "No Permission", + "AnswerSequence": 65, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 164, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 33, + "AnswerId": 78, + "Answer": "No Stock", + "AnswerSequence": 66, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 164, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 33, + "AnswerId": 79, + "Answer": "No Space", + "AnswerSequence": 67, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 165, + "Question": "Gulabari White RoseSoap150g Pack of 3 T", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 34, + "AnswerId": 80, + "Answer": "Yes", + "AnswerSequence": 68, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "166", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 165, + "Question": "Gulabari White RoseSoap150g Pack of 3 T", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 34, + "AnswerId": 81, + "Answer": "No", + "AnswerSequence": 69, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "166", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 166, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 35, + "AnswerId": 82, + "Answer": "No Permission", + "AnswerSequence": 70, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 166, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 35, + "AnswerId": 83, + "Answer": "No Stock", + "AnswerSequence": 71, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 166, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 35, + "AnswerId": 84, + "Answer": "No Space", + "AnswerSequence": 72, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 167, + "Question": "Dabur Amla 550ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 36, + "AnswerId": 85, + "Answer": "Yes", + "AnswerSequence": 73, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "168", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 167, + "Question": "Dabur Amla 550ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 36, + "AnswerId": 86, + "Answer": "No", + "AnswerSequence": 74, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "168", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 168, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 37, + "AnswerId": 87, + "Answer": "No Permission", + "AnswerSequence": 75, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 168, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 37, + "AnswerId": 88, + "Answer": "No Stock", + "AnswerSequence": 76, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 168, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 37, + "AnswerId": 89, + "Answer": "No Space", + "AnswerSequence": 77, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 169, + "Question": "DABUR COOL KING THANDA TEL 270ml BTL", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 38, + "AnswerId": 90, + "Answer": "Yes", + "AnswerSequence": 78, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "170", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 169, + "Question": "DABUR COOL KING THANDA TEL 270ml BTL", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 38, + "AnswerId": 91, + "Answer": "No", + "AnswerSequence": 79, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "170", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 170, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 39, + "AnswerId": 92, + "Answer": "No Permission", + "AnswerSequence": 80, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 170, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 39, + "AnswerId": 93, + "Answer": "No Stock", + "AnswerSequence": 81, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 170, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 39, + "AnswerId": 94, + "Answer": "No Space", + "AnswerSequence": 82, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 171, + "Question": "ODONIL AEROSOL CITRUS FRESH 250 ml CAN", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 40, + "AnswerId": 95, + "Answer": "Yes", + "AnswerSequence": 83, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "172", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 171, + "Question": "ODONIL AEROSOL CITRUS FRESH 250 ml CAN", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 40, + "AnswerId": 96, + "Answer": "No", + "AnswerSequence": 84, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "172", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 172, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 41, + "AnswerId": 97, + "Answer": "No Permission", + "AnswerSequence": 85, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 172, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 41, + "AnswerId": 98, + "Answer": "No Stock", + "AnswerSequence": 86, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 172, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 41, + "AnswerId": 99, + "Answer": "No Space", + "AnswerSequence": 87, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 173, + "Question": "ODONIL AEROSOL JASMINE FRESH 250 ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 42, + "AnswerId": 100, + "Answer": "Yes", + "AnswerSequence": 88, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "174", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 173, + "Question": "ODONIL AEROSOL JASMINE FRESH 250 ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 42, + "AnswerId": 101, + "Answer": "No", + "AnswerSequence": 89, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "174", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 174, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 43, + "AnswerId": 102, + "Answer": "No Permission", + "AnswerSequence": 90, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 174, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 43, + "AnswerId": 103, + "Answer": "No Stock", + "AnswerSequence": 91, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 174, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 43, + "AnswerId": 104, + "Answer": "No Space", + "AnswerSequence": 92, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 175, + "Question": "ODONIL AEROSOL LAVENDER MIST 250 ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 44, + "AnswerId": 105, + "Answer": "Yes", + "AnswerSequence": 93, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "176", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 175, + "Question": "ODONIL AEROSOL LAVENDER MIST 250 ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 44, + "AnswerId": 106, + "Answer": "No", + "AnswerSequence": 94, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "176", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 176, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 45, + "AnswerId": 107, + "Answer": "No Permission", + "AnswerSequence": 95, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 176, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 45, + "AnswerId": 108, + "Answer": "No Stock", + "AnswerSequence": 96, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 176, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 45, + "AnswerId": 109, + "Answer": "No Space", + "AnswerSequence": 97, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 177, + "Question": "ODONIL AEROSOL ROSE GARDEN 250 ml CAN", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 46, + "AnswerId": 110, + "Answer": "Yes", + "AnswerSequence": 98, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "178", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 177, + "Question": "ODONIL AEROSOL ROSE GARDEN 250 ml CAN", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 46, + "AnswerId": 111, + "Answer": "No", + "AnswerSequence": 99, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "178", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 178, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 47, + "AnswerId": 112, + "Answer": "No Permission", + "AnswerSequence": 100, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 178, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 47, + "AnswerId": 113, + "Answer": "No Stock", + "AnswerSequence": 101, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 178, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 47, + "AnswerId": 114, + "Answer": "No Space", + "AnswerSequence": 102, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 179, + "Question": "ODONIL AEROSOL SANDAL BOUQUET 250 g CBD", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 48, + "AnswerId": 115, + "Answer": "Yes", + "AnswerSequence": 103, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "180", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 179, + "Question": "ODONIL AEROSOL SANDAL BOUQUET 250 g CBD", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 48, + "AnswerId": 116, + "Answer": "No", + "AnswerSequence": 104, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "180", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 180, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 49, + "AnswerId": 117, + "Answer": "No Permission", + "AnswerSequence": 105, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 180, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 49, + "AnswerId": 118, + "Answer": "No Stock", + "AnswerSequence": 106, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 180, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 49, + "AnswerId": 119, + "Answer": "No Space", + "AnswerSequence": 107, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 181, + "Question": "ODONILNEEM AIR FRSHNR BLOCKS 48GX4N CB", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 50, + "AnswerId": 120, + "Answer": "Yes", + "AnswerSequence": 108, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "182", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 181, + "Question": "ODONILNEEM AIR FRSHNR BLOCKS 48GX4N CB", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 50, + "AnswerId": 121, + "Answer": "No", + "AnswerSequence": 109, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "182", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 182, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 51, + "AnswerId": 122, + "Answer": "No Permission", + "AnswerSequence": 110, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 182, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 51, + "AnswerId": 123, + "Answer": "No Stock", + "AnswerSequence": 111, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 182, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 51, + "AnswerId": 124, + "Answer": "No Space", + "AnswerSequence": 112, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 183, + "Question": "Vatika Smooth & Silky Shampoo 640ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 52, + "AnswerId": 125, + "Answer": "Yes", + "AnswerSequence": 113, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "184", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 183, + "Question": "Vatika Smooth & Silky Shampoo 640ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 52, + "AnswerId": 126, + "Answer": "No", + "AnswerSequence": 114, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "184", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 184, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 53, + "AnswerId": 127, + "Answer": "No Permission", + "AnswerSequence": 115, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 184, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 53, + "AnswerId": 128, + "Answer": "No Stock", + "AnswerSequence": 116, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 184, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 53, + "AnswerId": 129, + "Answer": "No Space", + "AnswerSequence": 117, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 185, + "Question": "Dabur Vatika Ayurvedic 640ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 54, + "AnswerId": 130, + "Answer": "Yes", + "AnswerSequence": 118, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "186", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 185, + "Question": "Dabur Vatika Ayurvedic 640ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 54, + "AnswerId": 131, + "Answer": "No", + "AnswerSequence": 119, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "186", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 186, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 55, + "AnswerId": 132, + "Answer": "No Permission", + "AnswerSequence": 120, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 186, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 55, + "AnswerId": 133, + "Answer": "No Stock", + "AnswerSequence": 121, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 186, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 55, + "AnswerId": 134, + "Answer": "No Space", + "AnswerSequence": 122, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 187, + "Question": "FHRC Chandan New 40 gm", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 56, + "AnswerId": 135, + "Answer": "Yes", + "AnswerSequence": 123, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "188", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 187, + "Question": "FHRC Chandan New 40 gm", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 56, + "AnswerId": 136, + "Answer": "No", + "AnswerSequence": 124, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "188", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 188, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 57, + "AnswerId": 137, + "Answer": "No Permission", + "AnswerSequence": 125, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 188, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 57, + "AnswerId": 138, + "Answer": "No Stock", + "AnswerSequence": 126, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 188, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 57, + "AnswerId": 139, + "Answer": "No Space", + "AnswerSequence": 127, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 189, + "Question": "FHRC Rose New 40 gm", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 58, + "AnswerId": 140, + "Answer": "Yes", + "AnswerSequence": 128, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "190", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 189, + "Question": "FHRC Rose New 40 gm", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 58, + "AnswerId": 141, + "Answer": "No", + "AnswerSequence": 129, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "190", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 190, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 59, + "AnswerId": 142, + "Answer": "No Permission", + "AnswerSequence": 130, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 190, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 59, + "AnswerId": 143, + "Answer": "No Stock", + "AnswerSequence": 131, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 190, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 59, + "AnswerId": 144, + "Answer": "No Space", + "AnswerSequence": 132, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 191, + "Question": "Gulabari 400ml with Aloevera", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 60, + "AnswerId": 145, + "Answer": "Yes", + "AnswerSequence": 133, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "192", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 191, + "Question": "Gulabari 400ml with Aloevera", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 60, + "AnswerId": 146, + "Answer": "No", + "AnswerSequence": 134, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "192", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 192, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 61, + "AnswerId": 147, + "Answer": "No Permission", + "AnswerSequence": 135, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 192, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 61, + "AnswerId": 148, + "Answer": "No Stock", + "AnswerSequence": 136, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 192, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 61, + "AnswerId": 149, + "Answer": "No Space", + "AnswerSequence": 137, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 193, + "Question": "Gulabari Face Toner Mist-Tea Tree 100ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 62, + "AnswerId": 150, + "Answer": "Yes", + "AnswerSequence": 138, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "194", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 193, + "Question": "Gulabari Face Toner Mist-Tea Tree 100ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 62, + "AnswerId": 151, + "Answer": "No", + "AnswerSequence": 139, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "194", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 194, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 63, + "AnswerId": 152, + "Answer": "No Permission", + "AnswerSequence": 140, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 194, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 63, + "AnswerId": 153, + "Answer": "No Stock", + "AnswerSequence": 141, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 194, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 63, + "AnswerId": 154, + "Answer": "No Space", + "AnswerSequence": 142, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 195, + "Question": "Dabur Herb’I TP 200g+100g Neem", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 64, + "AnswerId": 155, + "Answer": "Yes", + "AnswerSequence": 143, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "196", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 195, + "Question": "Dabur Herb’I TP 200g+100g Neem", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 64, + "AnswerId": 156, + "Answer": "No", + "AnswerSequence": 144, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "196", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 196, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 65, + "AnswerId": 157, + "Answer": "No Permission", + "AnswerSequence": 145, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 196, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 65, + "AnswerId": 158, + "Answer": "No Stock", + "AnswerSequence": 146, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 196, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 65, + "AnswerId": 159, + "Answer": "No Space", + "AnswerSequence": 147, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 197, + "Question": "Dabur Herbl ToothPaste 200gm Tulsi", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 66, + "AnswerId": 160, + "Answer": "Yes", + "AnswerSequence": 148, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "198", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 197, + "Question": "Dabur Herbl ToothPaste 200gm Tulsi", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 66, + "AnswerId": 161, + "Answer": "No", + "AnswerSequence": 149, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "198", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 198, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 67, + "AnswerId": 162, + "Answer": "No Permission", + "AnswerSequence": 150, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 198, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 67, + "AnswerId": 163, + "Answer": "No Stock", + "AnswerSequence": 151, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 198, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 67, + "AnswerId": 164, + "Answer": "No Space", + "AnswerSequence": 152, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 199, + "Question": "Honitus Adulsa Cough Syrup 100ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 68, + "AnswerId": 165, + "Answer": "Yes", + "AnswerSequence": 153, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "200", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 199, + "Question": "Honitus Adulsa Cough Syrup 100ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 68, + "AnswerId": 166, + "Answer": "No", + "AnswerSequence": 154, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "200", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 200, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 69, + "AnswerId": 167, + "Answer": "No Permission", + "AnswerSequence": 155, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 200, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 69, + "AnswerId": 168, + "Answer": "No Stock", + "AnswerSequence": 156, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 200, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 69, + "AnswerId": 169, + "Answer": "No Space", + "AnswerSequence": 157, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 201, + "Question": "DABUR GULABARI PURE ROSE SOAP 150G", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 70, + "AnswerId": 170, + "Answer": "Yes", + "AnswerSequence": 158, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "202", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 201, + "Question": "DABUR GULABARI PURE ROSE SOAP 150G", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 70, + "AnswerId": 171, + "Answer": "No", + "AnswerSequence": 159, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "202", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 202, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 71, + "AnswerId": 172, + "Answer": "No Permission", + "AnswerSequence": 160, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 202, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 71, + "AnswerId": 173, + "Answer": "No Stock", + "AnswerSequence": 161, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 202, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 71, + "AnswerId": 174, + "Answer": "No Space", + "AnswerSequence": 162, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 203, + "Question": "DABUR GULABARI PURE WHITE ROSE SOAP 150G", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 72, + "AnswerId": 175, + "Answer": "Yes", + "AnswerSequence": 163, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "204", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 203, + "Question": "DABUR GULABARI PURE WHITE ROSE SOAP 150G", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 72, + "AnswerId": 176, + "Answer": "No", + "AnswerSequence": 164, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "204", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 204, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 73, + "AnswerId": 177, + "Answer": "No Permission", + "AnswerSequence": 165, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 204, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 73, + "AnswerId": 178, + "Answer": "No Stock", + "AnswerSequence": 166, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 204, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 73, + "AnswerId": 179, + "Answer": "No Space", + "AnswerSequence": 167, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 205, + "Question": "Anmol Coconut 600ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 74, + "AnswerId": 180, + "Answer": "Yes", + "AnswerSequence": 168, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "206", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 205, + "Question": "Anmol Coconut 600ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 74, + "AnswerId": 181, + "Answer": "No", + "AnswerSequence": 169, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "206", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 206, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 75, + "AnswerId": 182, + "Answer": "No Permission", + "AnswerSequence": 170, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 206, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 75, + "AnswerId": 183, + "Answer": "No Stock", + "AnswerSequence": 171, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 206, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 75, + "AnswerId": 184, + "Answer": "No Space", + "AnswerSequence": 172, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 207, + "Question": "Anmol Coconut 1L", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 76, + "AnswerId": 185, + "Answer": "Yes", + "AnswerSequence": 173, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "208", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 207, + "Question": "Anmol Coconut 1L", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 76, + "AnswerId": 186, + "Answer": "No", + "AnswerSequence": 174, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "208", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 208, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 77, + "AnswerId": 187, + "Answer": "No Permission", + "AnswerSequence": 175, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 208, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 77, + "AnswerId": 188, + "Answer": "No Stock", + "AnswerSequence": 176, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 208, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 77, + "AnswerId": 189, + "Answer": "No Space", + "AnswerSequence": 177, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 209, + "Question": "REAL MASALA POMEGRENATE 1 L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 78, + "AnswerId": 190, + "Answer": "Yes", + "AnswerSequence": 178, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "210", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 209, + "Question": "REAL MASALA POMEGRENATE 1 L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 78, + "AnswerId": 191, + "Answer": "No", + "AnswerSequence": 179, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "210", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 210, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 79, + "AnswerId": 192, + "Answer": "No Permission", + "AnswerSequence": 180, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 210, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 79, + "AnswerId": 193, + "Answer": "No Stock", + "AnswerSequence": 181, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 210, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 79, + "AnswerId": 194, + "Answer": "No Space", + "AnswerSequence": 182, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 211, + "Question": "REAL MASALA MIXED FRUIT 1 L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 80, + "AnswerId": 195, + "Answer": "Yes", + "AnswerSequence": 183, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "212", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 211, + "Question": "REAL MASALA MIXED FRUIT 1 L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 80, + "AnswerId": 196, + "Answer": "No", + "AnswerSequence": 184, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "212", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 212, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 81, + "AnswerId": 197, + "Answer": "No Permission", + "AnswerSequence": 185, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 212, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 81, + "AnswerId": 198, + "Answer": "No Stock", + "AnswerSequence": 186, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 212, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 81, + "AnswerId": 199, + "Answer": "No Space", + "AnswerSequence": 187, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 213, + "Question": "REAL MASALA GUAVA 1 L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 82, + "AnswerId": 200, + "Answer": "Yes", + "AnswerSequence": 188, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "214", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 213, + "Question": "REAL MASALA GUAVA 1 L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 82, + "AnswerId": 201, + "Answer": "No", + "AnswerSequence": 189, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "214", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 214, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 83, + "AnswerId": 202, + "Answer": "No Permission", + "AnswerSequence": 190, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 214, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 83, + "AnswerId": 203, + "Answer": "No Stock", + "AnswerSequence": 191, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 214, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 83, + "AnswerId": 204, + "Answer": "No Space", + "AnswerSequence": 192, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 215, + "Question": "REAL FP VITABOOST MIXEDFRUIT JUICE 1LTPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 84, + "AnswerId": 205, + "Answer": "Yes", + "AnswerSequence": 193, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "216", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 215, + "Question": "REAL FP VITABOOST MIXEDFRUIT JUICE 1LTPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 84, + "AnswerId": 206, + "Answer": "No", + "AnswerSequence": 194, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "216", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 216, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 85, + "AnswerId": 207, + "Answer": "No Permission", + "AnswerSequence": 195, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 216, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 85, + "AnswerId": 208, + "Answer": "No Stock", + "AnswerSequence": 196, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 216, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 85, + "AnswerId": 209, + "Answer": "No Space", + "AnswerSequence": 197, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 217, + "Question": "REAL FP LITCHI VITAMINBOOST JUICE 1L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 86, + "AnswerId": 210, + "Answer": "Yes", + "AnswerSequence": 198, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "218", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 217, + "Question": "REAL FP LITCHI VITAMINBOOST JUICE 1L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 86, + "AnswerId": 211, + "Answer": "No", + "AnswerSequence": 199, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "218", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 218, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 87, + "AnswerId": 212, + "Answer": "No Permission", + "AnswerSequence": 200, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 218, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 87, + "AnswerId": 213, + "Answer": "No Stock", + "AnswerSequence": 201, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 218, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 87, + "AnswerId": 214, + "Answer": "No Space", + "AnswerSequence": 202, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 219, + "Question": "REAL FP GUAVA VITAMIN BOOST JUICE 1L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 88, + "AnswerId": 215, + "Answer": "Yes", + "AnswerSequence": 203, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "220", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 219, + "Question": "REAL FP GUAVA VITAMIN BOOST JUICE 1L TPK", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 88, + "AnswerId": 216, + "Answer": "No", + "AnswerSequence": 204, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "220", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 220, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 89, + "AnswerId": 217, + "Answer": "No Permission", + "AnswerSequence": 205, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 220, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 89, + "AnswerId": 218, + "Answer": "No Stock", + "AnswerSequence": 206, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 220, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 89, + "AnswerId": 219, + "Answer": "No Space", + "AnswerSequence": 207, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 221, + "Question": "HOMMADE SWEET TOMATO CHUTNEY 200g PCH", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 90, + "AnswerId": 220, + "Answer": "Yes", + "AnswerSequence": 208, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "222", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 221, + "Question": "HOMMADE SWEET TOMATO CHUTNEY 200g PCH", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 90, + "AnswerId": 221, + "Answer": "No", + "AnswerSequence": 209, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "222", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 222, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 91, + "AnswerId": 222, + "Answer": "No Permission", + "AnswerSequence": 210, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 222, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 91, + "AnswerId": 223, + "Answer": "No Stock", + "AnswerSequence": 211, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 222, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 91, + "AnswerId": 224, + "Answer": "No Space", + "AnswerSequence": 212, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 223, + "Question": "HOMMADE IMLI SAUCE 100g", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 92, + "AnswerId": 225, + "Answer": "Yes", + "AnswerSequence": 213, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "224", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 223, + "Question": "HOMMADE IMLI SAUCE 100g", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 92, + "AnswerId": 226, + "Answer": "No", + "AnswerSequence": 214, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "224", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 224, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 93, + "AnswerId": 227, + "Answer": "No Permission", + "AnswerSequence": 215, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 224, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 93, + "AnswerId": 228, + "Answer": "No Stock", + "AnswerSequence": 216, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 224, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 93, + "AnswerId": 229, + "Answer": "No Space", + "AnswerSequence": 217, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 225, + "Question": "HOMMADE GARLIC CHUTNEY 200 g PCH", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 94, + "AnswerId": 230, + "Answer": "Yes", + "AnswerSequence": 218, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "226", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 225, + "Question": "HOMMADE GARLIC CHUTNEY 200 g PCH", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 94, + "AnswerId": 231, + "Answer": "No", + "AnswerSequence": 219, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "226", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 226, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 95, + "AnswerId": 232, + "Answer": "No Permission", + "AnswerSequence": 220, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 226, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 95, + "AnswerId": 233, + "Answer": "No Stock", + "AnswerSequence": 221, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 226, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 95, + "AnswerId": 234, + "Answer": "No Space", + "AnswerSequence": 222, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 227, + "Question": "HOMMADE CORIANDER CHUTNEY 200g PCH", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 96, + "AnswerId": 235, + "Answer": "Yes", + "AnswerSequence": 223, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "228", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 227, + "Question": "HOMMADE CORIANDER CHUTNEY 200g PCH", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 96, + "AnswerId": 236, + "Answer": "No", + "AnswerSequence": 224, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "228", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 228, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 97, + "AnswerId": 237, + "Answer": "No Permission", + "AnswerSequence": 225, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 228, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 97, + "AnswerId": 238, + "Answer": "No Stock", + "AnswerSequence": 226, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 228, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 97, + "AnswerId": 239, + "Answer": "No Space", + "AnswerSequence": 227, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 229, + "Question": "Dabur Hommade Schezwan Chutney 250g", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 98, + "AnswerId": 240, + "Answer": "Yes", + "AnswerSequence": 228, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "230", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 229, + "Question": "Dabur Hommade Schezwan Chutney 250g", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 98, + "AnswerId": 241, + "Answer": "No", + "AnswerSequence": 229, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "230", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 230, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 99, + "AnswerId": 242, + "Answer": "No Permission", + "AnswerSequence": 230, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 230, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 99, + "AnswerId": 243, + "Answer": "No Stock", + "AnswerSequence": 231, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 230, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 99, + "AnswerId": 244, + "Answer": "No Space", + "AnswerSequence": 232, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 231, + "Question": "Dabur Sarson Amla 300ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 100, + "AnswerId": 245, + "Answer": "Yes", + "AnswerSequence": 233, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "232", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 231, + "Question": "Dabur Sarson Amla 300ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 100, + "AnswerId": 246, + "Answer": "No", + "AnswerSequence": 234, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "232", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 232, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 101, + "AnswerId": 247, + "Answer": "No Permission", + "AnswerSequence": 235, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 232, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 101, + "AnswerId": 248, + "Answer": "No Stock", + "AnswerSequence": 236, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 232, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 101, + "AnswerId": 249, + "Answer": "No Space", + "AnswerSequence": 237, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 233, + "Question": "Dabur Amla- 225ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 102, + "AnswerId": 250, + "Answer": "Yes", + "AnswerSequence": 238, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "234", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 233, + "Question": "Dabur Amla- 225ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 102, + "AnswerId": 251, + "Answer": "No", + "AnswerSequence": 239, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "234", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 234, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 103, + "AnswerId": 252, + "Answer": "No Permission", + "AnswerSequence": 240, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 234, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 103, + "AnswerId": 253, + "Answer": "No Stock", + "AnswerSequence": 241, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 234, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 103, + "AnswerId": 254, + "Answer": "No Space", + "AnswerSequence": 242, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 235, + "Question": "Vatika CHO 180ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 104, + "AnswerId": 255, + "Answer": "Yes", + "AnswerSequence": 243, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "236", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 235, + "Question": "Vatika CHO 180ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 104, + "AnswerId": 256, + "Answer": "No", + "AnswerSequence": 244, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "236", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 236, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 105, + "AnswerId": 257, + "Answer": "No Permission", + "AnswerSequence": 245, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 236, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 105, + "AnswerId": 258, + "Answer": "No Stock", + "AnswerSequence": 246, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 236, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 105, + "AnswerId": 259, + "Answer": "No Space", + "AnswerSequence": 247, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 237, + "Question": "Dabur Herbl Toothpaste120gX2 Act.Charco", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 106, + "AnswerId": 260, + "Answer": "Yes", + "AnswerSequence": 248, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "238", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 237, + "Question": "Dabur Herbl Toothpaste120gX2 Act.Charco", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 106, + "AnswerId": 261, + "Answer": "No", + "AnswerSequence": 249, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "238", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 238, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 107, + "AnswerId": 262, + "Answer": "No Permission", + "AnswerSequence": 250, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 238, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 107, + "AnswerId": 263, + "Answer": "No Stock", + "AnswerSequence": 251, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 238, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 107, + "AnswerId": 264, + "Answer": "No Space", + "AnswerSequence": 252, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 239, + "Question": "GULABARI PURE ROSE SOAP 150GMX 3", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 108, + "AnswerId": 265, + "Answer": "Yes", + "AnswerSequence": 253, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "240", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 239, + "Question": "GULABARI PURE ROSE SOAP 150GMX 3", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 108, + "AnswerId": 266, + "Answer": "No", + "AnswerSequence": 254, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "240", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 240, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 109, + "AnswerId": 267, + "Answer": "No Permission", + "AnswerSequence": 255, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 240, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 109, + "AnswerId": 268, + "Answer": "No Stock", + "AnswerSequence": 256, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 240, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 109, + "AnswerId": 269, + "Answer": "No Space", + "AnswerSequence": 257, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 241, + "Question": "Gulabari White RoseSoap 150g Pack of 3 T", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 110, + "AnswerId": 270, + "Answer": "Yes", + "AnswerSequence": 258, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "242", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 241, + "Question": "Gulabari White RoseSoap 150g Pack of 3 T", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 110, + "AnswerId": 271, + "Answer": "No", + "AnswerSequence": 259, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "242", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 242, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 111, + "AnswerId": 272, + "Answer": "No Permission", + "AnswerSequence": 260, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 242, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 111, + "AnswerId": 273, + "Answer": "No Stock", + "AnswerSequence": 261, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 242, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 111, + "AnswerId": 274, + "Answer": "No Space", + "AnswerSequence": 262, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 243, + "Question": "Dabur Vatika Health 340ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 112, + "AnswerId": 275, + "Answer": "Yes", + "AnswerSequence": 263, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "244", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 243, + "Question": "Dabur Vatika Health 340ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 112, + "AnswerId": 276, + "Answer": "No", + "AnswerSequence": 264, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "244", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 244, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 113, + "AnswerId": 277, + "Answer": "No Permission", + "AnswerSequence": 265, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 244, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 113, + "AnswerId": 278, + "Answer": "No Stock", + "AnswerSequence": 266, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 244, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 113, + "AnswerId": 279, + "Answer": "No Space", + "AnswerSequence": 267, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 245, + "Question": "Dabur Vatika Ayurvedic 340ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 114, + "AnswerId": 280, + "Answer": "Yes", + "AnswerSequence": 268, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "246", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 245, + "Question": "Dabur Vatika Ayurvedic 340ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 114, + "AnswerId": 281, + "Answer": "No", + "AnswerSequence": 269, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "246", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 246, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 115, + "AnswerId": 282, + "Answer": "No Permission", + "AnswerSequence": 270, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 246, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 115, + "AnswerId": 283, + "Answer": "No Stock", + "AnswerSequence": 271, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 246, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 115, + "AnswerId": 284, + "Answer": "No Space", + "AnswerSequence": 272, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 247, + "Question": "Dabur Almond 100ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 116, + "AnswerId": 285, + "Answer": "Yes", + "AnswerSequence": 273, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "248", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 247, + "Question": "Dabur Almond 100ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 116, + "AnswerId": 286, + "Answer": "No", + "AnswerSequence": 274, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "248", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 248, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 117, + "AnswerId": 287, + "Answer": "No Permission", + "AnswerSequence": 275, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 248, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 117, + "AnswerId": 288, + "Answer": "No Stock", + "AnswerSequence": 276, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 248, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 117, + "AnswerId": 289, + "Answer": "No Space", + "AnswerSequence": 277, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 249, + "Question": "Dabur Amla 110ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 118, + "AnswerId": 290, + "Answer": "Yes", + "AnswerSequence": 278, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "250", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 249, + "Question": "Dabur Amla 110ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 118, + "AnswerId": 291, + "Answer": "No", + "AnswerSequence": 279, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "250", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 250, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 119, + "AnswerId": 292, + "Answer": "No Permission", + "AnswerSequence": 280, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 250, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 119, + "AnswerId": 293, + "Answer": "No Stock", + "AnswerSequence": 281, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 250, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 119, + "AnswerId": 294, + "Answer": "No Space", + "AnswerSequence": 282, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 251, + "Question": "Dabur Herbl ToothPaste120g Act.Charcoal", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 120, + "AnswerId": 295, + "Answer": "Yes", + "AnswerSequence": 283, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "252", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 251, + "Question": "Dabur Herbl ToothPaste120g Act.Charcoal", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 120, + "AnswerId": 296, + "Answer": "No", + "AnswerSequence": 284, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "252", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 252, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 121, + "AnswerId": 297, + "Answer": "No Permission", + "AnswerSequence": 285, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 252, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 121, + "AnswerId": 298, + "Answer": "No Stock", + "AnswerSequence": 286, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 252, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 121, + "AnswerId": 299, + "Answer": "No Space", + "AnswerSequence": 287, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 253, + "Question": "Dabur Vatika Health 180ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 122, + "AnswerId": 300, + "Answer": "Yes", + "AnswerSequence": 288, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "254", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 253, + "Question": "Dabur Vatika Health 180ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 122, + "AnswerId": 301, + "Answer": "No", + "AnswerSequence": 289, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "254", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 254, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 123, + "AnswerId": 302, + "Answer": "No Permission", + "AnswerSequence": 290, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 254, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 123, + "AnswerId": 303, + "Answer": "No Stock", + "AnswerSequence": 291, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 254, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 123, + "AnswerId": 304, + "Answer": "No Space", + "AnswerSequence": 292, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 255, + "Question": "Dabur Vatika Ayurvedic 180ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 124, + "AnswerId": 305, + "Answer": "Yes", + "AnswerSequence": 293, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "256", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 255, + "Question": "Dabur Vatika Ayurvedic 180ml", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 124, + "AnswerId": 306, + "Answer": "No", + "AnswerSequence": 294, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "256", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 256, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 125, + "AnswerId": 307, + "Answer": "No Permission", + "AnswerSequence": 295, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 256, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 125, + "AnswerId": 308, + "Answer": "No Stock", + "AnswerSequence": 296, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 256, + "Question": "Reason", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 125, + "AnswerId": 309, + "Answer": "No Space", + "AnswerSequence": 297, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 257, + "Question": "BOGO Zone", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 29, + "AnswerId": 310, + "Answer": "Yes", + "AnswerSequence": 298, + "ImageAllow1": true, + "ImageAllow2": true, + "Image1Mandatory": true, + "Image2Mandatory": true, + "EnableQuestion": "163,165,167,169,171,173,175,177,179,181,183,185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223,225,227,229", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 257, + "Question": "BOGO Zone", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 29, + "AnswerId": 311, + "Answer": "No", + "AnswerSequence": 299, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": " ", + "DisableQuestion": "163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186, 187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 13, + "Category": "BOGO Zone", + "CategorySequence": 13, + "ShowCat": 1, + "SubCategoryId": 13, + "SubCategory": "BOGO Zone", + "SubCategorySequence": 13, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 258, + "Question": "99 Zone", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 30, + "AnswerId": 312, + "Answer": "Yes", + "AnswerSequence": 300, + "ImageAllow1": true, + "ImageAllow2": true, + "Image1Mandatory": true, + "Image2Mandatory": true, + "EnableQuestion": "231,233,235,237,239,241,243,245", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 258, + "Question": "99 Zone", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 30, + "AnswerId": 313, + "Answer": "No", + "AnswerSequence": 301, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": " ", + "DisableQuestion": "231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 14, + "Category": "99 Zone", + "CategorySequence": 14, + "ShowCat": 1, + "SubCategoryId": 14, + "SubCategory": "99 Zone", + "SubCategorySequence": 14, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 259, + "Question": "49 Zone", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 31, + "AnswerId": 314, + "Answer": "Yes", + "AnswerSequence": 302, + "ImageAllow1": true, + "ImageAllow2": true, + "Image1Mandatory": true, + "Image2Mandatory": true, + "EnableQuestion": "247,249,251,253,255", + "DisableQuestion": "", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 259, + "Question": "49 Zone", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 31, + "AnswerId": 315, + "Answer": "No", + "AnswerSequence": 303, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": " ", + "DisableQuestion": "247,248,249,250,251,252,253,254,255,256", + "SurveyName": "Visibility", + "SurveyId": 12, + "MenuId": 39, + "CategoryId": 15, + "Category": "49 Zone", + "CategorySequence": 15, + "ShowCat": 1, + "SubCategoryId": 15, + "SubCategory": "49 Zone", + "SubCategorySequence": 15, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 263, + "Question": " Are there any high selling products or categories where stock is currently unavailable?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 135, + "AnswerId": 316, + "Answer": "Yes", + "AnswerSequence": 304, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "264", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 263, + "Question": " Are there any high selling products or categories where stock is currently unavailable?", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 135, + "AnswerId": 317, + "Answer": "No", + "AnswerSequence": 305, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "264", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 265, + "Question": "How would you rate the execution of additional visibility elements in the store Responses", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 137, + "AnswerId": 318, + "Answer": "Excellent", + "AnswerSequence": 306, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 265, + "Question": "How would you rate the execution of additional visibility elements in the store Responses", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 137, + "AnswerId": 319, + "Answer": "Good", + "AnswerSequence": 307, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 265, + "Question": "How would you rate the execution of additional visibility elements in the store Responses", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 137, + "AnswerId": 320, + "Answer": "Average", + "AnswerSequence": 308, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 265, + "Question": "How would you rate the execution of additional visibility elements in the store Responses", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 137, + "AnswerId": 321, + "Answer": "Minimal Visibility Present", + "AnswerSequence": 309, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 265, + "Question": "How would you rate the execution of additional visibility elements in the store Responses", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 137, + "AnswerId": 322, + "Answer": "Not Applicable", + "AnswerSequence": 310, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 266, + "Question": "Would you like to highlight any competition activity", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 138, + "AnswerId": 323, + "Answer": "Visibilities", + "AnswerSequence": 311, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 266, + "Question": "Would you like to highlight any competition activity", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 138, + "AnswerId": 324, + "Answer": "Promotions", + "AnswerSequence": 312, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 266, + "Question": "Would you like to highlight any competition activity", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 138, + "AnswerId": 325, + "Answer": "New Product Launches", + "AnswerSequence": 313, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 266, + "Question": "Would you like to highlight any competition activity", + "QuestionType": "Single Choice", + "QuestionTypeNew": "Single choice list", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 138, + "AnswerId": 326, + "Answer": "NO Activity", + "AnswerSequence": 314, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 3, + "Question": "REAL FP LITCHI VITAMINBOOST DRINK 1L TPK", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 3, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Juices Offtake", + "SurveyId": 1, + "MenuId": 13, + "CategoryId": 1, + "Category": "Offtake", + "CategorySequence": 1, + "ShowCat": 0, + "SubCategoryId": 1, + "SubCategory": "Offtake", + "SubCategorySequence": 1, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 126, + "Question": "Dabur Meswak 600gm toothpaste", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": true, + "MinLength": 1, + "MaxLength": 5, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 0, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Dabur Meswak 600gm toothpaste", + "SurveyId": 9, + "MenuId": 39, + "CategoryId": 5, + "Category": "Oral Care", + "CategorySequence": 5, + "ShowCat": 0, + "SubCategoryId": 5, + "SubCategory": "Oral Care", + "SubCategorySequence": 5, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 129, + "Question": "MESWAK PR MSWK EXT TPST 200+100G+TB CBD", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": true, + "MinLength": 1, + "MaxLength": 5, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 129, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Oral Care PPI Offtake Drive", + "SurveyId": 10, + "MenuId": 40, + "CategoryId": 5, + "Category": "Oral Care", + "CategorySequence": 5, + "ShowCat": 0, + "SubCategoryId": 5, + "SubCategory": "Oral Care", + "SubCategorySequence": 5, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 6, + "Question": "REAL FRT PWR MASALA MXFRUIT DRINK 1L TPK", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 6, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Juices Offtake", + "SurveyId": 1, + "MenuId": 13, + "CategoryId": 1, + "Category": "Offtake", + "CategorySequence": 1, + "ShowCat": 0, + "SubCategoryId": 1, + "SubCategory": "Offtake", + "SubCategorySequence": 1, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 261, + "Question": "Provide a summary of your meeting with the store buyer. (Separated by comma)", + "QuestionType": "OnlyText", + "QuestionTypeNew": "OnlyText", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 133, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 17, + "Category": "Meeting With Store Buyer", + "CategorySequence": 17, + "ShowCat": 1, + "SubCategoryId": 17, + "SubCategory": "Meeting With Store Buyer", + "SubCategorySequence": 17, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 138, + "Question": "No. of Customer Engagement Demonstrations made OTP Category", + "QuestionType": "Numbers", + "QuestionTypeNew": "Number", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 6, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 161, + "Question": "Consumer Engagement: Feedback", + "QuestionType": "OnlyText", + "QuestionTypeNew": "OnlyText", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 30, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 12, + "Category": "Additional Feedback to Promoter/Merchandiser", + "CategorySequence": 12, + "ShowCat": 1, + "SubCategoryId": 12, + "SubCategory": "Additional Feedback to Promoter/Merchandiser", + "SubCategorySequence": 12, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 264, + "Question": "Please mention the names of categories/SKUs. (Separated by comma)", + "QuestionType": "OnlyText", + "QuestionTypeNew": "OnlyText", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 136, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 135, + "Question": "No. of Customer Engagement Demonstrations made Juice Category", + "QuestionType": "Numbers", + "QuestionTypeNew": "Number", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 3, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 127, + "Question": "DABUR RED TOOTHPASTE 200+100G TB FR CBD", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": true, + "MinLength": 1, + "MaxLength": 5, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 127, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Oral Care PPI Offtake Drive", + "SurveyId": 10, + "MenuId": 40, + "CategoryId": 5, + "Category": "Oral Care", + "CategorySequence": 5, + "ShowCat": 0, + "SubCategoryId": 5, + "SubCategory": "Oral Care", + "SubCategorySequence": 5, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 1, + "Question": "REAL ACTIVE COCONUT WATER 1 L TPK", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 1, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Juices Offtake", + "SurveyId": 1, + "MenuId": 13, + "CategoryId": 1, + "Category": "Offtake", + "CategorySequence": 1, + "ShowCat": 0, + "SubCategoryId": 1, + "SubCategory": "Offtake", + "SubCategorySequence": 1, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 141, + "Question": "No. of Customer Engagement Demonstrations made Hair Care Category", + "QuestionType": "Numbers", + "QuestionTypeNew": "Number", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 9, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 130, + "Question": "DABUR MESWAK TOOTHPASTE 2Nx200g+100g CBD", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": true, + "MinLength": 1, + "MaxLength": 5, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 130, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Oral Care PPI Offtake Drive", + "SurveyId": 10, + "MenuId": 40, + "CategoryId": 5, + "Category": "Oral Care", + "CategorySequence": 5, + "ShowCat": 0, + "SubCategoryId": 5, + "SubCategory": "Oral Care", + "SubCategorySequence": 5, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 7, + "Question": "REAL FRUIT POWER MASALA GUAVA 1L TPK", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 7, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Juices Offtake", + "SurveyId": 1, + "MenuId": 13, + "CategoryId": 1, + "Category": "Offtake", + "CategorySequence": 1, + "ShowCat": 0, + "SubCategoryId": 1, + "SubCategory": "Offtake", + "SubCategorySequence": 1, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 4, + "Question": "REAL FP VITABOOST MIXEDFRUIT DRINK 1LTPK", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 4, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Juices Offtake", + "SurveyId": 1, + "MenuId": 13, + "CategoryId": 1, + "Category": "Offtake", + "CategorySequence": 1, + "ShowCat": 0, + "SubCategoryId": 1, + "SubCategory": "Offtake", + "SubCategorySequence": 1, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 142, + "Question": "No. of Customer Engagement Demonstrations made Air Care Category", + "QuestionType": "Numbers", + "QuestionTypeNew": "Number", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 10, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 136, + "Question": "No. of Customer Engagement Demonstrations made Honey Category", + "QuestionType": "Numbers", + "QuestionTypeNew": "Number", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 4, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 262, + "Question": "Mention SKUs where you see surplus stock and liquidation can be a problem. (Separated by comma)", + "QuestionType": "OnlyText", + "QuestionTypeNew": "OnlyText", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 134, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 18, + "Category": "Update on Business Priorites", + "CategorySequence": 18, + "ShowCat": 1, + "SubCategoryId": 18, + "SubCategory": "Update on Business Priorites", + "SubCategorySequence": 18, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 139, + "Question": "No. of Customer Engagement Demonstrations made Oral Category", + "QuestionType": "Numbers", + "QuestionTypeNew": "Number", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 7, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 162, + "Question": "Any Other: Feed Back", + "QuestionType": "OnlyText", + "QuestionTypeNew": "OnlyText", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 31, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 12, + "Category": "Additional Feedback to Promoter/Merchandiser", + "CategorySequence": 12, + "ShowCat": 1, + "SubCategoryId": 12, + "SubCategory": "Additional Feedback to Promoter/Merchandiser", + "SubCategorySequence": 12, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 5, + "Question": "REAL FRT POW MAS POMEGRNATE DRINK 1L TPK", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 5, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Juices Offtake", + "SurveyId": 1, + "MenuId": 13, + "CategoryId": 1, + "Category": "Offtake", + "CategorySequence": 1, + "ShowCat": 0, + "SubCategoryId": 1, + "SubCategory": "Offtake", + "SubCategorySequence": 1, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 128, + "Question": "DABUR RED PASTE PK OF 500g CBD", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": true, + "MinLength": 1, + "MaxLength": 5, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 128, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Oral Care PPI Offtake Drive", + "SurveyId": 10, + "MenuId": 40, + "CategoryId": 5, + "Category": "Oral Care", + "CategorySequence": 5, + "ShowCat": 0, + "SubCategoryId": 5, + "SubCategory": "Oral Care", + "SubCategorySequence": 5, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 2, + "Question": "REAL FP GUAVA VITAMIN BOOST DRINK 1L TPK", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 2, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Juices Offtake", + "SurveyId": 1, + "MenuId": 13, + "CategoryId": 1, + "Category": "Offtake", + "CategorySequence": 1, + "ShowCat": 0, + "SubCategoryId": 1, + "SubCategory": "Offtake", + "SubCategorySequence": 1, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 260, + "Question": "Provide a summary of your meeting with the regional buyer. (Separated by comma)", + "QuestionType": "Image", + "QuestionTypeNew": "Image", + "QEnable": true, + "QuestionImageAllow": true, + "QuestionImageMandatory": true, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 132, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 16, + "Category": "Meeting With Region Buyer", + "CategorySequence": 16, + "ShowCat": 1, + "SubCategoryId": 16, + "SubCategory": "Meeting With Region Buyer", + "SubCategorySequence": 16, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "https://ni1.parinaam.in/Download/SurveyRefImages/noimage.jpg" + }, + { + "QuestionId": 131, + "Question": "DABUR RED TOOTHPASTE 4x200g CBD", + "QuestionType": "Number", + "QuestionTypeNew": "Number", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": true, + "MinLength": 1, + "MaxLength": 5, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 131, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Oral Care PPI Offtake Drive", + "SurveyId": 10, + "MenuId": 40, + "CategoryId": 5, + "Category": "Oral Care", + "CategorySequence": 5, + "ShowCat": 0, + "SubCategoryId": 5, + "SubCategory": "Oral Care", + "SubCategorySequence": 5, + "CalFormula": "", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 137, + "Question": "No. of Customer Engagement Demonstrations made DCP/ Glucose Category", + "QuestionType": "Numbers", + "QuestionTypeNew": "Number", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 5, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 140, + "Question": "No. of Customer Engagement Demonstrations made Skin Care Category", + "QuestionType": "Numbers", + "QuestionTypeNew": "Number", + "QEnable": false, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 8, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 6, + "Category": "Employee Details", + "CategorySequence": 6, + "ShowCat": 1, + "SubCategoryId": 6, + "SubCategory": "Employee Details", + "SubCategorySequence": 6, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + }, + { + "QuestionId": 160, + "Question": "Store Level Relationship: Feedback", + "QuestionType": "OnlyText", + "QuestionTypeNew": "OnlyText", + "QEnable": true, + "QuestionImageAllow": false, + "QuestionImageMandatory": false, + "LengthValidation": false, + "MinLength": 0, + "MaxLength": 0, + "OTP": false, + "DateRange": "NA", + "QuestionSequence": 29, + "AnswerId": 0, + "Answer": "", + "AnswerSequence": 0, + "ImageAllow1": false, + "ImageAllow2": false, + "Image1Mandatory": false, + "Image2Mandatory": false, + "EnableQuestion": "", + "DisableQuestion": "", + "SurveyName": "Store Audit", + "SurveyId": 11, + "MenuId": 41, + "CategoryId": 12, + "Category": "Additional Feedback to Promoter/Merchandiser", + "CategorySequence": 12, + "ShowCat": 1, + "SubCategoryId": 12, + "SubCategory": "Additional Feedback to Promoter/Merchandiser", + "SubCategorySequence": 12, + "CalFormula": "NULL", + "RefImage": "", + "QuestionRefImage": "" + } + ] +} \ No newline at end of file diff --git a/src/screens/MainScreen/Feedback/feedbackdummy.js b/src/screens/MainScreen/Feedback/feedbackdummy.js new file mode 100644 index 0000000..66ee005 --- /dev/null +++ b/src/screens/MainScreen/Feedback/feedbackdummy.js @@ -0,0 +1,333 @@ +import React, { useState, useEffect } from 'react'; +import { + View, + Text, + TextInput, + ScrollView, + TouchableOpacity, + Platform, + Image, + Modal, +} from 'react-native'; +import AsyncStorage from '@react-native-async-storage/async-storage'; +import ModalSelector from 'react-native-modal-selector'; +import MultiSelect from 'react-native-multiple-select'; +import CustomHeader from '../../../components/CustomHeader'; +import IMAGES from '../../../constants/Images'; +import { GlobalTheme } from '../../../theme'; +import CustomButton from '../../../components/CustomButton'; +import { styles } from './style'; +import { toastError, toastSuccess } from '../../../constants/Toast'; +import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'; +import Icon from 'react-native-vector-icons/FontAwesome'; +import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'; +import mockDataFlat1 from './data.json'; +import CustomCamera from '../../../components/CustomCamera'; +import CustomModal from '../../../components/CustomModal'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +const transformSurveyData = (flatData) => { + const grouped = {}; + flatData?.forEach(item => { + if (!grouped[item.QuestionId]) { + grouped[item.QuestionId] = { + QuestionId: item.QuestionId, + Question: item.Question, + QuestionType: item.QuestionTypeNew, + QEnable: item.QEnable, + EnableQuestion: item.EnableQuestion, + DisableQuestion: item.DisableQuestion, + QuestionSequence: item.QuestionSequence, + CategorySequence: item.CategorySequence, + Answers: [] + }; + } + if (!['Number', 'Text', 'OnlyText'].includes(item.QuestionTypeNew)) { + if (item.AnswerId || item.Answer) { + grouped[item.QuestionId].Answers.push({ + AnswerId: item.AnswerId, + Answer: item.Answer + }); + } + } + }); + return Object.values(grouped).sort((a, b) => a.QuestionSequence - b.QuestionSequence); +}; + +const FeedbackFormScreen = ({ route, navigation }) => { + const { CategoryId, SurveyId, CategoryName } = route.params || {}; + const [questions, setQuestions] = useState([]); + const [answers, setAnswers] = useState({}); + const [enabledQuestions, setEnabledQuestions] = useState({}); + const [showCamera, setShowCamera] = useState(false); + const [activeCameraQId, setActiveCameraQId] = useState(null); + + // For modal + const [showModal, setShowModal] = useState(false); + const [selectedImg, setSelectedImg] = useState(null); + const [reCapImgModalObj, setReCapImgModalObj] = useState({}); + + useEffect(() => { + const filtered = mockDataFlat1?.mockDataFlat?.filter( + item => item.CategoryId === CategoryId && item.SurveyId === SurveyId + ); + const transformed = transformSurveyData(filtered); + setQuestions(transformed); + + const enableMap = {}; + transformed.forEach(q => { + enableMap[q.QuestionId] = q.QEnable; + }); + setEnabledQuestions(enableMap); + loadSavedAnswers(); + }, []); + + const loadSavedAnswers = async () => { + try { + const saved = await AsyncStorage.getItem('feedback_answers'); + if (saved) setAnswers(JSON.parse(saved)); + } catch (e) { + console.warn('Failed to load saved answers'); + } + }; + + const saveAnswers = async () => { + try { + await AsyncStorage.setItem('feedback_answers', JSON.stringify(answers)); + const completedRaw = await AsyncStorage.getItem('completed_categories'); + let completed = completedRaw ? JSON.parse(completedRaw) : []; + if (!completed.includes(CategoryId)) { + completed.push(CategoryId); + await AsyncStorage.setItem('completed_categories', JSON.stringify(completed)); + } + toastSuccess('Success', 'Answers Saved Successfully'); + navigation.goBack(); + } catch (e) { + toastError('Error', 'Failed to save answers'); + } + }; + + const handleAnswerChange = (questionId, value, enableList = '', disableList = '') => { + setAnswers(prev => ({ ...prev, [questionId]: value })); + const updated = { ...enabledQuestions }; + if (disableList) { + disableList.split(',').forEach(id => { + updated[parseInt(id)] = false; + }); + } + if (enableList) { + enableList.split(',').forEach(id => { + updated[parseInt(id)] = true; + }); + } + setEnabledQuestions(updated); + }; + + const handleImageCaptured = (photo) => { + if (activeCameraQId) { + setAnswers(prev => ({ ...prev, [activeCameraQId]: photo.uri })); + setSelectedImg(photo.uri); + setShowModal(true); + } + setShowCamera(false); + setActiveCameraQId(null); + }; + + const openCamera = (questionId) => { + setActiveCameraQId(questionId); + setShowCamera(true); + }; + + const _OpenCaptureImage_Modal = (imgUri) => { + const isImageCap = imgUri !== '' && imgUri != null; + let { cameraType } = reCapImgModalObj; + + return ( + + {isImageCap && ( + + + { + setShowModal(false); + openCamera(activeCameraQId); + }} + > + + + setShowModal(false)} + style={{ paddingVertical: 10, paddingHorizontal: 30, backgroundColor: GlobalTheme.colors.primary, borderRadius: 6 }} + > + Close + + + )} + + ); + }; + + return ( + + + navigation.goBack()} + onRightPress={() => navigation.navigate('Dashboard')} + /> + + + + {CategoryName} + {questions.map((qtn) => { + if (!enabledQuestions[qtn.QuestionId]) return null; + return ( + + {qtn.Question} + + {qtn.QuestionType === 'Single choice list' && ( + ({ key: ans.AnswerId, label: ans.Answer }))} + initValue="Select one" + onChange={option => { + const selectedAnswer = option.label; + // Look up the matching full answer entry from mockDataFlat1 + const matchedRow = mockDataFlat1.mockDataFlat.find(item => + item.QuestionId === qtn.QuestionId && item.Answer === selectedAnswer + ); + const enableQ = matchedRow?.EnableQuestion || ''; + const disableQ = matchedRow?.DisableQuestion || ''; + handleAnswerChange( + qtn.QuestionId, + selectedAnswer, + enableQ, + disableQ + ); + }} + > + + {answers[qtn.QuestionId] || '---Select option---'} + + + )} + + {qtn.QuestionType === 'Multi choice list' && ( + + handleAnswerChange( + qtn.QuestionId, + selected, + qtn.EnableQuestion, + qtn.DisableQuestion + ) + } + selectedItems={answers[qtn.QuestionId] || []} + selectText="Pick Items" + searchInputPlaceholderText="Search Items..." + searchIcon={} + tagRemoveIconColor="#ccc" + tagBorderColor="#ccc" + tagTextColor="#000" + selectedItemTextColor={GlobalTheme.colors.primary} + selectedItemIconColor="#000" + itemTextColor="#000" + styleMainWrapper={styles.multiSelect} + submitButtonText={'Submit'} + textColor={GlobalTheme.colors.black} + submitButtonColor={GlobalTheme.colors.secondary} + styleItemsContainer={styles.styleItemsContainer} + styleListContainer={styles.styleListContainer} + styleInputGroup={styles.styleInputGroup} + styleDropdownMenuSubsection={styles.styleDropdownMenuSubsection} + styleDropdownMenu={styles.styleDropdownMenu} + /> + )} + + {(qtn.QuestionType === 'Text' || qtn.QuestionType === 'OnlyText' || qtn.QuestionType === 'Number') && ( + handleAnswerChange(qtn.QuestionId, text)} + returnKeyType={(Platform.OS === 'ios') ? 'done' : 'next'} + /> + )} + + {qtn.QuestionType === 'Image' && ( + <> + { + if (answers[qtn.QuestionId]) { + setSelectedImg(answers[qtn.QuestionId]); + setReCapImgModalObj({ cameraType: '1' }); + setActiveCameraQId(qtn.QuestionId); + setShowModal(true); + } else { + openCamera(qtn.QuestionId); // if no image yet, open camera directly + } + }} + > + + + + + )} + + ); + })} + + + + + + + {showCamera && ( + + setShowCamera(false)} + /> + + )} + + {/* Modal Preview with Retake */} + {_OpenCaptureImage_Modal(selectedImg)} + + + ); +}; + +export default FeedbackFormScreen; diff --git a/src/screens/MainScreen/Feedback/index.js b/src/screens/MainScreen/Feedback/index.js new file mode 100644 index 0000000..92e00e7 --- /dev/null +++ b/src/screens/MainScreen/Feedback/index.js @@ -0,0 +1,816 @@ +import React, { useState, useEffect, useRef } from 'react'; +import { View, Text, TextInput, ScrollView, TouchableOpacity, Platform, Image, Modal, BackHandler, Keyboard } from 'react-native'; +import ModalSelector from 'react-native-modal-selector'; +import MultiSelect from 'react-native-multiple-select'; +import CustomHeader from '../../../components/CustomHeader'; +import IMAGES from '../../../constants/Images'; +import { GlobalTheme, Screen } from '../../../theme'; +import CustomButton from '../../../components/CustomButton'; +import { styles } from './style'; +import { toastError, toastSuccess } from '../../../constants/Toast'; +import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'; +import Icon from 'react-native-vector-icons/FontAwesome'; +import CustomCamera from '../../../components/CustomCamera'; +import db from '../../../constants/database'; +import { getImage } from '../../../constants/function'; +import CustomIcon from '../../../constants/IconGenerator'; +import { ImageZoom } from '@likashefqet/react-native-image-zoom'; +import { useFocusEffect } from '@react-navigation/native'; +import { validateNumber } from '../../../constants/validations'; +import { ConfirmSaveAlert } from '../../../components/Alert'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import moment from 'moment'; +import Loader from '../../../constants/Loader'; +import { useSelector } from 'react-redux'; + +const FeedbackFormScreen = ({ route, navigation }) => { + const { CategoryId, SurveyId, CategoryName , storeData} = route.params || {}; + let user_exist_data = useSelector(state => state?.user); + const userId = user_exist_data.UserId || '' ; + const [questions, setQuestions] = useState([]); + const [answers, setAnswers] = useState({}); + const [enabledQuestions, setEnabledQuestions] = useState({}); + const [showCamera, setShowCamera] = useState(false); + const [activeCameraQId, setActiveCameraQId] = useState(null); + const [selectedImg, setSelectedImg] = useState(null); + const [questionsFlat, setQuestionsFlat] = useState([]); + + const [showModal, setShowModal] = useState(false); + const [zoomImageUrl, setZoomImageUrl] = useState(null); + const [showZoomImage, setShowZoomImage] = useState(false); + + const [showAlert, setShowAlert] = useState(false); + const [loadingsave, setLoadingSave] = useState(false); + const d2 = moment().format('MM/DD/YYYY'); + + // handle disable and enable functions + + console.log("storeDatastoreDatastoreData",storeData) + + const disableQtn = () => { + let disableQ = questions?.map(q => { + + }); + } + + // end handle disable and enable functions + + const loadSavedAnswers = async () => { + const query = `SELECT * FROM FeedBackLocalTable WHERE CATEGORY_ID='${CategoryId}' AND SURVEY_ID='${SurveyId}' AND STORE_ID='${storeData?.StoreId}' AND VISIT_DATE='${d2}'`; + // console.log("local saved answers query ===>", query) + db.transaction(tx => { + tx.executeSql( + query, + [], + (tx, results) => { + const localAnswers = {}; + let enb = {} + for (let i = 0; i < results.rows.length; i++) { + const item = results.rows.item(i); + let answer = null; + if (item.IMAGE1 && item.IMAGE1 !== '') { + answer = item.IMAGE1.trim(); + } else if (item.ANSWER && item.ANSWER !== '') { + if (typeof item.ANSWER === 'string' && item.ANSWER.includes(',')) { + answer = item.ANSWER.split(',').map(val => parseInt(val.trim(), 10)); + } else { + answer = item.ANSWER; + } + } + + if (item.QUESTION_TYPE == 'Single choice list') { + answer = `${item?.ANSWER_ID},${item.ANSWER}` + } else if (item.QUESTION_TYPE == 'Multi choice list') { + answer = item?.MULTI_OPTIONS_IDS && JSON.parse(item?.MULTI_OPTIONS_IDS) + // console.log("answer------multi", answer, item) + } + + + + enb = item?.IS_DISABLED && JSON.parse(item?.IS_DISABLED) + localAnswers[item.QUESTION_ID] = answer; + // console.log("item?.IMAGE1", item?.IMAGE1) + localAnswers[item.QUESTION_ID + "Img1"] = item?.IMAGE1 ? ('file:///data/user/0/com.performicsstoredna/files/PerformicsAllImages/Store_DNA/' + item.IMAGE1) : ""; + localAnswers[item.QUESTION_ID + "Img2"] = item?.IMAGE1 ? ('file:///data/user/0/com.performicsstoredna/files/PerformicsAllImages/Store_DNA/' + item.IMAGE2) : ""; + + // enabledMap[item.QUESTION_ID] = item.IS_DISABLED === 1 ? false : true; // isDisabled + } + + setAnswers(prev => ({ + ...prev, + ...localAnswers + })); + // console.log("enb----",enb) + if (Object.keys(enb).length > 0) { + setEnabledQuestions(enb); // ✅ restore isDisabled state + } + }, + (tx, error) => { + console.log('Error fetching saved answers:', error); + } + ); + }); + }; + + const saveData = async () => { + setLoadingSave(true); + try { + let valuesArray = []; + + questions?.map(q => { + let answer = answers[q.QuestionId] || ''; + let img1 = answers[q.QuestionId + "Img1"] || ''; + let img2 = answers[q.QuestionId + "Img2"] || ''; + let selanswer = "", selansid = "", multi = ""; + + // console.log("questionlist======", q, "questionlist===="); + + if (q.QuestionType == 'Single choice list') { + let slValue = answer?.split(",") + selanswer = slValue?.[1] || '' + selansid = slValue?.[0] || "0" + // console.log("selanswer==", selanswer, "selansid", selansid, "answ", answer, q) + + } else if (q.QuestionType == 'Multi choice list') { + // console.log("multi------", answer) + multi = JSON.stringify(answer) + selansid = "0" + } else { + selanswer = answer + selansid = "0" + } + + // console.log("selanswer==",selanswer ,"selansid" , selansid , "answ",answer) + + let imgName1 = img1.split("/").pop(); + let imgName2 = img2.split("/").pop(); + + // console.log("multi------multi",multi) + let enb = JSON.stringify(enabledQuestions) + valuesArray.push(` ('${d2}','${SurveyId}', '${CategoryId}','${q.Question}','${q.QuestionId}','${q.QuestionType}','${selanswer || ''}','${selansid}','${q.QuestionImageAllow}','${imgName1 || ''}','${imgName2 || ''}','${q.ImageAllow1}','${q.ImageAllow2}','${multi}','${q.QuestionRefImage}', '${enb}', '${q.EnableQuestion}' , '${storeData.StoreId || ''}') `); + }); + + const queryStr = valuesArray.join(', '); + let insertQuery = `INSERT INTO FeedBackLocalTable (VISIT_DATE, SURVEY_ID, CATEGORY_ID, QUESTION, QUESTION_ID, QUESTION_TYPE ,ANSWER,ANSWER_ID,QuestionImageAllow,IMAGE1,IMAGE2,IMAGE_ALLOW1,IMAGE_ALLOW2,MULTI_OPTIONS_IDS, QUESTION_REF_IMAGE, IS_DISABLED , IS_ENABLED, STORE_ID) VALUES ${queryStr}` + + db.transaction(tx => { + let deleteQuery = `DELETE FROM FeedBackLocalTable WHERE CATEGORY_ID='${CategoryId}' AND SURVEY_ID='${SurveyId}' AND STORE_ID='${storeData?.StoreId}' AND VISIT_DATE='${d2}'`; + console.log('Executing DELETE query:', deleteQuery); + tx.executeSql(deleteQuery, [], () => { + + // console.log("insertQuery------",insertQuery) + tx.executeSql(insertQuery, [], async function (txn2, txnres) { + toastSuccess('Success', 'Data saved successfully.'); + setLoadingSave(false); + navigation.goBack(); + }, function (txnE, txnerr) { + console.log('Delete error:', txnerr); toastError('Error', txnerr); + setLoadingSave(false); + },); + + }, err => console.log('Delete error:', err)); + }); + } catch (e) { + toastError('Error', e); + setLoadingSave(false); + console.log('Transaction error:', e); + } + }; + + // const handleAnswerChange = (questionId, value, enableList = '', disableList = '', qtn) => { + + // setAnswers(prev => ({ ...prev, [questionId]: value })); + // const updated = { ...enabledQuestions }; + // if (disableList) { + // disableList.split(',').forEach(id => { + // updated[parseInt(id)] = false; + // }); + // } + // if (enableList) { + // enableList.split(',').forEach(id => { + // updated[parseInt(id)] = true; + // }); + // } + // setEnabledQuestions(updated); + // }; + + function cleanSelector(disableList,qtn,showImageTag,showImageTag2) { + let objTemp={...answers} + disableList?.split(",").map((itm,index)=>{ + objTemp[itm]="" + delete objTemp[itm+"Img1"] + delete objTemp[itm+"Img2"] + }) + if(showImageTag){ + delete objTemp[qtn?.QuestionId+"Img1"] + } + if(showImageTag2){ + delete objTemp[qtn?.QuestionId+"Img2"] + } + // console.log("objTemp-----3",showImageTag,showImageTag2,objTemp)s + setAnswers(objTemp); + + } + + + const handleAnswerChange = (questionId, value, enableList = '', disableList = '', qtn,showImageTag=false,showImageTag2=false) => { + const prevValue = answers[questionId]; + + // Clean selector logic: only for Single choice list + if ( + qtn.QuestionType === 'Single choice list' && + prevValue && + prevValue !== value + ) { + cleanSelector(disableList,qtn,showImageTag,showImageTag2); + console.log('qtn------',qtn) + } + + // Update the answer + setAnswers(prev => ({ ...prev, [questionId]: value })); + + // Enable/disable dependent questions + const updated = { ...enabledQuestions }; + + if (disableList) { + disableList.split(',').forEach(id => { + updated[parseInt(id)] = false; + }); + } + + if (enableList) { + enableList.split(',').forEach(id => { + updated[parseInt(id)] = true; + }); + } + + setEnabledQuestions(updated); + }; + + const handleImageCaptured = async (photo) => { + console.log("activeCameraQId-----", activeCameraQId) + if (activeCameraQId && photo?.uri) { + try { + const imgdata = { + uri: photo.uri, + width: photo.width, + ExtendedHeight: photo.height, + storeData: {} + }; + + const res = await getImage(imgdata ,userId , storeData); + const imagePath = 'file://' + (res?.finalPath || photo.uri); + setAnswers(prev => ({ + ...prev, + [activeCameraQId]: imagePath + })); + setSelectedImg(imagePath); + setShowModal(true); + } catch (e) { + console.warn("Watermarking failed:", e); + } + } + setShowCamera(false); + }; + + const openCamera = (questionId, type = 0) => { + setActiveCameraQId(questionId); + setShowCamera(true); + }; + + // Fixed function to handle image tap - properly set activeCameraQId + const handleImageTap = (questionId, type = 0) => { + const currentImage = answers[questionId]; + // Set the active camera question ID + setActiveCameraQId(questionId); + + if (currentImage) { + setSelectedImg(currentImage); + setShowModal(true); + // setActiveCameraQId(questionId+"Img"+type); + } else { + openCamera(questionId, type); + } + }; + + const transformSurveyData = (flatData) => { + const grouped = {}; + flatData?.forEach(item => { + if (!grouped[item.QuestionId]) { + grouped[item.QuestionId] = { + QuestionId: item.QuestionId, + Question: item.Question, + QuestionType: item.QuestionTypeNew, + QEnable: item.QEnable, + EnableQuestion: item.EnableQuestion, + DisableQuestion: item.DisableQuestion, + QuestionSequence: item.QuestionSequence, + CategorySequence: item.CategorySequence, + QuestionRefImage: item.QuestionRefImage, + MinLength: item.MinLength, + MaxLength: item.MaxLength, + LengthValidation: item.LengthValidation, + QuestionImageMandatory: item.QuestionImageMandatory, // images + QuestionImageAllow: item.QuestionImageAllow, + ImageAllow1: item.ImageAllow1, + ImageAllow2: item.ImageAllow2, + Image1Mandatory: item.Image1Mandatory, + Image2Mandatory: item.Image2Mandatory, + Answers: [] + }; + } + if (!['Number', 'Text', 'OnlyText'].includes(item.QuestionTypeNew)) { + if (item.AnswerId || item.Answer) { + grouped[item.QuestionId].Answers.push({ + AnswerId: item.AnswerId, + Answer: item.Answer, + isDisabled: item.DisableQuestion, + isEnabled: item.EnableQuestion, + ImageAllow2: item.ImageAllow2, + ImageAllow1: item.ImageAllow1 + }); + } + } + }); + return Object.values(grouped).sort((a, b) => a.QuestionSequence - b.QuestionSequence); + }; + + const loadQuestions = () => { + const query = `SELECT * FROM FeedbackCategory WHERE CategoryId = '${CategoryId}' AND SurveyId = '${SurveyId}' ORDER BY QuestionSequence ASC`; + console.log('Executing SELECT query:', query); + + db.transaction(tx => { + tx.executeSql( + `SELECT * FROM FeedbackCategory WHERE CategoryId = ? AND SurveyId = ? ORDER BY QuestionSequence ASC`, + [CategoryId, SurveyId], + (tx, results) => { + const rows = []; + for (let i = 0; i < results.rows.length; i++) { + rows.push(results.rows.item(i)); + } + // console.log('Fetched Questions:', rows); + + setQuestionsFlat(rows); + const transformed = transformSurveyData(rows); + setQuestions(transformed); + + const enableMap = {}; + transformed.forEach(q => { + enableMap[q.QuestionId] = q.QEnable === true || q.QEnable === 1; + }); + setEnabledQuestions(enableMap); + loadSavedAnswers(); + }, + (tx, err) => { + console.log('Error loading questions:', err); + } + ); + }); + }; + + const openRefImageView = (imgUrl) => { + setZoomImageUrl(imgUrl); + setShowZoomImage(true); + }; + + useEffect(() => { + loadQuestions(); + }, []); + + useFocusEffect( + React.useCallback(() => { + const onBackPress = () => { + if (showZoomImage) { + setShowZoomImage(false); + return true; // block default back action + } + return false; // allow default back behavior + }; + + const subscription = BackHandler.addEventListener('hardwareBackPress', onBackPress); + + return () => subscription.remove(); // ✅ modern cleanup + }, [showZoomImage]) + ); + + async function validate() { + let isValid = true; + + for (let qtn of questions) { + // Skip disabled questions + // console.log("enabledQuestions[qtn.QuestionId]", typeof enabledQuestions[qtn.QuestionId] , qtn) + if (!enabledQuestions[qtn.QuestionId]) continue; + + let selansid = '', selanswer = '', selimg = '', showImageTag = false, showImageTag2 = false, isImageMandateforAns = false; + + // console.log("answers===", JSON.stringify(answers)) + const answer = answers[qtn.QuestionId]; + const qType = qtn.QuestionType; + const qText = qtn.Question; + + let image1 = answers[qtn?.QuestionId + "Img1"] || ''; + let image2 = answers[qtn.QuestionId + "Img2"] || ''; + // console.log(answers, "answer==========", image1, answer) + // images + + const isTruthy = (val) => val === true || val === 'true' || val === 1 || val === '1'; + + let isImg1mandatory = isTruthy(qtn.Image1Mandatory) || isTruthy(qtn.QuestionImageMandatory); + let isImg2mandatory = isTruthy(qtn.Image2Mandatory); + + let isImgAllowed = ((qtn.QuestionImageAllow == true || qtn.QuestionImageAllow == 'true' || qtn.QuestionImageAllow == 1) || (qtn.QuestionType == "Image")); + // let isImg1mandatory = (qtn.Image1Mandatory == "true") || (qtn.Image1Mandatory == true) || (qtn.QuestionImageMandatory == "true") || (qtn.QuestionImageMandatory == true) + + // let isImg2mandatory = (qtn?.Image2Mandatory == "true" || qtn?.Image2Mandatory == 'true'); + let isQuestionImageMandatory = qtn.QuestionType == "Image" ? (qtn?.QuestionImageMandatory == "true" || qtn?.QuestionImageMandatory == true) : true; + + // console.log("isImg1mandatory qutn", qtn.Image1Mandatory, "questionss", qtn) + // TEXT / NUMBER / ONLYTEXT fields + if (['Text', 'Number', 'OnlyText'].includes(qType)) { + if (!answer || answer === '') { + toastError('Please fill details for: ', `${qText}`); + isValid = false; + break; + } + + const minL = qtn.MinLength || 0; + const maxL = qtn.MaxLength || 10; + const needsLengthValidation = qtn.LengthValidation === 'true' || qtn.LengthValidation === true || qtn.LengthValidation === 1; // works file recheck + + // console.log("needsLengthValidation",needsLengthValidation) + + if (needsLengthValidation) { + if (answer?.length < minL) { + toastError('', `Minimum ${minL} characters required in: ${qText}`); + isValid = false; + break; + } + if (answer?.length > maxL) { + toastError('', `Maximum ${maxL} characters allowed in: ${qText}`); + isValid = false; + break; + } + } + } + + // SINGLE CHOICE + else if (qType === 'Single choice list') { + console.log("Single choice questions", qType, answer) + const selectedValue = answer?.split(',')[1]; // get the actual ANSWER value + + if (!selectedValue || selectedValue.trim() === '') { + toastError('Please select an option for:', `${qText}`); + isValid = false; + break; + } + // if (!answer || answer === '') { + // toastError('Please select an option for:', `${qText}`); + // isValid = false; + // break; + // } + } + + // MULTI CHOICE + else if (qType === 'Multi choice list') { + if (!Array.isArray(answer) || answer.length === 0) { + toastError('Please select at least one option for:', `${qText}`); + isValid = false; + break; + } + } + // IMAGE + else if (qType === 'Image') { + if (!image1 || image1 === '') { + toastError('', `Please capture image for: ${qText}`); + isValid = false; + break; + } + } + + if ((qtn.QuestionType == 'Single choice list' || qtn.QuestionType == 'Multi choice list')) { + // console.log("answers[qtn?.QuestionId]----", answers[qtn?.QuestionId], qtn?.QuestionId) + if (qtn.QuestionType != 'Multi choice list') { + let slValue = answers[qtn?.QuestionId]?.split(",") + selanswer = slValue?.[1] || '' + selansid = slValue?.[0] || '0' + } + + if (qtn.Answers && qtn.Answers.length > 0) { + for (var i = 0; i < qtn.Answers.length; i++) { + let ansss = qtn.Answers[i]; + + let isandImgAl = (ansss.ImageAllow1 == true || ansss.ImageAllow1 == 'true' || ansss.ImageAllow1 == 1); + let isandImgAl2 = (ansss.ImageAllow2 == true || ansss.ImageAllow2 == 'true' || ansss.ImageAllow2 == 1); + + let an = answers[qtn.QuestionId] + // console.log("showImageTag2------", isandImgAl, ansss, qtn.AnswerId, qtn, an, answers) + if (qtn.QuestionType == 'Single choice list' && (isandImgAl && ansss.AnswerId == selansid)) { + showImageTag = true; + } + else if (qtn.QuestionType == 'Multi choice list' && (isandImgAl && qtn?.AnswerId?.indexOf(ansss?.AnswerId) >= 0)) { + showImageTag = true; + } + + if (qtn.QuestionType == 'Single choice list' && (isandImgAl2 && ansss.AnswerId == selansid)) { + showImageTag2 = true; + } + else if (qtn.QuestionType == 'Multi choice list' && (isandImgAl2 && qtn?.AnswerId?.indexOf(ansss?.AnswerId) >= 0)) { + showImageTag2 = true; + } + + } + } + } + + // console.log("isImg1mandatory answerrrrrrrr", isImg1mandatory, image1, image2) + + if (showImageTag && isImg1mandatory && (!image1 || image1 === '')) { + isValid = false; + toastError('', `Please capture image for: ${qText}`); + break; + } + if (showImageTag2 && isImg2mandatory && (!image2 || image2 === '')) { + isValid = false; + toastError('', `Please capture image for 2: ${qText}`); + break; + } + + // Other types like Audio, Rating, Date can be added similarly here + } + + return isValid; + } + + function setTextValue(value, qtn, type = '') { + if (value !== '') { + const isValid = validateNumber(value, type); + if (!isValid) return; + } + + let valToSave = value; + + // If it's decimal type and requires rounding + if (qtn.QuestionType === 'Decimal' && qtn.LengthValidation === 'true') { + const valSplit = value.split('.')[1]?.length; + if (valSplit === undefined || valSplit < 2) { + valToSave = value; + } else if (/^\d+\.\d{2}$/.test(value)) { + valToSave = Number(value).toFixed(2); + } + } + + setAnswers(prev => ({ + ...prev, + [qtn.QuestionId]: valToSave + })); + + } + + async function onSubmitData() { + let isvalid = await validate(); + if (isvalid) { + Keyboard.dismiss(); + setShowAlert(true); + } + } + + function onSaveCancel() { + setShowAlert(false); + } + + return ( + + navigation.goBack()} onRightPress={() => navigation.navigate('Dashboard')} /> + + + + + {CategoryName} + {questions.map((qtn) => { + let selansid = '', selanswer = ''; + let imgQS = qtn.QuestionId + "Img" + + if (!enabledQuestions[qtn.QuestionId]) return null; + + let maxlen = (qtn.LengthValidation == true || qtn.LengthValidation == 'true') && qtn.MaxLength != null && qtn.MaxLength != '' ? qtn.MaxLength : 10; + let minlen = (qtn.LengthValidation == true || qtn.LengthValidation == 'true') && qtn.MinLength != null && qtn.MinLength != '' ? qtn.MinLength : 0; + // question image + let isImgAllowed = ((qtn.QuestionImageAllow == true || qtn.QuestionImageAllow == 'true' || qtn.QuestionImageAllow == 1) || (qtn.QuestionType == "Image")); + let isQuestionImageMandatory = qtn.QuestionType == "Image" ? (qtn?.QuestionImageMandatory == "true" || qtn?.QuestionImageMandatory == true) : true; + + // Answer Images + let Image1Mandatory = (qtn.Image1Mandatory == "true") || (qtn.Image1Mandatory == true) || (qtn.QuestionImageMandatory == "true") || (qtn.QuestionImageMandatory == true) + let Image2Mandatory = (qtn.Image2Mandatory == "true") || (qtn.Image2Mandatory == true) + + {/* console.log(Image1Mandatory, "Image1Mandatory", qtn.QuestionImageMandatory, "qtn.QuestionImageMandatory") */ } + + {/* console.log("maxlen", maxlen, "===========", "minlen", minlen); */ } + let showImageTag = false, showImageTag2 = false + if (qtn.QuestionType == 'Image' && isImgAllowed) { + showImageTag = true; + } + if ((qtn.QuestionType == 'Single choice list' || qtn.QuestionType == 'Multi choice list')) { + {/* console.log("answers[qtn?.QuestionId]----", answers[qtn?.QuestionId], qtn?.QuestionId) */ } + if (qtn.QuestionType != 'Multi choice list') { + let slValue = answers[qtn?.QuestionId]?.split(",") + selanswer = slValue?.[1] || '' + selansid = slValue?.[0] || '0' + } + + if (qtn.Answers && qtn.Answers.length > 0) { + for (var i = 0; i < qtn.Answers.length; i++) { + let ansss = qtn.Answers[i]; + + let isandImgAl = (ansss.ImageAllow1 == true || ansss.ImageAllow1 == 'true' || ansss.ImageAllow1 == 1); + let isandImgAl2 = (ansss.ImageAllow2 == true || ansss.ImageAllow2 == 'true' || ansss.ImageAllow2 == 1); + + let an = answers[qtn.QuestionId] + {/* console.log("showImageTag2------", isandImgAl, ansss, qtn.AnswerId, qtn, an, answers) */ } + if (qtn.QuestionType == 'Single choice list' && (isandImgAl && ansss.AnswerId == selansid)) { + showImageTag = true; + } + else if (qtn.QuestionType == 'Multi choice list' && (isandImgAl && qtn?.AnswerId?.indexOf(ansss?.AnswerId) >= 0)) { + showImageTag = true; + } + + if (qtn.QuestionType == 'Single choice list' && (isandImgAl2 && ansss.AnswerId == selansid)) { + showImageTag2 = true; + } + else if (qtn.QuestionType == 'Multi choice list' && (isandImgAl2 && qtn?.AnswerId?.indexOf(ansss?.AnswerId) >= 0)) { + showImageTag2 = true; + } + + } + } + } + + return ( + + {qtn.Question} + {/* {console.log("qtn.QuestionRefImage", qtn.QuestionRefImage, Image2Mandatory)} */} + {qtn.QuestionRefImage != null && qtn.QuestionRefImage != '' && ( + openRefImageView(qtn.QuestionRefImage)}> + + + )} + + {qtn.QuestionType === 'Single choice list' && ( + ({ key: ans.AnswerId, label: ans.Answer }))} + initValue="Select one" + onChange={option => { + // console.log("option---", option) + const selectedAnswer = option.label; + const matchedRow = questionsFlat?.find(item => + item.QuestionId === qtn.QuestionId && item.Answer === selectedAnswer + ); + const enableQ = matchedRow?.EnableQuestion || ''; + const disableQ = matchedRow?.DisableQuestion || ''; + console.log("showImageTag------",showImageTag,showImageTag2) + handleAnswerChange( + qtn.QuestionId, + `${option?.key},${selectedAnswer}`, + enableQ, + disableQ, + qtn, + showImageTag, + showImageTag2 + ); + }} + > + + {selanswer || '---Select option---'} + + + )} + + {qtn.QuestionType === 'Multi choice list' && ( + { console.log('onSelectedItemsChange'); setMultiSelectValue(selectedItems, qtn) }} + // selectedItems={selansid} + items={qtn.Answers} + uniqueKey="AnswerId" + displayKey="Answer" + onSelectedItemsChange={(selected) => + handleAnswerChange(qtn.QuestionId, selected, qtn.EnableQuestion, qtn.DisableQuestion, qtn , "", "") + } + selectedItems={ + Array.isArray(answers[qtn.QuestionId]) + ? answers[qtn.QuestionId].map(a => parseInt(a)) + : [] + } + selectText="Pick Items" + searchInputPlaceholderText="Search Items..." + searchIcon={} + tagRemoveIconColor="#ccc" + tagBorderColor="#ccc" + tagTextColor="#000" + selectedItemTextColor={GlobalTheme.colors.primary} + selectedItemIconColor="#000" + itemTextColor="#000" + styleMainWrapper={styles.multiSelect} + submitButtonText={'Submit'} + textColor={GlobalTheme.colors.black} + submitButtonColor={GlobalTheme.colors.secondary} + styleItemsContainer={styles.styleItemsContainer} + styleListContainer={styles.styleListContainer} + styleInputGroup={styles.styleInputGroup} + styleDropdownMenuSubsection={styles.styleDropdownMenuSubsection} + styleDropdownMenu={styles.styleDropdownMenu} + /> + )} + + {(qtn.QuestionType === 'Text' || qtn.QuestionType === 'OnlyText' || qtn.QuestionType === 'Number') && ( + { setTextValue(val, qtn, qtn.QuestionType == 'Decimal' ? 'decimal' : qtn.QuestionType == 'Text' ? 'text' : qtn.QuestionType == 'OnlyText' ? 'onlytext' : 'numeric') }} + // onChangeText={(text) => handleAnswerChange(qtn.QuestionId, text)} + returnKeyType={(Platform.OS === 'ios') ? 'done' : 'next'} + /> + )} + + + {showImageTag && + + { handleImageTap(imgQS + 1) }}> + + + + } + + {showImageTag2 && + + { handleImageTap(imgQS + 2) }}> + + + + } + + + ); + })} + + + {showZoomImage && zoomImageUrl && ( + + setShowZoomImage(false)} > + + + + + )} + + {showModal && selectedImg && ( + setShowModal(false)}> + + + + { + setShowModal(false); + if (activeCameraQId) { + openCamera(activeCameraQId); + } + }} + > + Retake + + + setShowModal(false)}> + Close + + + + + )} + + + {showCamera && ( + + setShowCamera(false)} + /> + + )} + + + + + + + + ); +}; + +export default FeedbackFormScreen; \ No newline at end of file diff --git a/src/screens/MainScreen/Feedback/mappingdata.json b/src/screens/MainScreen/Feedback/mappingdata.json new file mode 100644 index 0000000..a597cf1 --- /dev/null +++ b/src/screens/MainScreen/Feedback/mappingdata.json @@ -0,0 +1,232 @@ +{ + "mappingsurvey":[ + { + "StoreId": 403, + "SurveyId": 1 + }, + { + "StoreId": 484, + "SurveyId": 1 + }, + { + "StoreId": 510, + "SurveyId": 1 + }, + { + "StoreId": 583, + "SurveyId": 1 + }, + { + "StoreId": 2928, + "SurveyId": 1 + }, + { + "StoreId": 2949, + "SurveyId": 1 + }, + { + "StoreId": 1, + "SurveyId": 1 + }, + { + "StoreId": 2, + "SurveyId": 1 + }, + { + "StoreId": 3, + "SurveyId": 1 + }, + { + "StoreId": 4, + "SurveyId": 1 + }, + { + "StoreId": 5, + "SurveyId": 1 + }, + { + "StoreId": 1, + "SurveyId": 9 + }, + { + "StoreId": 2, + "SurveyId": 9 + }, + { + "StoreId": 3, + "SurveyId": 9 + }, + { + "StoreId": 4, + "SurveyId": 9 + }, + { + "StoreId": 5, + "SurveyId": 9 + }, + { + "StoreId": 585, + "SurveyId": 9 + }, + { + "StoreId": 2532, + "SurveyId": 9 + }, + { + "StoreId": 1, + "SurveyId": 10 + }, + { + "StoreId": 2, + "SurveyId": 10 + }, + { + "StoreId": 3, + "SurveyId": 10 + }, + { + "StoreId": 4, + "SurveyId": 10 + }, + { + "StoreId": 1171, + "SurveyId": 11 + }, + { + "StoreId": 1, + "SurveyId": 12 + }, + { + "StoreId": 2, + "SurveyId": 12 + }, + { + "StoreId": 3, + "SurveyId": 12 + }, + { + "StoreId": 4, + "SurveyId": 12 + }, + { + "StoreId": 5, + "SurveyId": 12 + }, + { + "StoreId": 691, + "SurveyId": 10 + }, + { + "StoreId": 2949, + "SurveyId": 10 + }, + { + "StoreId": 402, + "SurveyId": 10 + }, + { + "StoreId": 484, + "SurveyId": 10 + }, + { + "StoreId": 2928, + "SurveyId": 10 + }, + { + "StoreId": 403, + "SurveyId": 10 + }, + { + "StoreId": 583, + "SurveyId": 10 + }, + { + "StoreId": 3739, + "SurveyId": 10 + }, + { + "StoreId": 510, + "SurveyId": 10 + }, + { + "StoreId": 2958, + "SurveyId": 10 + }, + { + "StoreId": 4041, + "SurveyId": 10 + }, + { + "StoreId": 2920, + "SurveyId": 10 + }, + { + "StoreId": 45, + "SurveyId": 11 + }, + { + "StoreId": 402, + "SurveyId": 11 + }, + { + "StoreId": 484, + "SurveyId": 11 + }, + { + "StoreId": 510, + "SurveyId": 11 + }, + { + "StoreId": 653, + "SurveyId": 11 + }, + { + "StoreId": 1122, + "SurveyId": 11 + }, + { + "StoreId": 1483, + "SurveyId": 11 + }, + { + "StoreId": 1532, + "SurveyId": 11 + }, + { + "StoreId": 1605, + "SurveyId": 11 + }, + { + "StoreId": 1711, + "SurveyId": 11 + }, + { + "StoreId": 2091, + "SurveyId": 11 + }, + { + "StoreId": 2308, + "SurveyId": 11 + }, + { + "StoreId": 2532, + "SurveyId": 11 + }, + { + "StoreId": 2928, + "SurveyId": 11 + }, + { + "StoreId": 2949, + "SurveyId": 11 + }, + { + "StoreId": 2958, + "SurveyId": 11 + }, + { + "StoreId": 3198, + "SurveyId": 11 + } +] +} \ No newline at end of file diff --git a/src/screens/MainScreen/Feedback/style.js b/src/screens/MainScreen/Feedback/style.js new file mode 100644 index 0000000..427ba83 --- /dev/null +++ b/src/screens/MainScreen/Feedback/style.js @@ -0,0 +1,103 @@ +import { StyleSheet } from 'react-native'; +import { GlobalTheme, Screen } from '../../../theme'; + +export const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: GlobalTheme.colors.white, + paddingHorizontal: 10, + paddingVertical: 10 + }, + btnbg: { + backgroundColor: GlobalTheme.colors.secondary, borderRadius: GlobalTheme.borderRadius.md , marginVertical:10 , marginHorizontal:10 , bottom:0 + }, + btntext: { + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.medium + }, + cardview: { + borderColor: GlobalTheme.colors.lightblue, borderWidth: 1, borderRadius: GlobalTheme.borderRadius.lg, padding: 10 + }, + questionBlock: { + marginBottom: 16, + }, + questionText: { + color:'#000', + fontSize: GlobalTheme.typography.fontSize.xsmall, + marginVertical: 5 + }, + categoryName: { + fontSize: GlobalTheme.typography.fontSize.medium , fontWeight : GlobalTheme.typography.fontWeight.medium , color : GlobalTheme.colors.black , marginVertical:0 + }, + + textInput: { + borderWidth: 1.5, + borderColor: GlobalTheme.colors.lightblue, + borderRadius: 6, + padding: 10, + color : GlobalTheme.colors.black, + marginVertical: 5 + }, + multiSelect: { + // marginTop: 8, + // backgroundColor:'red' + }, + selectorBox: { + color:'gray', + padding: 15, + backgroundColor: GlobalTheme.colors.bluebgcolor, + borderRadius: GlobalTheme.borderRadius.sm, + marginVertical: 5 + }, + //multi select + styleItemsContainer:{ + backgroundColor: GlobalTheme.colors.bluebgcolor , borderRadius :GlobalTheme.borderRadius.md , overflow:'hidden', paddingHorizontal:10, marginHorizontal:0,marginVertical:0 , marginBottom:20 + }, + styleListContainer:{ + backgroundColor: GlobalTheme.colors.bluebgcolor , borderRadius :GlobalTheme.borderRadius.md , padding:0 , overflow:'hidden', paddingHorizontal:0, marginHorizontal:0,marginVertical:10 + }, + styleInputGroup:{ + backgroundColor: GlobalTheme.colors.bluebgcolor , borderRadius :GlobalTheme.borderRadius.md , padding:0 , overflow:'hidden',paddingHorizontal:10, marginVertical:10,height:50 + }, + styleDropdownMenuSubsection:{ + backgroundColor: GlobalTheme.colors.bluebgcolor , borderRadius :GlobalTheme.borderRadius.md , padding:0 , overflow:'hidden',paddingHorizontal:10, marginHorizontal:10 + }, + styleDropdownMenu:{ + backgroundColor: GlobalTheme.colors.bluebgcolor , borderRadius :GlobalTheme.borderRadius.md , overflow:'hidden', marginVertical:10, height:50 + }, + + // camera + openStk_prdCameras:{marginTop:10,flexDirection:'row',flexWrap:'wrap'}, + openStkCameraCon:{marginRight:10,}, + openStkCameraCon2:{marginRight:10,alignItems: 'center'}, + iconStyle : { + height :70 , width : 70 , resizeMode : "contain" + }, + // refImage + WItem_RefImgBtn:{position:'absolute',right:0,top:-5,width:40,height:40,borderRadius:20,alignItems:'center',justifyContent:'center'}, + album_ZOOM_wrap:{backgroundColor:'#000',position:'absolute',top:0,left:0,width:Screen.screenWidth,height:Screen.screenHeight,zIndex:1}, + album_ZOOM:{backgroundColor:'#000',width:Screen.screenWidth,height:Screen.screenHeight}, + + closeIcon : { + resizeMode : 'contain', + alignSelf:'flex-end', + right:20, + marginTop:20 + }, + store_audit_img_con:{width:'100%',marginTop:10,height:150,marginHorizontal:5,alignSelf:'center',alignItems:'center',justifyContent:'center',position:'relative',backgroundColor:'#f5f5f5'}, + modal_view : { + backgroundColor: 'white', + borderRadius: 12, + padding: 20, + width: 300, + alignItems: 'center', + elevation: 10 + }, + modal_view2: { + marginBottom: 15, + paddingHorizontal: 25, + paddingVertical: 10, + backgroundColor: GlobalTheme.colors.secondary, + borderRadius: 6 + } +}); diff --git a/src/screens/MainScreen/StoreInfo/index copy.js b/src/screens/MainScreen/StoreInfo/index copy.js new file mode 100644 index 0000000..a11be3d --- /dev/null +++ b/src/screens/MainScreen/StoreInfo/index copy.js @@ -0,0 +1,437 @@ +import React, { useState, useRef, useEffect } from 'react'; +import { View, Text, TouchableOpacity, ScrollView, FlatList } from 'react-native'; +import { styles } from './style'; +import { horizonalLine, Screen } from '../../../theme/theme'; +import CustomHeader from '../../../components/CustomHeader'; +import IMAGES from '../../../constants/Images'; +import axios from 'axios'; +import Loader from '../../../constants/Loader'; + +const storeinfodata = [ + { + tabId: 0, + section: 'Store details', + items: [ + { brand: 'Store Name', name: 'Reliance Smart' }, + { brand: 'Store ID', name: '#98440' }, + { brand: 'Address', name: 'Rabindra Nagar, Delhi 110003' }, + { brand: 'City', name: 'Okhla' }, + { brand: 'Store Size', name: '1500–2000 sq ft' }, + { brand: 'Average Footfall', name: '10000' }, + { brand: 'Store age', name: '8' }, + { brand: 'Store Ranking', name: '24' }, + ], + }, + { + tabId: 0, + section: 'Dabur Employees', + items: [ + { brand: 'RKAM', name: 'Rajesh Paal Singh' }, + { brand: 'SO', name: 'Soniya Singhal' }, + ], + }, + { + tabId: 0, + section: '3P employees', + items: [ + { brand: 'Promoter Name', name: 'Payal Singh' }, + { brand: 'AM Name', name: 'Soniya Singhal' }, + { brand: 'Supervisor Name', name: 'Soniya Dhankar' }, + { brand: 'City', name: 'Okhla' }, + { brand: 'Promoter duration', name: '2 Year 7 months' }, + { brand: 'Average incentive', name: '5000' }, + ], + }, + + // Last Visit Details (tabId: 1) + { + tabId: 1, + section: 'Dabur employee', + items: [ + { brand: 'SO', name: 'Rajesh Paal Singh', date: '23/05/2025', test: 'gxsjhxbas' }, + { brand: 'AH', name: 'Umesh Singh', date: '18/04/2025' }, + { brand: 'KAM', name: 'Rahul Tawde', date: '15/05/2025' }, + { brand: 'Others', name: 'Singhal Singh', date: '06/05/2025' }, + ], + }, + { + tabId: 1, + section: '3P team', + items: [ + { brand: 'Supervisor', name: 'Ashish Talwar', date: '27/05/2025' }, + { brand: 'AM', name: 'Soniya Singhal', date: '23/05/2025' }, + ], + }, + + // Competition (tabId: 2) + { + tabId: 2, + section: 'Competition assets', + items: [ + { brand: 'Marico', value: 5 }, + { brand: 'Colgate', value: 1 }, + { brand: 'Godrej', value: 2 }, + { brand: 'HUL', value: 1 }, + { brand: 'XX', value: 2 }, + ], + }, + { + tabId: 2, + section: 'Promoter details', + items: [ + { brand: 'Marico', value: 1 }, + { brand: 'Colgate', value: 1 }, + { brand: 'Godrej', value: 1 }, + { brand: 'HUL', value: 1 }, + { brand: 'XX', value: 0 }, + ], + }, +]; + + + +const tabs = [ + { id: 0, title: 'Store Info' }, + { id: 1, title: 'Last visit details' }, + { id: 2, title: 'Competition' }, +]; + + +const RenderHeader = ({ columns }) => { + const colWidth = Screen.screenWidth * 0.95 / columns?.length; + + return ( + null + // + // {columns.map((col, index) => ( + // + // {col.toUpperCase()} + // + // ))} + // + ); +}; + + +const RenderItem = ({ item, columns }) => { + const colWidth = Screen.screenWidth * 0.95 / columns?.length; + + console.log('item------>',item); + let col=item?.brand == 'Designation' ? [...columns[0]]:columns + + return ( + + + + {col.map((key, index) => ( + + {console.log("columns---",columns,"Designation",item)} + {item?.brand == 'Designation'? item?.name :String(item[key] ?? '')} + + ))} + + + + ); +}; + + +const SectionListView = ({ listData }) => { + const scrollRef = useRef(null); // shared horizontal scroll ref +console.log("/-",listData) + return ( + item.section + index} + contentContainerStyle={{ paddingBottom: 20 }} + ItemSeparatorComponent={() => } + renderItem={({ item }) => { + const columns = Object.keys(item.items[0] || {}).filter( + key => item.items.some(obj => obj[key] !== undefined && obj[key] !== null) + ); + + return ( + + {item.section} + + + {/* Shared horizontal scroll view for header + rows */} + + + + {item.items.map((subItem, index) => ( + + ))} + + + + ); + }} + /> + ); +}; + + +const StoreInfo = ({ navigation, route }) => { + + const { storeData } = route.params || {}; + const [loading, setLoading] = useState(false) + const [selectedTab, setSelectedTab] = useState(0); + const [storeInfoData, setStoreInfoData] = useState([]) + + + useEffect(() => { + getStoreInfo() + }, []) + + // const getStoreInfo = async () => { + // setLoading(true) + // try { + // const params = { StoreId: storeData?.StoreId || "723" }; + // const config = { + // method: 'post', + // url: 'https://api1.parinaam.in/api/dabur/StoreDNAstoreInfo', + // headers: { + // 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + // 'Content-Type': 'application/json' + // }, + // data: params + // }; + + // const response = await axios.request(config); + // const res = response.data?.StoreDNAstoreInfo || {}; + + // // Flatten & transform API response into format usable by SectionListView + // const tempData = []; + + // Object.entries(res).forEach(([sectionTitle, dataArray]) => { + // if (dataArray?.length > 0) { + // const tabId = dataArray[0]?.TabId ?? 0; + + // // Convert single object to list of { key: value } pairs + // dataArray.forEach(item => { + // const cleanItem = { ...item }; + // delete cleanItem.TabId; + // delete cleanItem.TabName; + + // const formattedItems = Object.entries(cleanItem).map(([key, value]) => ({ + // brand: key, + // name: String(value) + // })); + + // tempData.push({ + // tabId, + // section: sectionTitle.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase()), + // items: formattedItems + // }); + + + + // }); + // } + // }); + // setStoreInfoData(tempData); + // setLoading(false) + // } catch (error) { + // console.log("❌ store info api error:", error); + // setLoading(false) + // } + // }; + +const getStoreInfo = async () => { + setLoading(true); + try { + const params = { StoreId: storeData?.StoreId || "723" }; + const config = { + method: 'post', + url: 'https://api1.parinaam.in/api/dabur/StoreDNAstoreInfo', + headers: { + 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + 'Content-Type': 'application/json' + }, + data: params + }; + + const response = await axios.request(config); + const res = response.data?.StoreDNAstoreInfo || {}; + + // Step 1: Flatten API data + const tempData = []; + + Object.entries(res).forEach(([sectionTitle, dataArray]) => { + if (dataArray?.length > 0) { + const tabId = dataArray[0]?.TabId ?? 0; + let sec =sectionTitle.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase()) + dataArray.forEach(item => { + const cleanItem = { ...item }; + delete cleanItem.TabId; + delete cleanItem.TabName; + +let formattedItems=[] + if("Dabur Employee"==sec){ + console.log("tempData---14",item,sec) + formattedItems = Object.entries(cleanItem).map(([key, value]) => ({ + brand: key, + name: String(value) + })); + }else{ + formattedItems = Object.entries(cleanItem).map(([key, value]) => ({ + brand: key, + name: String(value) + })); + } + + + + tempData.push({ + tabId, + section: sec, + items: formattedItems + }); + }); + } + }); + + // Step 2: Group items by tabId and section + const groupedData = {}; + + tempData.forEach(entry => { + const key = `${entry.tabId}-${entry.section}`; + if (!groupedData[key]) { + groupedData[key] = { + tabId: entry.tabId, + section: entry.section, + items: [] + }; + } + groupedData[key].items.push(...entry.items); + }); + + // let objTemp={} + // groupedData['0-Dabur Employee']?.items + console.log("tempData-----gD",groupedData) + + // Step 3: Set to state + setStoreInfoData(Object.values(groupedData)); + setLoading(false); + } catch (error) { + console.log("❌ store info api error:", error); + setLoading(false); + } +}; + + + + const filteredData = Array.isArray(storeInfoData) + ? storeInfoData.filter(item => item.tabId === selectedTab) + : []; + const selectedTabTitle = tabs?.find(tab => tab.id === selectedTab)?.title ?? 'NA'; + + const dynamicTabs = Array.isArray(storeInfoData) + ? Array.from(new Set(storeInfoData.map(item => item.tabId))).map(id => ({ + id, + title: tabs.find(tab => tab.id === id)?.title || `Tab ${id}` + })) + : []; + + console.log("listData-----12",storeInfoData,filteredData) + + // const getStoreInfo = async () => { + // try { + // const params = { + // "StoreId": "723" + // }; + + // const config = { + // method: 'post', + // url: 'https://api1.parinaam.in/api/dabur/StoreDNAstoreInfo', + // headers: { + // 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + // 'Content-Type': 'application/json' + // }, + // data: params + // }; + + // const response = await axios.request(config); + // const res = response.data?.StoreDNAstoreInfo || {}; + // console.log('GET STORE INFO ==> ', JSON.stringify(res)); + + // const allItems = res && Object.values(res).flat(); // Flattened array + // setStoreInfoData(allItems); + + // // Now extract TabId and TabName from array + // const tabData = allItems.map(item => ({ + // TabId: item.TabId, + // TabName: item.TabName + // })).filter(item => item.TabId !== undefined && item.TabName); + + // // Remove duplicates + // const uniqueTabs = Array.from( + // new Map(tabData.map(item => [`${item.TabId}-${item.TabName}`, item])).values() + // ); + + // console.log("tabData----", tabData, uniqueTabs) + // let NewObj = {} + // let ourVlue = uniqueTabs.map((item, i) => { + // NewObj[item?.TabName] = allItems?.filter((val) => val?.TabName == item?.TabName) + // }) + + // console.log("Unique Tabs:", uniqueTabs, JSON.stringify(NewObj)); + // console.log("All Items:", JSON.stringify(allItems)); + + // } catch (error) { + // console.log("❌ store info api error:", error); + // } + // }; + + const renderTabContent = () => { + switch (selectedTab) { + case 0: + return + case 1: + return + case 2: + return ; + default: + return null; + } + }; + + return ( + + navigation.goBack()} /> + + + + + {/* {tabs?.map((tab) => ( */} + {dynamicTabs?.map((tab) => ( + setSelectedTab(tab.id)}> + + + {tab.title} + + + + ))} + + + + + {selectedTabTitle} + {renderTabContent()} + + + + + ); +}; +export default StoreInfo; diff --git a/src/screens/MainScreen/StoreInfo/index.js b/src/screens/MainScreen/StoreInfo/index.js new file mode 100644 index 0000000..db90e87 --- /dev/null +++ b/src/screens/MainScreen/StoreInfo/index.js @@ -0,0 +1,319 @@ +import React, { useState, useRef, useEffect } from 'react'; +import { View, Text, TouchableOpacity, ScrollView, FlatList } from 'react-native'; +import { styles } from './style'; +import GlobalTheme, { horizonalLine, Screen } from '../../../theme/theme'; +import CustomHeader from '../../../components/CustomHeader'; +import IMAGES from '../../../constants/Images'; +import axios from 'axios'; +import Loader from '../../../constants/Loader'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +const storeinfodata = [ + { + tabId: 0, + section: 'Store details', + items: [ + { brand: 'Store Name', name: 'Reliance Smart' }, + { brand: 'Store ID', name: '#98440' }, + { brand: 'Address', name: 'Rabindra Nagar, Delhi 110003' }, + { brand: 'City', name: 'Okhla' }, + { brand: 'Store Size', name: '1500–2000 sq ft' }, + { brand: 'Average Footfall', name: '10000' }, + { brand: 'Store age', name: '8' }, + { brand: 'Store Ranking', name: '24' }, + ], + }, + { + tabId: 0, + section: 'Dabur Employees', + items: [ + { brand: 'RKAM', name: 'Rajesh Paal Singh' }, + { brand: 'SO', name: 'Soniya Singhal' }, + ], + }, + { + tabId: 0, + section: '3P employees', + items: [ + { brand: 'Promoter Name', name: 'Payal Singh' }, + { brand: 'AM Name', name: 'Soniya Singhal' }, + { brand: 'Supervisor Name', name: 'Soniya Dhankar' }, + { brand: 'City', name: 'Okhla' }, + { brand: 'Promoter duration', name: '2 Year 7 months' }, + { brand: 'Average incentive', name: '5000' }, + ], + }, + + // Last Visit Details (tabId: 1) + { + tabId: 1, + section: 'Dabur employee', + items: [ + { brand: 'SO', name: 'Rajesh Paal Singh', date: '23/05/2025', test: 'gxsjhxbas' }, + { brand: 'AH', name: 'Umesh Singh', date: '18/04/2025' }, + { brand: 'KAM', name: 'Rahul Tawde', date: '15/05/2025' }, + { brand: 'Others', name: 'Singhal Singh', date: '06/05/2025' }, + ], + }, + { + tabId: 1, + section: '3P team', + items: [ + { brand: 'Supervisor', name: 'Ashish Talwar', date: '27/05/2025' }, + { brand: 'AM', name: 'Soniya Singhal', date: '23/05/2025' }, + ], + }, + + // Competition (tabId: 2) + { + tabId: 2, + section: 'Competition assets', + items: [ + { brand: 'Marico', value: 5 }, + { brand: 'Colgate', value: 1 }, + { brand: 'Godrej', value: 2 }, + { brand: 'HUL', value: 1 }, + { brand: 'XX', value: 2 }, + ], + }, + { + tabId: 2, + section: 'Promoter details', + items: [ + { brand: 'Marico', value: 1 }, + { brand: 'Colgate', value: 1 }, + { brand: 'Godrej', value: 1 }, + { brand: 'HUL', value: 1 }, + { brand: 'XX', value: 0 }, + ], + }, +]; + + + +const tabs = [ + { id: 0, title: 'Store Info' }, + { id: 1, title: 'Last visit details' }, + { id: 2, title: 'Competition' }, +]; + + +const RenderHeader = ({ columns }) => { + const colWidth = Screen.screenWidth * 0.95 / columns?.length; + + return ( + null + // + // {columns.map((col, index) => ( + // + // {col.toUpperCase()} + // + // ))} + // + ); +}; + + +const RenderItem = ({ item, columns }) => { + const colWidth = Screen.screenWidth * 0.95 / columns?.length; + + return ( + + + {columns.map((key, index) => ( + + {String(item[key] ?? '')} + + ))} + + + + ); +}; + + +const SectionListView = ({ listData }) => { + const scrollRef = useRef(null); // shared horizontal scroll ref + console.log("/-", listData) + return ( + item.section + index} + contentContainerStyle={{ paddingBottom: 20 }} + ItemSeparatorComponent={() => } + renderItem={({ item }) => { + const columns = Object.keys(item.items[0] || {}).filter( + key => item.items.some(obj => obj[key] !== undefined && obj[key] !== null) + ); + + return ( + + {item.section} + + + {/* Shared horizontal scroll view for header + rows */} + + + + {item.items.map((subItem, index) => ( + + ))} + + + + ); + }} + /> + ); +}; + + +const StoreInfo = ({ navigation, route }) => { + + const { storeData } = route.params || {}; + const [loading, setLoading] = useState(false) + const [selectedTab, setSelectedTab] = useState(0); + const [storeInfoData, setStoreInfoData] = useState([]) + + useEffect(() => { + getStoreInfo() + }, []) + + const getStoreInfo = async () => { + setLoading(true); + try { + const params = { StoreId: storeData?.StoreId || "723" }; + const config = { + method: 'post', + url: 'https://api1.parinaam.in/api/dabur/StoreDNAstoreInfo', + headers: { + 'api_key': '9a1f056fecb84eaf8eb4152dda22ab0501955c4f9bbe7daa8780740459fdde7a', + 'Content-Type': 'application/json' + }, + data: params + }; + + const response = await axios.request(config); + const res = response.data?.StoreDNAstoreInfo || {}; + + // Step 1: Flatten API data + const tempData = []; + + Object.entries(res).forEach(([sectionTitle, dataArray]) => { + if (dataArray?.length > 0) { + const tabId = dataArray[0]?.TabId ?? 0; + + dataArray.forEach(item => { + const cleanItem = { ...item }; + delete cleanItem.TabId; + delete cleanItem.TabName; + console.log("tempData---", item) + const formattedItems = Object.entries(cleanItem).map(([key, value]) => ({ + brand: key, + name: String(value) + })); + + + tempData.push({ + tabId, + section: sectionTitle.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase()), + items: formattedItems + }); + }); + } + }); + + // Step 2: Group items by tabId and section + const groupedData = {}; + + tempData.forEach(entry => { + const key = `${entry.tabId}-${entry.section}`; + if (!groupedData[key]) { + groupedData[key] = { + tabId: entry.tabId, + section: entry.section, + items: [] + }; + } + groupedData[key].items.push(...entry.items); + }); + + // let objTemp={} + // groupedData['0-Dabur Employee']?.items + + + // Step 3: Set to state + setStoreInfoData(Object.values(groupedData)); + setLoading(false); + } catch (error) { + console.log("❌ store info api error:", error); + setLoading(false); + } + }; + + const filteredData = Array.isArray(storeInfoData) + ? storeInfoData.filter(item => item.tabId === selectedTab) + : []; + const selectedTabTitle = tabs?.find(tab => tab.id === selectedTab)?.title ?? 'NA'; + + const dynamicTabs = Array.isArray(storeInfoData) + ? Array.from(new Set(storeInfoData.map(item => item.tabId))).map(id => ({ + id, + title: tabs.find(tab => tab.id === id)?.title || `Tab ${id}` + })) + : []; + + const renderTabContent = () => { + switch (selectedTab) { + case 0: + return + case 1: + return + case 2: + return ; + default: + return null; + } + }; + + return ( + + + + navigation.goBack()} /> + + + + + {/* {tabs?.map((tab) => ( */} + {dynamicTabs?.map((tab) => ( + setSelectedTab(tab.id)}> + + + {tab.title} + + + + ))} + + + + + {selectedTabTitle} + {renderTabContent()} + + + + + + ); +}; +export default StoreInfo; \ No newline at end of file diff --git a/src/screens/MainScreen/StoreInfo/style.js b/src/screens/MainScreen/StoreInfo/style.js new file mode 100644 index 0000000..33311bb --- /dev/null +++ b/src/screens/MainScreen/StoreInfo/style.js @@ -0,0 +1,115 @@ +import { StyleSheet } from 'react-native'; + +import { GlobalTheme, Screen, shadow } from '../../../theme'; + +export const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: GlobalTheme.colors.white, + paddingHorizontal: 10 + }, + // tabs + tabview: { + alignItems: 'center', + justifyContent: 'space-between', + marginVertical: 10, + flexDirection: 'row', + }, + tabstyle: { + flexDirection: 'row', + justifyContent: 'space-between', + borderColor: GlobalTheme.colors.lightblue, + borderWidth: 1.5, + borderRadius: GlobalTheme.borderRadius.xxlg, + marginTop: 10, + paddingHorizontal: 10, + }, + tabtext: { + overflow: 'hidden', + color:'#000' + }, + selecttabView: { + backgroundColor: GlobalTheme.colors.primary, + paddingVertical: 8, + paddingHorizontal: 15, + borderRadius: GlobalTheme.borderRadius.lgg + }, + selecttabText: { + color: GlobalTheme.colors.white, + fontSize: GlobalTheme.typography.fontSize.small, + fontWeight: GlobalTheme.typography.fontWeight.regular, + textAlign: 'center' + }, + unselecttabView: { + paddingVertical: 8, + paddingHorizontal: 15, + borderRadius: GlobalTheme.borderRadius.md + }, + unselecttabText: { + color: GlobalTheme.colors.lightbluetext, + fontSize: GlobalTheme.typography.fontSize.xsmall, + fontWeight: GlobalTheme.typography.fontWeight.regular, + textAlign: 'center' + }, + // comp + section: { + backgroundColor: GlobalTheme.colors.white, + padding: 12, + marginHorizontal: 5, + borderRadius: 8, + elevation: 2, + width: Screen.screenWidth * 0.92, + marginVertical: 5, + borderWidth: 1, + borderColor: GlobalTheme.colors.lightblueborder, + // ...shadow, + + }, + sectionTitle: { + color:'#000', + fontWeight: GlobalTheme.typography.fontWeight.bold, + fontSize: GlobalTheme.typography.fontSize.small, + }, + row: { + flexDirection: 'row', + justifyContent: 'space-between', + paddingVertical: 4 + }, + brand: { + fontSize: GlobalTheme.typography.fontSize.xsmall, + color: GlobalTheme.colors.black, + fontWeight: GlobalTheme.typography.fontWeight.medium, + }, + value: { + fontSize: GlobalTheme.typography.fontSize.xsmall, + fontWeight: GlobalTheme.typography.fontWeight.medium, + }, + name: { + fontSize: GlobalTheme.typography.fontSize.xsmall, + fontWeight: GlobalTheme.typography.fontWeight.regular, + flexWrap:'wrap', + color:'#000' + + }, + date: { + fontSize: GlobalTheme.typography.fontSize.xsmall, + fontWeight: GlobalTheme.typography.fontWeight.regular, + flexWrap:'wrap' + }, + subheaderText:{ + fontSize: GlobalTheme.typography.fontSize.xsmall, + fontWeight: GlobalTheme.typography.fontWeight.regular, + flexWrap:'wrap', + color : GlobalTheme.colors.gray, + textTransform: 'capitalize', + }, + headerText:{ + fontSize: GlobalTheme.typography.fontSize.medium, + fontWeight: GlobalTheme.typography.fontWeight.medium, + flexWrap:'wrap', + color : GlobalTheme.colors.black, + paddingVertical:10, + paddingHorizontal:10 + } + +}); diff --git a/src/screens/MainScreen/WelcomePage/index.js b/src/screens/MainScreen/WelcomePage/index.js new file mode 100644 index 0000000..22ba2e7 --- /dev/null +++ b/src/screens/MainScreen/WelcomePage/index.js @@ -0,0 +1,28 @@ +import React from 'react'; +import { View, Text, ImageBackground, Image, TouchableOpacity } from 'react-native'; +import IMAGES from '../../../constants/Images'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { styles } from './style'; + +const Welcome = ({ navigation }) => { + + const goToDashboard=()=>{ + navigation.reset({ index: 0, routes: [{ name: 'Dashboard' }] }) + } + + return ( + + + + + Welcome to {"\n"} Performics Store DNA + Get quick access to store feedback and performance reports. + goToDashboard()} > + Continue + + + + + ); +}; +export default Welcome; diff --git a/src/screens/MainScreen/WelcomePage/style.js b/src/screens/MainScreen/WelcomePage/style.js new file mode 100644 index 0000000..410b887 --- /dev/null +++ b/src/screens/MainScreen/WelcomePage/style.js @@ -0,0 +1,61 @@ +import { Dimensions, StyleSheet } from 'react-native'; + +import { GlobalTheme, Screen, shadow } from '../../../theme'; + + +const { width, height } = Dimensions.get('window'); + +export const styles = StyleSheet.create({ + containermain: { + flex: 1, + // backgroundColor: 'red', + }, + container: { + flex: 1, + + }, + background: { + flex: 1, + }, + content: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + paddingHorizontal: 20, + + }, + illustration: { + width: 200, + height: 200, + marginBottom: 30, + resizeMode:"contain" + }, + title: { + fontSize: GlobalTheme.typography.fontSize.large, + fontWeight: 'bold', + color: GlobalTheme.colors.primary, + marginBottom: 10, + textAlign: 'center', + }, + subtitle: { + fontSize: 14, + color: GlobalTheme.colors.primary, + textAlign: 'center', + marginBottom: 30, + paddingHorizontal: 10, + }, + button: { + backgroundColor: GlobalTheme.colors.white, + paddingVertical: 12, + paddingHorizontal: 30, + borderRadius: 30, + borderColor:'#91A2CB', + borderWidth:1 + }, + buttonText: { + color: GlobalTheme.colors.primary, + fontSize: GlobalTheme.typography.fontSize.xsmall, + // fontWeight: '600', + }, + +}) \ No newline at end of file diff --git a/src/theme/index.js b/src/theme/index.js new file mode 100644 index 0000000..78bb96a --- /dev/null +++ b/src/theme/index.js @@ -0,0 +1,4 @@ +import GlobalTheme from './theme'; +import { shadow , Screen , horizonalLine } from './theme'; + +export {GlobalTheme, Screen , shadow, horizonalLine}; diff --git a/src/theme/theme.js b/src/theme/theme.js new file mode 100644 index 0000000..720b9ad --- /dev/null +++ b/src/theme/theme.js @@ -0,0 +1,87 @@ +import { Dimensions, Platform } from 'react-native'; + +const { width: screenWidth, height: screenHeight } = Dimensions.get('window'); + +export const Screen = { + screenWidth, + screenHeight, + isAndroid: Platform.OS === 'android', + isIOS: Platform.OS === 'ios', +}; + +const GlobalTheme = { + colors: { + // Primary Colors + primary: '#113F8C', // Main color for buttons, headers + secondary: '#2357C6', + lightbluetext:'#7F83AB', + text: '#333333', // Text color for most content + lightblue:'#E2E7F2', + lightblueborder:'#ECECEC', + bluebgcolor :'#EAF0F4', + + // Additional Colors + success: '#4caf50', // Success or positive action color + yellow: '#FFD661', // Warning or alert color + error: '#ff5252', // Error or negative action color + info: '#2196f3', // Information color + + // Grayscale + white: '#ffffff', + lightGray: '#F1F1F1', + gray: '#676767', + darkGray: '#555555', + black: '#000000', + }, + typography: { + // Define typography styles here (e.g., font family, sizes, line heights, etc.) + fontFamily: 'Regular', + fontSize: { + xxsmall: 12, + xsmall :14, + small: 16, + medium: 18, + large: 20, + }, + fontWeight: { + regular: '400', + medium: '500', + bold: '700', + }, + }, + spacing: { + // Define spacing units (e.g., margin and padding) for consistent layout + xs: 4, + sm: 8, + md: 16, + lg: 24, + xl: 32, + }, + borderRadius: { + // Define border radius values for consistent UI elements + sm: 5, + md: 10, + lg: 15, + lgg: 20, + xlg: 25, + xxlg: 35, + + }, + // Add other global theme properties as needed +}; + +export default GlobalTheme; + +export const shadow = { + shadowColor: '#00000029', + shadowOffset: {width: 5, height: 5}, + shadowOpacity: 0.8, + shadowRadius: 10, + elevation: 20, +}; + +export const horizonalLine = { + backgroundColor :'#E2E7F2', + height:1.5, + width: '100%', +}; diff --git a/src/utilis/MyStatusBar.js b/src/utilis/MyStatusBar.js new file mode 100644 index 0000000..df9d6ee --- /dev/null +++ b/src/utilis/MyStatusBar.js @@ -0,0 +1,21 @@ +import { StatusBar} from 'react-native'; +import React from 'react'; +import {GlobalTheme} from '../theme'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +const MyStatusBar = () => { + return ( + + + + ); +}; + +export default MyStatusBar; diff --git a/src/utilis/ToastMessage.js b/src/utilis/ToastMessage.js new file mode 100644 index 0000000..e69de29 diff --git a/src/utilis/responsive.js b/src/utilis/responsive.js new file mode 100644 index 0000000..4cfe0f0 --- /dev/null +++ b/src/utilis/responsive.js @@ -0,0 +1,11 @@ +// responsive.js +import { Dimensions, PixelRatio } from 'react-native'; + +const { width: SCREEN_WIDTH, height: SCREEN_HEIGHT } = Dimensions.get('window'); + +const scale = SCREEN_WIDTH / 375; // base iPhone 11 width + +export const normalize = (size) => { + const newSize = size * scale; + return Math.round(PixelRatio.roundToNearestPixel(newSize)); +}; diff --git a/store_dna.jks b/store_dna.jks new file mode 100644 index 0000000..1e85402 Binary files /dev/null and b/store_dna.jks differ diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..88fa317 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "@react-native/typescript-config" +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..341e6ed --- /dev/null +++ b/yarn.lock @@ -0,0 +1,7588 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7", "@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== + dependencies: + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790" + integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9", "@babel/core@^7.25.2": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.0.tgz#55dad808d5bf3445a108eefc88ea3fdf034749a4" + integrity sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.0" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-module-transforms" "^7.27.3" + "@babel/helpers" "^7.27.6" + "@babel/parser" "^7.28.0" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.28.0" + "@babel/types" "^7.28.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/eslint-parser@^7.25.1": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.28.0.tgz#c1b3fbba070f5bac32e3d02f244201add4afdd6e" + integrity sha512-N4ntErOlKvcbTt01rr5wj3y55xnIdx1ymrfIr8C2WnM1Y9glFgWaGDEULJIazOX3XM9NRzhfJ6zZnQ1sBNWU+w== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" + +"@babel/generator@^7.25.0", "@babel/generator@^7.28.0", "@babel/generator@^7.7.2": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.0.tgz#9cc2f7bd6eb054d77dc66c2664148a0c5118acd2" + integrity sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg== + dependencies: + "@babel/parser" "^7.28.0" + "@babel/types" "^7.28.0" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + +"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5" + integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg== + dependencies: + "@babel/types" "^7.27.3" + +"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== + dependencies: + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281" + integrity sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/traverse" "^7.27.1" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53" + integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + regexpu-core "^6.2.0" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753" + integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg== + dependencies: + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + debug "^4.4.1" + lodash.debounce "^4.0.8" + resolve "^1.22.10" + +"@babel/helper-globals@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" + integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== + +"@babel/helper-member-expression-to-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44" + integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02" + integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.3" + +"@babel/helper-optimise-call-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" + integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== + dependencies: + "@babel/types" "^7.27.1" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== + +"@babel/helper-remap-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" + integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-wrap-function" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/helper-replace-supers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0" + integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/helper-skip-transparent-expression-wrappers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" + integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== + +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== + +"@babel/helper-wrap-function@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409" + integrity sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ== + dependencies: + "@babel/template" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helpers@^7.27.6": + version "7.27.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.6.tgz#6456fed15b2cb669d2d1fabe84b66b34991d812c" + integrity sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug== + dependencies: + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.6" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.3", "@babel/parser@^7.27.2", "@babel/parser@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.0.tgz#979829fbab51a29e13901e5a80713dbcb840825e" + integrity sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g== + dependencies: + "@babel/types" "^7.28.0" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9" + integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d" + integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" + integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" + integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz#bb1c25af34d75115ce229a1de7fa44bf8f955670" + integrity sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/plugin-proposal-export-default-from@^7.24.7": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.27.1.tgz#59b050b0e5fdc366162ab01af4fcbac06ea40919" + integrity sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-default-from@^7.24.7": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.27.1.tgz#8efed172e79ab657c7fa4d599224798212fb7e18" + integrity sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz#6c83cf0d7d635b716827284b7ecd5aead9237662" + integrity sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-syntax-import-assertions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd" + integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" + integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.27.1", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" + integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.27.1", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" + integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.24.7", "@babel/plugin-transform-arrow-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" + integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-async-generator-functions@^7.25.4", "@babel/plugin-transform-async-generator-functions@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz#1276e6c7285ab2cd1eccb0bc7356b7a69ff842c2" + integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" + "@babel/traverse" "^7.28.0" + +"@babel/plugin-transform-async-to-generator@^7.24.7", "@babel/plugin-transform-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7" + integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" + +"@babel/plugin-transform-block-scoped-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" + integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-block-scoping@^7.25.0", "@babel/plugin-transform-block-scoping@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz#e7c50cbacc18034f210b93defa89638666099451" + integrity sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-class-properties@^7.0.0-0", "@babel/plugin-transform-class-properties@^7.25.4", "@babel/plugin-transform-class-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" + integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-class-static-block@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz#7e920d5625b25bbccd3061aefbcc05805ed56ce4" + integrity sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-classes@^7.0.0-0", "@babel/plugin-transform-classes@^7.25.4", "@babel/plugin-transform-classes@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz#12fa46cffc32a6e084011b650539e880add8a0f8" + integrity sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-globals" "^7.28.0" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/traverse" "^7.28.0" + +"@babel/plugin-transform-computed-properties@^7.24.7", "@babel/plugin-transform-computed-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa" + integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/template" "^7.27.1" + +"@babel/plugin-transform-destructuring@^7.24.8", "@babel/plugin-transform-destructuring@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz#0f156588f69c596089b7d5b06f5af83d9aa7f97a" + integrity sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.28.0" + +"@babel/plugin-transform-dotall-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d" + integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-duplicate-keys@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" + integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec" + integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-dynamic-import@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" + integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-explicit-resource-management@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz#45be6211b778dbf4b9d54c4e8a2b42fa72e09a1a" + integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.28.0" + +"@babel/plugin-transform-exponentiation-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1" + integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-export-namespace-from@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" + integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-flow-strip-types@^7.25.2": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz#5def3e1e7730f008d683144fb79b724f92c5cdf9" + integrity sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-syntax-flow" "^7.27.1" + +"@babel/plugin-transform-for-of@^7.24.7", "@babel/plugin-transform-for-of@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" + integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + +"@babel/plugin-transform-function-name@^7.25.1", "@babel/plugin-transform-function-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" + integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== + dependencies: + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/plugin-transform-json-strings@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c" + integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-literals@^7.25.2", "@babel/plugin-transform-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" + integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-logical-assignment-operators@^7.24.7", "@babel/plugin-transform-logical-assignment-operators@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa" + integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-member-expression-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" + integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-modules-amd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" + integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== + dependencies: + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-modules-commonjs@^7.24.8", "@babel/plugin-transform-modules-commonjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" + integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== + dependencies: + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-modules-systemjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed" + integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA== + dependencies: + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/plugin-transform-modules-umd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" + integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== + dependencies: + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7", "@babel/plugin-transform-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1" + integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-new-target@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" + integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d" + integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-numeric-separator@^7.24.7", "@babel/plugin-transform-numeric-separator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6" + integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-object-rest-spread@^7.24.7", "@babel/plugin-transform-object-rest-spread@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz#d23021857ffd7cd809f54d624299b8086402ed8d" + integrity sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA== + dependencies: + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.28.0" + "@babel/plugin-transform-parameters" "^7.27.7" + "@babel/traverse" "^7.28.0" + +"@babel/plugin-transform-object-super@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" + integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + +"@babel/plugin-transform-optional-catch-binding@^7.24.7", "@babel/plugin-transform-optional-catch-binding@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c" + integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-optional-chaining@^7.0.0-0", "@babel/plugin-transform-optional-chaining@^7.24.8", "@babel/plugin-transform-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f" + integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + +"@babel/plugin-transform-parameters@^7.24.7", "@babel/plugin-transform-parameters@^7.27.7": + version "7.27.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a" + integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-private-methods@^7.24.7", "@babel/plugin-transform-private-methods@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af" + integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-private-property-in-object@^7.24.7", "@babel/plugin-transform-private-property-in-object@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11" + integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-property-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" + integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-react-display-name@^7.24.7": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz#6f20a7295fea7df42eb42fed8f896813f5b934de" + integrity sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-react-jsx-self@^7.24.7": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz#af678d8506acf52c577cac73ff7fe6615c85fc92" + integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-react-jsx-source@^7.24.7": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz#dcfe2c24094bb757bf73960374e7c55e434f19f0" + integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-react-jsx@^7.25.2": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz#1023bc94b78b0a2d68c82b5e96aed573bcfb9db0" + integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-syntax-jsx" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/plugin-transform-regenerator@^7.24.7", "@babel/plugin-transform-regenerator@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.0.tgz#f19ca3558f7121924fc4ba6cd2afe3a5cdac89b1" + integrity sha512-LOAozRVbqxEVjSKfhGnuLoE4Kz4Oc5UJzuvFUhSsQzdCdaAQu06mG8zDv2GFSerM62nImUZ7K92vxnQcLSDlCQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-regexp-modifiers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09" + integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-reserved-words@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" + integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-runtime@^7.24.7": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.0.tgz#462e79008cc7bdac03e4c5e1765b9de2bcd31c21" + integrity sha512-dGopk9nZrtCs2+nfIem25UuHyt5moSJamArzIoh9/vezUQPmYDOzjaHDCkAzuGJibCIkPup8rMT2+wYB6S73cA== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + babel-plugin-polyfill-corejs2 "^0.4.14" + babel-plugin-polyfill-corejs3 "^0.13.0" + babel-plugin-polyfill-regenerator "^0.6.5" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.24.7", "@babel/plugin-transform-shorthand-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" + integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-spread@^7.24.7", "@babel/plugin-transform-spread@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08" + integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + +"@babel/plugin-transform-sticky-regex@^7.24.7", "@babel/plugin-transform-sticky-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" + integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" + integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-typeof-symbol@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" + integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-typescript@^7.25.2", "@babel/plugin-transform-typescript@^7.27.1": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz#796cbd249ab56c18168b49e3e1d341b72af04a6b" + integrity sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-syntax-typescript" "^7.27.1" + +"@babel/plugin-transform-unicode-escapes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" + integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-property-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956" + integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-regex@^7.0.0-0", "@babel/plugin-transform-unicode-regex@^7.24.7", "@babel/plugin-transform-unicode-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" + integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-sets-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1" + integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/preset-env@^7.25.3": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.28.0.tgz#d23a6bc17b43227d11db77081a0779c706b5569c" + integrity sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg== + dependencies: + "@babel/compat-data" "^7.28.0" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.27.1" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions" "^7.27.1" + "@babel/plugin-syntax-import-attributes" "^7.27.1" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.27.1" + "@babel/plugin-transform-async-generator-functions" "^7.28.0" + "@babel/plugin-transform-async-to-generator" "^7.27.1" + "@babel/plugin-transform-block-scoped-functions" "^7.27.1" + "@babel/plugin-transform-block-scoping" "^7.28.0" + "@babel/plugin-transform-class-properties" "^7.27.1" + "@babel/plugin-transform-class-static-block" "^7.27.1" + "@babel/plugin-transform-classes" "^7.28.0" + "@babel/plugin-transform-computed-properties" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.28.0" + "@babel/plugin-transform-dotall-regex" "^7.27.1" + "@babel/plugin-transform-duplicate-keys" "^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-dynamic-import" "^7.27.1" + "@babel/plugin-transform-explicit-resource-management" "^7.28.0" + "@babel/plugin-transform-exponentiation-operator" "^7.27.1" + "@babel/plugin-transform-export-namespace-from" "^7.27.1" + "@babel/plugin-transform-for-of" "^7.27.1" + "@babel/plugin-transform-function-name" "^7.27.1" + "@babel/plugin-transform-json-strings" "^7.27.1" + "@babel/plugin-transform-literals" "^7.27.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.27.1" + "@babel/plugin-transform-member-expression-literals" "^7.27.1" + "@babel/plugin-transform-modules-amd" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-modules-systemjs" "^7.27.1" + "@babel/plugin-transform-modules-umd" "^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-new-target" "^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1" + "@babel/plugin-transform-numeric-separator" "^7.27.1" + "@babel/plugin-transform-object-rest-spread" "^7.28.0" + "@babel/plugin-transform-object-super" "^7.27.1" + "@babel/plugin-transform-optional-catch-binding" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + "@babel/plugin-transform-parameters" "^7.27.7" + "@babel/plugin-transform-private-methods" "^7.27.1" + "@babel/plugin-transform-private-property-in-object" "^7.27.1" + "@babel/plugin-transform-property-literals" "^7.27.1" + "@babel/plugin-transform-regenerator" "^7.28.0" + "@babel/plugin-transform-regexp-modifiers" "^7.27.1" + "@babel/plugin-transform-reserved-words" "^7.27.1" + "@babel/plugin-transform-shorthand-properties" "^7.27.1" + "@babel/plugin-transform-spread" "^7.27.1" + "@babel/plugin-transform-sticky-regex" "^7.27.1" + "@babel/plugin-transform-template-literals" "^7.27.1" + "@babel/plugin-transform-typeof-symbol" "^7.27.1" + "@babel/plugin-transform-unicode-escapes" "^7.27.1" + "@babel/plugin-transform-unicode-property-regex" "^7.27.1" + "@babel/plugin-transform-unicode-regex" "^7.27.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.27.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.14" + babel-plugin-polyfill-corejs3 "^0.13.0" + babel-plugin-polyfill-regenerator "^0.6.5" + core-js-compat "^3.43.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-typescript@^7.16.7": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz#190742a6428d282306648a55b0529b561484f912" + integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-syntax-jsx" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-typescript" "^7.27.1" + +"@babel/runtime@^7.25.0", "@babel/runtime@^7.8.7": + version "7.27.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6" + integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q== + +"@babel/template@^7.25.0", "@babel/template@^7.27.1", "@babel/template@^7.27.2", "@babel/template@^7.3.3": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.0.tgz#518aa113359b062042379e333db18380b537e34b" + integrity sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.0" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.28.0" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.0" + debug "^4.3.1" + +"@babel/traverse@^7.25.3", "@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.0.tgz#518aa113359b062042379e333db18380b537e34b" + integrity sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.0" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.28.0" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.0" + debug "^4.3.1" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.2", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6", "@babel/types@^7.28.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.0.tgz#2fd0159a6dc7353933920c43136335a9b264d950" + integrity sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + +"@bam.tech/react-native-image-resizer@^3.0.11": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@bam.tech/react-native-image-resizer/-/react-native-image-resizer-3.0.11.tgz#b9dc0f155b1293fe6d04944e45b6e3252ca2dea3" + integrity sha512-J/vAe51uPhJafT0uAIQI3gziqVs4Tnw32bHau/+I7AukSs4YxLXIaOVF6EChZ9ZFu+fLxvVrRTbHKDf+1YoXag== + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@egjs/hammerjs@^2.0.17": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@egjs/hammerjs/-/hammerjs-2.0.17.tgz#5dc02af75a6a06e4c2db0202cae38c9263895124" + integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A== + dependencies: + "@types/hammerjs" "^2.0.36" + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a" + integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== + dependencies: + eslint-visitor-keys "^3.4.3" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== + +"@formatjs/ecma402-abstract@2.3.4": + version "2.3.4" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.4.tgz#e90c5a846ba2b33d92bc400fdd709da588280fbc" + integrity sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA== + dependencies: + "@formatjs/fast-memoize" "2.2.7" + "@formatjs/intl-localematcher" "0.6.1" + decimal.js "^10.4.3" + tslib "^2.8.0" + +"@formatjs/fast-memoize@2.2.7": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz#707f9ddaeb522a32f6715bb7950b0831f4cc7b15" + integrity sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ== + dependencies: + tslib "^2.8.0" + +"@formatjs/icu-messageformat-parser@2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.2.tgz#85aea211bea40aa81ee1d44ac7accc3cf5500a73" + integrity sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA== + dependencies: + "@formatjs/ecma402-abstract" "2.3.4" + "@formatjs/icu-skeleton-parser" "1.8.14" + tslib "^2.8.0" + +"@formatjs/icu-skeleton-parser@1.8.14": + version "1.8.14" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.14.tgz#b9581d00363908efb29817fdffc32b79f41dabe5" + integrity sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ== + dependencies: + "@formatjs/ecma402-abstract" "2.3.4" + tslib "^2.8.0" + +"@formatjs/intl-localematcher@0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.6.1.tgz#25dc30675320bf65a9d7f73876fc1e4064c0e299" + integrity sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg== + dependencies: + tslib "^2.8.0" + +"@gluestack-ui/hooks@0.1.13": + version "0.1.13" + resolved "https://registry.yarnpkg.com/@gluestack-ui/hooks/-/hooks-0.1.13.tgz#4f1494850bb6e95a1eaeef10c724c83adfe6954f" + integrity sha512-2x5EGcAuvdWFoOaqBRJsilR9Nx07tDvuAr3MI5SOmDdn7Bjzi+3CVAZwwDE2nGwAL3ldJvbAlzVkiNCw4TsSeA== + +"@gluestack-ui/nativewind-utils@^1.0.26": + version "1.0.26" + resolved "https://registry.yarnpkg.com/@gluestack-ui/nativewind-utils/-/nativewind-utils-1.0.26.tgz#1abb57a6a818da843345808216acc9d4cbc01e92" + integrity sha512-Ul/nHkYOKMH5CTmDUndM826GKYqWI6jFaz7/v7AgOo9dFuokOYm6Sd3pcJHqzPghwODRXV9L4nQgxa7dJX96pg== + dependencies: + find-yarn-workspace-root "^2.0.0" + patch-package "8.0.0" + tailwind-variants "0.1.20" + +"@gluestack-ui/overlay@^0.1.16", "@gluestack-ui/overlay@^0.1.20", "@gluestack-ui/overlay@^0.1.22": + version "0.1.22" + resolved "https://registry.yarnpkg.com/@gluestack-ui/overlay/-/overlay-0.1.22.tgz#b0c03eb88f37e1564b6522f3d021052dcce86f4a" + integrity sha512-ttlSjO/ysN9NuTq5JPoVwOAU8aKMaj738xTCxOVgBRr1+kbBUVpmBnygVlC6PvHvJF1A00a0ZTzw48CIVL5aNw== + dependencies: + "@react-native-aria/focus" "^0.2.9" + "@react-native-aria/interactions" "0.2.16" + "@react-native-aria/overlays" "^0.3.15" + +"@gluestack-ui/react-native-aria@^0.1.6": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@gluestack-ui/react-native-aria/-/react-native-aria-0.1.7.tgz#f982cbb071fa844afcf3816873dce300dc754843" + integrity sha512-mdK/M6RQafAYiHyJnDNjaE9+ttr9eg48f2InmO3rvcrjsdaLcu/vwHlwrO9N3xYcb3wb9z2+YZ4OIgtymFNTOw== + dependencies: + "@react-native-aria/focus" "^0.2.9" + +"@gluestack-ui/toast@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@gluestack-ui/toast/-/toast-1.0.9.tgz#6ee18051e7af0459fbb3ede4cc4bf1a9ec1719a0" + integrity sha512-aMlPczeoH/PZTMnhV29fqqW1Xc/9QmYEsR0bU9BfLyAGM9UMjW3vGe4yZSgxX7xjQ9C7+KO5WnTH0FmPoAbVtg== + dependencies: + "@gluestack-ui/hooks" "0.1.13" + "@gluestack-ui/overlay" "^0.1.20" + "@gluestack-ui/transitions" "^0.1.11" + "@gluestack-ui/utils" "^0.1.14" + "@react-native-aria/focus" "^0.2.9" + +"@gluestack-ui/transitions@^0.1.11": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@gluestack-ui/transitions/-/transitions-0.1.11.tgz#e84a9841fabb8e67ce17cea979a1cd77b5edac56" + integrity sha512-GuCprzasuU8GKXm1GUmaVJ1Njiq72pQ4Ni0g+rg6kRQ7hyR0K4d0wdHRyFldHKmfLcQkM3i70rvYq/468hLKLw== + dependencies: + "@gluestack-ui/overlay" "^0.1.16" + "@gluestack-ui/react-native-aria" "^0.1.6" + "@gluestack-ui/utils" "^0.1.14" + "@react-native-aria/focus" "^0.2.9" + +"@gluestack-ui/utils@^0.1.14": + version "0.1.15" + resolved "https://registry.yarnpkg.com/@gluestack-ui/utils/-/utils-0.1.15.tgz#55f318d81d230daca40b498039eb4680600faa90" + integrity sha512-LRBMv+tr+bV4falMYS2zSt94PxL0vpvUN6F9d6oTqOYKhkiAkU6k2ROfNlT323m0CoTQto1LkJhPxULisQ2oeQ== + dependencies: + "@react-native-aria/focus" "^0.2.9" + +"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== + dependencies: + "@humanwhocodes/object-schema" "^2.0.3" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + +"@internationalized/date@^3.8.2": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.8.2.tgz#977620c1407cc6830fd44cb505679d23c599e119" + integrity sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/message@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.8.tgz#7181e8178f0868535f4507a573bf285e925832cb" + integrity sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA== + dependencies: + "@swc/helpers" "^0.5.0" + intl-messageformat "^10.1.0" + +"@internationalized/number@^3.6.3": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.6.3.tgz#4bba32e90cd8095ae7d252586c661d9c651918b4" + integrity sha512-p+Zh1sb6EfrfVaS86jlHGQ9HA66fJhV9x5LiE5vCbZtXEHAuhcmUZUdZ4WrFpUBfNalr2OkAJI5AcKEQF+Lebw== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/string@^3.2.7": + version "3.2.7" + resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.7.tgz#76ae10f1e6e1fdaec7d0028a3f807d37a71bd2dd" + integrity sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A== + dependencies: + "@swc/helpers" "^0.5.0" + +"@isaacs/ttlcache@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz#21fb23db34e9b6220c6ba023a0118a2dd3461ea2" + integrity sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/create-cache-key-function@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== + dependencies: + "@jest/types" "^29.6.3" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.12" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz#2234ce26c62889f03db3d7fea43c1932ab3e927b" + integrity sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.10" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.10.tgz#a35714446a2e84503ff9bfe66f1d1d4846f2075b" + integrity sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" + integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": + version "0.3.29" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz#a58d31eaadaf92c6695680b2e1d464a9b8fbf7fc" + integrity sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@likashefqet/react-native-image-zoom@^4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@likashefqet/react-native-image-zoom/-/react-native-image-zoom-4.3.0.tgz#e9ef102ce3a64798ed73c7cb232466777b43aacc" + integrity sha512-bRH26+Kq9m7y0rsBIwa0KI6XH/kujf7hZG0wz4gPu1kGsSb6KbLdZaR1ksGvaZm08JkNd2+JIUaHSb68eh4YEg== + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@react-aria/focus@^3.2.3", "@react-aria/focus@^3.20.5": + version "3.20.5" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.20.5.tgz#75c7b1b87381308feb95fe6702320de8992c23f6" + integrity sha512-JpFtXmWQ0Oca7FcvkqgjSyo6xEP7v3oQOLUId6o0xTvm4AD5W0mU2r3lYrbhsJ+XxdUUX4AVR5473sZZ85kU4A== + dependencies: + "@react-aria/interactions" "^3.25.3" + "@react-aria/utils" "^3.29.1" + "@react-types/shared" "^3.30.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/i18n@^3.12.10": + version "3.12.10" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.12.10.tgz#6799c3db132461c1a3e13a269dfbb09321496e6f" + integrity sha512-1j00soQ2W0nTgzaaIsGFdMF/5aN60AEdCJPhmXGZiuWdWzMxObN9LQ9vdzYPTjTqyqMdSaSp9DZKs5I26Xovpw== + dependencies: + "@internationalized/date" "^3.8.2" + "@internationalized/message" "^3.1.8" + "@internationalized/number" "^3.6.3" + "@internationalized/string" "^3.2.7" + "@react-aria/ssr" "^3.9.9" + "@react-aria/utils" "^3.29.1" + "@react-types/shared" "^3.30.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/interactions@^3.25.3", "@react-aria/interactions@^3.3.2": + version "3.25.3" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.25.3.tgz#3edf2cbc1b8112183cc9fe78368bcd4ce2b4ed15" + integrity sha512-J1bhlrNtjPS/fe5uJQ+0c7/jiXniwa4RQlP+Emjfc/iuqpW2RhbF9ou5vROcLzWIyaW8tVMZ468J68rAs/aZ5A== + dependencies: + "@react-aria/ssr" "^3.9.9" + "@react-aria/utils" "^3.29.1" + "@react-stately/flags" "^3.1.2" + "@react-types/shared" "^3.30.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/overlays@^3.7.0": + version "3.27.3" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.27.3.tgz#c7a80bdb82406a3da22671fdaa857aef26e84438" + integrity sha512-1hawsRI+QiM0TkPNwApNJ2+N49NQTP+48xq0JG8hdEUPChQLDoJ39cvT1sxdg0mnLDzLaAYkZrgfokq9sX6FLA== + dependencies: + "@react-aria/focus" "^3.20.5" + "@react-aria/i18n" "^3.12.10" + "@react-aria/interactions" "^3.25.3" + "@react-aria/ssr" "^3.9.9" + "@react-aria/utils" "^3.29.1" + "@react-aria/visually-hidden" "^3.8.25" + "@react-stately/overlays" "^3.6.17" + "@react-types/button" "^3.12.2" + "@react-types/overlays" "^3.8.16" + "@react-types/shared" "^3.30.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/ssr@^3.0.1", "@react-aria/ssr@^3.9.9": + version "3.9.9" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.9.tgz#a35c6840962e72357560d4dcb4a6300f94272354" + integrity sha512-2P5thfjfPy/np18e5wD4WPt8ydNXhij1jwA8oehxZTFqlgVMGXzcWKxTb4RtJrLFsqPO7RUQTiY8QJk0M4Vy2g== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/utils@^3.29.1", "@react-aria/utils@^3.3.0", "@react-aria/utils@^3.6.0": + version "3.29.1" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.29.1.tgz#e9d891a2361ab61aeef08a8ba366d6ba6803179c" + integrity sha512-yXMFVJ73rbQ/yYE/49n5Uidjw7kh192WNN9PNQGV0Xoc7EJUlSOxqhnpHmYTyO0EotJ8fdM1fMH8durHjUSI8g== + dependencies: + "@react-aria/ssr" "^3.9.9" + "@react-stately/flags" "^3.1.2" + "@react-stately/utils" "^3.10.7" + "@react-types/shared" "^3.30.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/visually-hidden@^3.8.25": + version "3.8.25" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.25.tgz#5172ee3a8fed052efdccdfc19b4542b2c22e73e8" + integrity sha512-9tRRFV1YMLuDId9E8PeUf0xy0KmQBoP8y/bm0PKWzXOqLOVmp/+kop9rwsjC7J6ppbBnlak7XCXTc7GoSFOCRA== + dependencies: + "@react-aria/interactions" "^3.25.3" + "@react-aria/utils" "^3.29.1" + "@react-types/shared" "^3.30.0" + "@swc/helpers" "^0.5.0" + +"@react-native-aria/focus@^0.2.9": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@react-native-aria/focus/-/focus-0.2.9.tgz#bdfa84f9711843df771877ac436ee3b4f8878b74" + integrity sha512-zVgOIzKwnsyyurUxlZnzUKB2ekK/cmK64sQJIKKUlkJKVxd2EAFf7Sjz/NVEoMhTODN3qGRASTv9bMk/pBzzVA== + dependencies: + "@react-aria/focus" "^3.2.3" + +"@react-native-aria/interactions@0.2.16": + version "0.2.16" + resolved "https://registry.yarnpkg.com/@react-native-aria/interactions/-/interactions-0.2.16.tgz#fcb5745a5f87f60089717f578dcf085655bee79a" + integrity sha512-tJ7mhG0P6cElLTcL4yfV3HSfqdD8tpAwHKjtamyeua8i6tsu7BOxGmfGmPQ5ueJl7/mHqf8xyTv1xGW288CKXQ== + dependencies: + "@react-aria/interactions" "^3.3.2" + "@react-aria/utils" "^3.6.0" + "@react-native-aria/utils" "0.2.12" + +"@react-native-aria/overlays@^0.3.15": + version "0.3.15" + resolved "https://registry.yarnpkg.com/@react-native-aria/overlays/-/overlays-0.3.15.tgz#42aab9b0475dea34c488857da257e2dc3e941893" + integrity sha512-ialIMsXmiQe6A2cWv4O62nJs8raAEkC27BYUu0Z6BEWbhYn+3MhrujxFzsozJ6bwDZgsfNOqtfwk1ScXJxXjkQ== + dependencies: + "@react-aria/interactions" "^3.3.2" + "@react-aria/overlays" "^3.7.0" + "@react-native-aria/utils" "0.2.12" + "@react-stately/overlays" "^3.1.1" + "@react-types/overlays" "^3.4.0" + dom-helpers "^5.0.0" + +"@react-native-aria/utils@0.2.12": + version "0.2.12" + resolved "https://registry.yarnpkg.com/@react-native-aria/utils/-/utils-0.2.12.tgz#3ee1c3bf97ff3b08d7e8f49cad2ffba3d5d7227d" + integrity sha512-752/tQ5fjDdc/3Gw8cKqml4NucfiFrO8wPmlg0bBgaCvfQDJaUMi4grme3/fBPCUoK2wk9/yJHfwkv45Gi5Eew== + dependencies: + "@react-aria/ssr" "^3.0.1" + "@react-aria/utils" "^3.3.0" + +"@react-native-async-storage/async-storage@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-2.2.0.tgz#a3aa565253e46286655560172f4e366e8969f5ad" + integrity sha512-gvRvjR5JAaUZF8tv2Kcq/Gbt3JHwbKFYfmb445rhOj6NUMx3qPLixmDx5pZAyb9at1bYvJ4/eTUipU5aki45xw== + dependencies: + merge-options "^3.0.4" + +"@react-native-community/cli-clean@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-19.0.0.tgz#1a1f3fcd77b1c6a72d27132a09590b9511d15c05" + integrity sha512-Br+bxxEKXpikzlBLeAv3Bh1DRGrveJmULEG6Q9XPHzPOtRZcRlcDcBidjVwu8XGJdYiplvFdK6cC2sxCM2Mbvw== + dependencies: + "@react-native-community/cli-tools" "19.0.0" + chalk "^4.1.2" + execa "^5.0.0" + fast-glob "^3.3.2" + +"@react-native-community/cli-config-android@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config-android/-/cli-config-android-19.0.0.tgz#b1e5194b01474518221aab3b2d236121f97c2713" + integrity sha512-TDd6qdjVjGKuLUEJdPtBJIUOZAJ+oLLiejdrVsfJplJWlFnJVmUAv2M7yT69U+5kh/fGaaHGtsyDekK0B4Gtbg== + dependencies: + "@react-native-community/cli-tools" "19.0.0" + chalk "^4.1.2" + fast-glob "^3.3.2" + fast-xml-parser "^4.4.1" + +"@react-native-community/cli-config-apple@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config-apple/-/cli-config-apple-19.0.0.tgz#f7339c5cd5529bcabdd17480a69dfd9bbbd3f7f2" + integrity sha512-apIOz46ZseD/eL4LjOTR3UH6UEXSj6bHK3SPA6JmcxY8q8brnAjUxzNC7FGeKBcUbeLbRyXplIuxuOrBpcX3QQ== + dependencies: + "@react-native-community/cli-tools" "19.0.0" + chalk "^4.1.2" + execa "^5.0.0" + fast-glob "^3.3.2" + +"@react-native-community/cli-config@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-19.0.0.tgz#d2a0fdd00ea61e96368366b6af7aeded35ce8477" + integrity sha512-HyZOVqnUIs5WlsARqEG/um9cz+XJNIalCkrUeb5MLpxejnWFVLc3hiYoFZhb6KHKj8edg9TotOM0VbzURSYAfA== + dependencies: + "@react-native-community/cli-tools" "19.0.0" + chalk "^4.1.2" + cosmiconfig "^9.0.0" + deepmerge "^4.3.0" + fast-glob "^3.3.2" + joi "^17.2.1" + +"@react-native-community/cli-doctor@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-19.0.0.tgz#eca938f5323dd33f5fe919529480ec819e71932e" + integrity sha512-z+fhaQjS0zvWnJ8+gZStSZS2hsF1Lge3g8OthBrzoBPlkmpxeID/H2dEZOY7W9D7ngY/CaCmpQxLzaJVOjlrvw== + dependencies: + "@react-native-community/cli-config" "19.0.0" + "@react-native-community/cli-platform-android" "19.0.0" + "@react-native-community/cli-platform-apple" "19.0.0" + "@react-native-community/cli-platform-ios" "19.0.0" + "@react-native-community/cli-tools" "19.0.0" + chalk "^4.1.2" + command-exists "^1.2.8" + deepmerge "^4.3.0" + envinfo "^7.13.0" + execa "^5.0.0" + node-stream-zip "^1.9.1" + ora "^5.4.1" + semver "^7.5.2" + wcwidth "^1.0.1" + yaml "^2.2.1" + +"@react-native-community/cli-platform-android@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-19.0.0.tgz#a540f5709dbf0eeff8f987ff283433e71743791b" + integrity sha512-oY5ztWIZxa7EWiQHNG5RXhx/8DA7t4EPiu0qizuz+tV6sAiDcnPQv4hRYF3+wyeIXk/NJjxnYQe9xeQ0Yt1X4A== + dependencies: + "@react-native-community/cli-config-android" "19.0.0" + "@react-native-community/cli-tools" "19.0.0" + chalk "^4.1.2" + execa "^5.0.0" + logkitty "^0.7.1" + +"@react-native-community/cli-platform-apple@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-19.0.0.tgz#6cc10764accafcc00f5cdce001738e8886504a61" + integrity sha512-nSuPAaGSDxhsIUzr3JSa9AaQ3f5si6S2+J7FJxTLGuJ2hXrbDXtwOUmtmln09U8cg8Yewa9zh6rjTLVSsFvbAA== + dependencies: + "@react-native-community/cli-config-apple" "19.0.0" + "@react-native-community/cli-tools" "19.0.0" + chalk "^4.1.2" + execa "^5.0.0" + fast-xml-parser "^4.4.1" + +"@react-native-community/cli-platform-ios@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-19.0.0.tgz#cda8518875ae61217a41a6950ec4b70c1766280a" + integrity sha512-oi8p8ccbnk9VYMAjqowB2zicUbCyl/DwD0mdTMivX/YQNIflAIFvzq6p76EP4J3E0/IPu9S0IpgVPCBdTyiSlg== + dependencies: + "@react-native-community/cli-platform-apple" "19.0.0" + +"@react-native-community/cli-server-api@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-19.0.0.tgz#e50e93b881c733e11fc9305144492d23d6452b22" + integrity sha512-udcSGC9hrWOGqB4S5L8cH8wgckbrZfc0iF6bH2b2/QalJ3vD016WDoZ6R6fyiyB/u8YsFJ3bnb6tk0tKInKWjg== + dependencies: + "@react-native-community/cli-tools" "19.0.0" + body-parser "^1.20.3" + compression "^1.7.1" + connect "^3.6.5" + errorhandler "^1.5.1" + nocache "^3.0.1" + open "^6.2.0" + pretty-format "^26.6.2" + serve-static "^1.13.1" + ws "^6.2.3" + +"@react-native-community/cli-tools@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-19.0.0.tgz#cf51c11c0e08cc0bf397c610ee7170f6cc278d2c" + integrity sha512-O6qGE+1xZOOJY43CcjL3E6xtVx5m6TDEVzysIJ0jHjjE1QqYijx6W8VuWebmA08MfX4JCE2jzUrwx2Ns2GguGg== + dependencies: + "@vscode/sudo-prompt" "^9.0.0" + appdirsjs "^1.2.4" + chalk "^4.1.2" + execa "^5.0.0" + find-up "^5.0.0" + launch-editor "^2.9.1" + mime "^2.4.1" + ora "^5.4.1" + prompts "^2.4.2" + semver "^7.5.2" + +"@react-native-community/cli-types@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-19.0.0.tgz#fe4266eac8ce8ea58bee1a253af9a4ff3543241a" + integrity sha512-fpnpy6iLX9Uohh83vWRsfi3wMfFT8C8TiKrMiln2e9rnoyZwZqm3gnz8pDUnldmFkaOjKxW0FAiRXxwhJGebsw== + dependencies: + joi "^17.2.1" + +"@react-native-community/cli@19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-19.0.0.tgz#a776e5188a4ea568f09d75b4cd8d9dfcfb492651" + integrity sha512-a7lAt0mACJ2jsCgDIFWpsCaqWxWoRTZwRMD5HOS3RYOYEUBzp4bfiQdjLUmrx5vF76KvcD0Q1YigrAVrEbSmbw== + dependencies: + "@react-native-community/cli-clean" "19.0.0" + "@react-native-community/cli-config" "19.0.0" + "@react-native-community/cli-doctor" "19.0.0" + "@react-native-community/cli-server-api" "19.0.0" + "@react-native-community/cli-tools" "19.0.0" + "@react-native-community/cli-types" "19.0.0" + chalk "^4.1.2" + commander "^9.4.1" + deepmerge "^4.3.0" + execa "^5.0.0" + find-up "^5.0.0" + fs-extra "^8.1.0" + graceful-fs "^4.1.3" + prompts "^2.4.2" + semver "^7.5.2" + +"@react-native-community/geolocation@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@react-native-community/geolocation/-/geolocation-3.4.0.tgz#8b6ee024a71cf94526ab796af1e9ae140684802c" + integrity sha512-bzZH89/cwmpkPMKKveoC72C4JH0yF4St5Ceg/ZM9pA1SqX9MlRIrIrrOGZ/+yi++xAvFDiYfihtn9TvXWU9/rA== + +"@react-native/assets-registry@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.80.0.tgz#7c03e0cf07fdd9e4a54ce2bbe8ae49f48440d422" + integrity sha512-MlScsKAz99zoYghe5Rf5mUqsqz2rMB02640NxtPtBMSHNdGxxRlWu/pp1bFexDa1DYJwyIjnLgt3Z/Y90ikHfw== + +"@react-native/babel-plugin-codegen@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.80.0.tgz#0515c34aca082cf629223abf02fa61e0f93ffa5e" + integrity sha512-LXd766LHCR/79WmhIg4zUB9jRosgw8xGJ1QnYOoef1rA7vCdubC23nhUxF+PJdfTdAl1cqX4u1dhZcjg6yXjRg== + dependencies: + "@babel/traverse" "^7.25.3" + "@react-native/codegen" "0.80.0" + +"@react-native/babel-preset@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.80.0.tgz#6b5ad39fdf699928ade2fd62fdf2e24bceac34cd" + integrity sha512-ZgwbSOUPNKpIsZ6E0y3bncahh2vBf5V1URNV0tr9PBtu/LbGJ12nBKSH7gqrFdRzfEwKlhc0vP8p1oJt+A5mpw== + dependencies: + "@babel/core" "^7.25.2" + "@babel/plugin-proposal-export-default-from" "^7.24.7" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-default-from" "^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.24.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.4" + "@babel/plugin-transform-async-to-generator" "^7.24.7" + "@babel/plugin-transform-block-scoping" "^7.25.0" + "@babel/plugin-transform-class-properties" "^7.25.4" + "@babel/plugin-transform-classes" "^7.25.4" + "@babel/plugin-transform-computed-properties" "^7.24.7" + "@babel/plugin-transform-destructuring" "^7.24.8" + "@babel/plugin-transform-flow-strip-types" "^7.25.2" + "@babel/plugin-transform-for-of" "^7.24.7" + "@babel/plugin-transform-function-name" "^7.25.1" + "@babel/plugin-transform-literals" "^7.25.2" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.8" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" + "@babel/plugin-transform-numeric-separator" "^7.24.7" + "@babel/plugin-transform-object-rest-spread" "^7.24.7" + "@babel/plugin-transform-optional-catch-binding" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.8" + "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/plugin-transform-private-methods" "^7.24.7" + "@babel/plugin-transform-private-property-in-object" "^7.24.7" + "@babel/plugin-transform-react-display-name" "^7.24.7" + "@babel/plugin-transform-react-jsx" "^7.25.2" + "@babel/plugin-transform-react-jsx-self" "^7.24.7" + "@babel/plugin-transform-react-jsx-source" "^7.24.7" + "@babel/plugin-transform-regenerator" "^7.24.7" + "@babel/plugin-transform-runtime" "^7.24.7" + "@babel/plugin-transform-shorthand-properties" "^7.24.7" + "@babel/plugin-transform-spread" "^7.24.7" + "@babel/plugin-transform-sticky-regex" "^7.24.7" + "@babel/plugin-transform-typescript" "^7.25.2" + "@babel/plugin-transform-unicode-regex" "^7.24.7" + "@babel/template" "^7.25.0" + "@react-native/babel-plugin-codegen" "0.80.0" + babel-plugin-syntax-hermes-parser "0.28.1" + babel-plugin-transform-flow-enums "^0.0.2" + react-refresh "^0.14.0" + +"@react-native/codegen@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.80.0.tgz#119e53099281acd6fe3c515ca7bfd00ddcfcf05c" + integrity sha512-X9TsPgytoUkNrQjzAZh4dXa4AuouvYT0NzYyvnjw1ry4LESCZtKba+eY4x3+M30WPR52zjgu+UFL//14BSdCCA== + dependencies: + glob "^7.1.1" + hermes-parser "0.28.1" + invariant "^2.2.4" + nullthrows "^1.1.1" + yargs "^17.6.2" + +"@react-native/community-cli-plugin@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.0.tgz#58a8e4300addecb01dfc186c23b60e47ac3e6fb7" + integrity sha512-uadfVvzZfz5tGpqwslL12i+rELK9m6cLhtqICX0JQvS7Bu12PJwrozhKzEzIYwN9i3wl2dWrKDUr08izt7S9Iw== + dependencies: + "@react-native/dev-middleware" "0.80.0" + chalk "^4.0.0" + debug "^4.4.0" + invariant "^2.2.4" + metro "^0.82.2" + metro-config "^0.82.2" + metro-core "^0.82.2" + semver "^7.1.3" + +"@react-native/debugger-frontend@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.80.0.tgz#ebdb36e73c0cb2eee52c97dcf17d78dbc1ca9689" + integrity sha512-lpu9Z3xtKUaKFvEcm5HSgo1KGfkDa/W3oZHn22Zy0WQ9MiOu2/ar1txgd1wjkoNiK/NethKcRdCN7mqnc6y2mA== + +"@react-native/dev-middleware@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.80.0.tgz#152b7c8f80a93b99ce6f5379855f4094afd71772" + integrity sha512-lLyTnJ687A5jF3fn8yR/undlCis3FG+N/apQ+Q0Lcl+GV6FsZs0U5H28YmL6lZtjOj4TLek6uGPMPmZasHx7cQ== + dependencies: + "@isaacs/ttlcache" "^1.4.1" + "@react-native/debugger-frontend" "0.80.0" + chrome-launcher "^0.15.2" + chromium-edge-launcher "^0.2.0" + connect "^3.6.5" + debug "^4.4.0" + invariant "^2.2.4" + nullthrows "^1.1.1" + open "^7.0.3" + serve-static "^1.16.2" + ws "^6.2.3" + +"@react-native/eslint-config@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.80.0.tgz#f32ffcf614c420259ca67cdc8bf35c303c2007ca" + integrity sha512-bd0GOcG++qIKzEngeyeNrGaDWWHtB8CpC5zbpYho2TTWpJDxBRcoPAzBdpPkxQtpBMdXyYRZMENRp6Khrg0YYQ== + dependencies: + "@babel/core" "^7.25.2" + "@babel/eslint-parser" "^7.25.1" + "@react-native/eslint-plugin" "0.80.0" + "@typescript-eslint/eslint-plugin" "^7.1.1" + "@typescript-eslint/parser" "^7.1.1" + eslint-config-prettier "^8.5.0" + eslint-plugin-eslint-comments "^3.2.0" + eslint-plugin-ft-flow "^2.0.1" + eslint-plugin-jest "^27.9.0" + eslint-plugin-react "^7.30.1" + eslint-plugin-react-hooks "^5.2.0" + eslint-plugin-react-native "^4.0.0" + +"@react-native/eslint-plugin@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.80.0.tgz#8f52a7b15509b61ace17fff41cf802505e990dc5" + integrity sha512-4kFD3M/zGqKdKyeevnTdhgAhNCj89VflDfv2wElo4jOb07xkR6VlEymv/6mZX3tdP/N5ukP2SZB+FDZH1GxBTg== + +"@react-native/gradle-plugin@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.80.0.tgz#ec7ed5eb6c274068aa83b188b0192c584f1881ef" + integrity sha512-drmS68rabSMOuDD+YsAY2luNT8br82ycodSDORDqAg7yWQcieHMp4ZUOcdOi5iW+JCqobablT/b6qxcrBg+RaA== + +"@react-native/js-polyfills@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.80.0.tgz#8016b6891955f61d20e989c50205ce0b3029ad01" + integrity sha512-dMX7IcBuwghySTgIeK8q03tYz/epg5ScGmJEfBQAciuhzMDMV1LBR/9wwdgD73EXM/133yC5A+TlHb3KQil4Ew== + +"@react-native/metro-babel-transformer@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.80.0.tgz#96d6c9c6a4b9122d8ab490313eddb297937ba157" + integrity sha512-5TldnaJE15IUNnZhjAelRz4+6qATlSO9yuzLqN1Y47qfJrAl/2lrI4KdSjFfvUaWrhezi94Aly1OKSJm9fjrXg== + dependencies: + "@babel/core" "^7.25.2" + "@react-native/babel-preset" "0.80.0" + hermes-parser "0.28.1" + nullthrows "^1.1.1" + +"@react-native/metro-config@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.80.0.tgz#86617ebc6c7aeb1f8cc00ca3f7177675d412ddef" + integrity sha512-LJ1ZC9vs/B3wez6BsOIgJ3iw7N4QalMpiT/fb5b66L4vHUGqVucOWNUwpxbDb1m1/wlhTa8AljiAdjt401sFjA== + dependencies: + "@react-native/js-polyfills" "0.80.0" + "@react-native/metro-babel-transformer" "0.80.0" + metro-config "^0.82.2" + metro-runtime "^0.82.2" + +"@react-native/new-app-screen@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/new-app-screen/-/new-app-screen-0.80.0.tgz#55238481416729199a93a9532f8835c5e2f40591" + integrity sha512-xDB/b76gZAH1vsFOqCghJnSw7Cl+C+F5Y3GT99kwN0wNi/aKS8GCJr9P6CWmxRDflY/8d/Q4+4OQHfo2gE8DcA== + +"@react-native/normalize-colors@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.80.0.tgz#2a0f4346550c5ab18a2ec956112d483d802b3029" + integrity sha512-bJZDSopadjJxMDvysc634eTfLL4w7cAx5diPe14Ez5l+xcKjvpfofS/1Ja14DlgdMJhxGd03MTXlrxoWust3zg== + +"@react-native/normalize-colors@^0.73.0": + version "0.73.2" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz#cc8e48fbae2bbfff53e12f209369e8d2e4cf34ec" + integrity sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w== + +"@react-native/typescript-config@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/typescript-config/-/typescript-config-0.80.0.tgz#6c05ad13587760b5cadeac5d0946116424e8691c" + integrity sha512-mlZhlXnVsDFvetx2vnOEwspJ5qWLiH2JY7dhxMiT/N90uJZjgFFvRMAWWNeJ1zgZPQylEuHHUUlDoaDZ7tQbTA== + +"@react-native/virtualized-lists@0.80.0": + version "0.80.0" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.80.0.tgz#6f2dc00a3e86f4bc9b34be538c18ca92c5b42dcb" + integrity sha512-d9zZdPS/ZRexVAkxo1eRp85U7XnnEpXA1ZpSomRKxBuStYKky1YohfEX5YD5MhphemKK24tT7JR4UhaLlmeX8Q== + dependencies: + invariant "^2.2.4" + nullthrows "^1.1.1" + +"@react-navigation/core@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-7.12.1.tgz#aed4ad5fe88f3304c9ab2ac0c97d7014e8f6c3c5" + integrity sha512-ir6s25CDkReufi0vQhSIAe+AAHHJN9zTgGlS6iDS1yqbwgl2MiBAZzpaOL1T5llYujie2jF/bODeLz2j4k80zw== + dependencies: + "@react-navigation/routers" "^7.4.1" + escape-string-regexp "^4.0.0" + nanoid "^3.3.11" + query-string "^7.1.3" + react-is "^19.1.0" + use-latest-callback "^0.2.4" + use-sync-external-store "^1.5.0" + +"@react-navigation/elements@^2.5.2": + version "2.5.2" + resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-2.5.2.tgz#e74aed3671f280773b0066c308f679a0e9e679ab" + integrity sha512-aGC3ukF5+lXuiF5bK7bJyRuWCE+Tk4MZ3GoQpAb7u7+m0KmsquliDhj4UCWEUU5kUoCeoRAUvv+1lKcYKf+WTQ== + dependencies: + color "^4.2.3" + use-latest-callback "^0.2.4" + use-sync-external-store "^1.5.0" + +"@react-navigation/native-stack@^7.3.21": + version "7.3.21" + resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-7.3.21.tgz#224ee559b8039c18901c1f7f95a7fd8861c1a398" + integrity sha512-oNNZHzkxILEibesamRKLodfXAaDOUvMBITKXLLeblDxnTAyIB/Kf7CmV+8nwkdAgV04kURTxV0SQI+d8gLUm6g== + dependencies: + "@react-navigation/elements" "^2.5.2" + warn-once "^0.1.1" + +"@react-navigation/native@^7.1.14": + version "7.1.14" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-7.1.14.tgz#6b5b57bba4c5f45bfc9961da2f921aba5215dfad" + integrity sha512-X233/CNx41FpshlWe4uEAUN8CNem3ju4t5pnVKcdhDR0cTQT1rK6P0ZwjSylD9zXdnHvJttFjBhKTot6TcvSqA== + dependencies: + "@react-navigation/core" "^7.12.1" + escape-string-regexp "^4.0.0" + fast-deep-equal "^3.1.3" + nanoid "^3.3.11" + use-latest-callback "^0.2.4" + +"@react-navigation/routers@^7.4.1": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-7.4.1.tgz#8bbce1cfc7080a8aa3588910a934ee11c3a72406" + integrity sha512-42mZrMzQ0LfKxUb5OHIurYrPYyRsXFLolucILrvm21f0O40Sw0Ufh1bnn/jRqnxZZu7wvpUGIGYM8nS9zVE1Aw== + dependencies: + nanoid "^3.3.11" + +"@react-stately/flags@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@react-stately/flags/-/flags-3.1.2.tgz#5c8e5ae416d37d37e2e583d2fcb3a046293504f2" + integrity sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-stately/overlays@^3.1.1", "@react-stately/overlays@^3.6.17": + version "3.6.17" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.17.tgz#8fb166369e94916bf3ad774fe9c56f2d621762fb" + integrity sha512-bkGYU4NPC/LgX9OGHLG8hpf9QDoazlb6fKfD+b5o7GtOdctBqCR287T/IBOQyvHqpySqrQ8XlyaGxJPGIcCiZw== + dependencies: + "@react-stately/utils" "^3.10.7" + "@react-types/overlays" "^3.8.16" + "@swc/helpers" "^0.5.0" + +"@react-stately/utils@^3.10.7": + version "3.10.7" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.10.7.tgz#f15963e9e66a1318f3d7ff3eafc06cd6da749311" + integrity sha512-cWvjGAocvy4abO9zbr6PW6taHgF24Mwy/LbQ4TC4Aq3tKdKDntxyD+sh7AkSRfJRT2ccMVaHVv2+FfHThd3PKQ== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-types/button@^3.12.2": + version "3.12.2" + resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.12.2.tgz#cc65cc8218d09361b8911310e9b95c8ddf719290" + integrity sha512-QLoSCX8E7NFIdkVMa65TPieve0rKeltfcIxiMtrphjfNn+83L0IHMcbhjf4r4W19c/zqGbw3E53Hx8mNukoTUw== + dependencies: + "@react-types/shared" "^3.30.0" + +"@react-types/overlays@^3.4.0", "@react-types/overlays@^3.8.16": + version "3.8.16" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.16.tgz#3f177a6aaf2b59f3ec0950ee296a38a402345ca9" + integrity sha512-Aj9jIFwALk9LiOV/s3rVie+vr5qWfaJp/6aGOuc2StSNDTHvj1urSAr3T0bT8wDlkrqnlS4JjEGE40ypfOkbAA== + dependencies: + "@react-types/shared" "^3.30.0" + +"@react-types/shared@^3.30.0": + version "3.30.0" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.30.0.tgz#616f3644e687ec3657e97bb821f8c219f6771311" + integrity sha512-COIazDAx1ncDg046cTJ8SFYsX8aS3lB/08LDnbkH/SkdYrFPWDlXMrO/sUam8j1WWM+PJ+4d1mj7tODIKNiFog== + +"@reduxjs/toolkit@^2.8.2": + version "2.8.2" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-2.8.2.tgz#f4e9f973c6fc930c1e0f3bf462cc95210c28f5f9" + integrity sha512-MYlOhQ0sLdw4ud48FoC5w0dH9VfWQjtCjreKwYTT3l+r427qYC5Y8PihNutepr8XrNaBUDQo9khWUwQxZaqt5A== + dependencies: + "@standard-schema/spec" "^1.0.0" + "@standard-schema/utils" "^0.3.0" + immer "^10.0.3" + redux "^5.0.1" + redux-thunk "^3.1.0" + reselect "^5.1.0" + +"@sideway/address@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" + integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@standard-schema/spec@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.0.0.tgz#f193b73dc316c4170f2e82a881da0f550d551b9c" + integrity sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA== + +"@standard-schema/utils@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@standard-schema/utils/-/utils-0.3.0.tgz#3d5e608f16c2390c10528e98e59aef6bf73cae7b" + integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g== + +"@swc/helpers@^0.5.0": + version "0.5.17" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.17.tgz#5a7be95ac0f0bf186e7e6e890e7a6f6cda6ce971" + integrity sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A== + dependencies: + tslib "^2.8.0" + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" + integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.7.tgz#968cdc2366ec3da159f61166428ee40f370e56c2" + integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== + dependencies: + "@babel/types" "^7.20.7" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/hammerjs@^2.0.36": + version "2.0.46" + resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.46.tgz#381daaca1360ff8a7c8dff63f32e69745b9fb1e1" + integrity sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw== + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.5.13": + version "29.5.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" + integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/node@*": + version "24.0.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.12.tgz#3cf8719572145cfecf4cf9d180d8e7f74a61af00" + integrity sha512-LtOrbvDf5ndC9Xi+4QZjVL0woFymF/xSTKZKPgrrl7H7XoeDvnD+E2IclKVDyaK9UM756W/3BXqSU+JEHopA9g== + dependencies: + undici-types "~7.8.0" + +"@types/react-test-renderer@^19.1.0": + version "19.1.0" + resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-19.1.0.tgz#1d0af8f2e1b5931e245b8b5b234d1502b854dc10" + integrity sha512-XD0WZrHqjNrxA/MaR9O22w/RNidWR9YZmBdRGI7wcnWGrv/3dA8wKCJ8m63Sn+tLJhcjmuhOi629N66W6kgWzQ== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^19.1.0": + version "19.1.8" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.8.tgz#ff8395f2afb764597265ced15f8dddb0720ae1c3" + integrity sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g== + dependencies: + csstype "^3.0.2" + +"@types/semver@^7.3.12": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.7.0.tgz#64c441bdae033b378b6eef7d0c3d77c329b9378e" + integrity sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/use-sync-external-store@^0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz#60be8d21baab8c305132eb9cb912ed497852aadc" + integrity sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^15.0.0": + version "15.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9" + integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^7.1.1": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3" + integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/type-utils" "7.18.0" + "@typescript-eslint/utils" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@^7.1.1": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0" + integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg== + dependencies: + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/scope-manager@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" + integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== + dependencies: + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" + +"@typescript-eslint/type-utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" + integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA== + dependencies: + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/utils" "7.18.0" + debug "^4.3.4" + ts-api-utils "^1.3.0" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/types@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" + integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" + integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== + dependencies: + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" + integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" + +"@typescript-eslint/utils@^5.10.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@typescript-eslint/visitor-keys@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" + integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== + dependencies: + "@typescript-eslint/types" "7.18.0" + eslint-visitor-keys "^3.4.3" + +"@ungap/structured-clone@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== + +"@vscode/sudo-prompt@^9.0.0": + version "9.3.1" + resolved "https://registry.yarnpkg.com/@vscode/sudo-prompt/-/sudo-prompt-9.3.1.tgz#c562334bc6647733649fd42afc96c0eea8de3b65" + integrity sha512-9ORTwwS74VaTn38tNbQhsA5U44zkJfcb0BdTSyyG6frP4e8KMtHuTXYmwefe5dpL8XB1aGSIVTaLjD3BbWb5iA== + +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +accepts@^1.3.7, accepts@~1.3.7: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.14.0, acorn@^8.9.0: + version "8.15.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + +agent-base@^7.1.2: + version "7.1.4" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" + integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +anser@^1.4.9: + version "1.4.10" + resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b" + integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww== + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-fragments@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-fragments/-/ansi-fragments-0.2.1.tgz#24409c56c4cc37817c3d7caa99d8969e2de5a05e" + integrity sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w== + dependencies: + colorette "^1.0.7" + slice-ansi "^2.0.0" + strip-ansi "^5.0.0" + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +appdirsjs@^1.2.4: + version "1.2.7" + resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.7.tgz#50b4b7948a26ba6090d4aede2ae2dc2b051be3b3" + integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== + dependencies: + call-bound "^1.0.3" + is-array-buffer "^3.0.5" + +array-includes@^3.1.6, array-includes@^3.1.8: + version "3.1.9" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" + integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.24.0" + es-object-atoms "^1.1.1" + get-intrinsic "^1.3.0" + is-string "^1.1.1" + math-intrinsics "^1.1.0" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + 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" + +array.prototype.flat@^1.3.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" + +array.prototype.flatmap@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" + +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + is-array-buffer "^3.0.4" + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axios@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.10.0.tgz#af320aee8632eaf2a400b6a1979fa75856f38d54" + integrity sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-polyfill-corejs2@^0.4.14: + version "0.4.14" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f" + integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg== + dependencies: + "@babel/compat-data" "^7.27.7" + "@babel/helper-define-polyfill-provider" "^0.6.5" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164" + integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.5" + core-js-compat "^3.43.0" + +babel-plugin-polyfill-regenerator@^0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5" + integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.5" + +babel-plugin-syntax-hermes-parser@0.28.1: + version "0.28.1" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.28.1.tgz#9e80a774ddb8038307a62316486669c668fb3568" + integrity sha512-meT17DOuUElMNsL5LZN56d+KBp22hb0EfxWfuPUeoSi54e40v1W4C2V36P75FpsH9fVEfDKpw5Nnkahc8haSsQ== + dependencies: + hermes-parser "0.28.1" + +babel-plugin-transform-flow-enums@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz#d1d0cc9bdc799c850ca110d0ddc9f21b9ec3ef25" + integrity sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ== + dependencies: + "@babel/plugin-syntax-flow" "^7.12.1" + +babel-preset-current-node-syntax@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-64@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" + integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA== + +base64-js@^1.3.1, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +body-parser@^1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.13.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.12" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" + integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" + integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +browserslist@^4.24.0, browserslist@^4.25.1: + version "4.25.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111" + integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw== + dependencies: + caniuse-lite "^1.0.30001726" + electron-to-chromium "^1.5.173" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001726: + version "1.0.30001727" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85" + integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q== + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chrome-launcher@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/chrome-launcher/-/chrome-launcher-0.15.2.tgz#4e6404e32200095fdce7f6a1e1004f9bd36fa5da" + integrity sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ== + dependencies: + "@types/node" "*" + escape-string-regexp "^4.0.0" + is-wsl "^2.2.0" + lighthouse-logger "^1.0.0" + +chromium-edge-launcher@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz#0c378f28c99aefc360705fa155de0113997f62fc" + integrity sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg== + 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" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0, ci-info@^3.7.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.4.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d" + integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +clsx@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-2.0.0.tgz#03ff6b1b5aec9bb3cf1ed82400c2790dfcd01d2d" + integrity sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow== + +color-parse@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/color-parse/-/color-parse-2.0.2.tgz#37b46930424924060988edf25b24e6ffb4a1dc3f" + integrity sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw== + dependencies: + color-name "^2.0.0" + +color-rgba@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/color-rgba/-/color-rgba-3.0.0.tgz#77090bdcdb2951c1735e20099ddd50401675375b" + integrity sha512-PPwZYkEY3M2THEHHV6Y95sGUie77S7X8v+h1r6LSAPF3/LL2xJ8duUXSrkic31Nzc4odPwHgUbiX/XuTYzQHQg== + dependencies: + color-parse "^2.0.0" + color-space "^2.0.0" + +color-space@^2.0.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/color-space/-/color-space-2.3.2.tgz#d8c72bab09ef26b98abebc58bc1586ce3073033d" + integrity sha512-BcKnbOEsOarCwyoLstcoEztwT0IJxqqQkNwDuA3a65sICvvHL2yoeV13psoDFh5IuiOMnIOKdQDwB4Mk3BypiA== + +color-string@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + +colorette@^1.0.7: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +command-exists@^1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== + +commander@^12.0.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^9.4.1: + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + +compressible@~2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.1: + version "1.8.0" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.0.tgz#09420efc96e11a0f44f3a558de59e321364180f7" + integrity sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA== + dependencies: + bytes "3.1.2" + compressible "~2.0.18" + debug "2.6.9" + negotiator "~0.6.4" + on-headers "~1.0.2" + safe-buffer "5.2.1" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +connect@^3.6.5: + version "3.7.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" + integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== + dependencies: + debug "2.6.9" + finalhandler "1.1.2" + parseurl "~1.3.3" + utils-merge "1.0.1" + +content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +core-js-compat@^3.43.0: + version "3.44.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.44.0.tgz#62b9165b97e4cbdb8bca16b14818e67428b4a0f8" + integrity sha512-JepmAj2zfl6ogy34qfWtcE7nHKAJnKsQFRn++scjVS2bZFllwptzw61BZcZFYBPpUznLfAvh0LGhxKppk04ClA== + dependencies: + browserslist "^4.25.1" + +cosmiconfig@^5.0.5: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== + dependencies: + env-paths "^2.2.1" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-select@^5.1.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e" + integrity sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^6.1.0: + version "6.2.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea" + integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA== + +csstype@^3.0.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +dayjs@^1.8.15: + version "1.11.13" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== + +debug@2.6.9, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.0, debug@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decimal.js@^10.4.3: + version "10.6.0" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" + integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +dedent@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.6.0.tgz#79d52d6389b1ffa67d2bcef59ba51847a9d503b2" + integrity sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2, deepmerge@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.3, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +deprecated-react-native-prop-types@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz#02a12f090da7bd9e8c3ac53c31cf786a1315d302" + integrity sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ== + dependencies: + "@react-native/normalize-colors" "^0.73.0" + invariant "^2.2.4" + prop-types "^15.8.1" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-helpers@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.5.173: + version "1.5.180" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.180.tgz#3e4f6e7494d6371e014af176dfdfd43c8a4b56df" + integrity sha512-ED+GEyEh3kYMwt2faNmgMB0b8O5qtATGgR4RmRsIp4T6p7B8vdMbIedYndnvZfsaXvSzegtpfqRMDNCjjiSduA== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +entities@^4.2.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +envinfo@^7.13.0: + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +errorhandler@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.1.tgz#b9ba5d17cf90744cd1e851357a6e75bf806a9a91" + integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A== + dependencies: + accepts "~1.3.7" + escape-html "~1.0.3" + +es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0: + version "1.24.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328" + integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.3.0" + get-proto "^1.0.1" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" + is-callable "^1.2.7" + is-data-view "^1.0.2" + is-negative-zero "^2.0.3" + is-regex "^1.2.1" + is-set "^2.0.3" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.1" + math-intrinsics "^1.1.0" + object-inspect "^1.13.4" + object-keys "^1.1.1" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.4" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + stop-iteration-iterator "^1.1.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.19" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-iterator-helpers@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz#d1dd0f58129054c0ad922e6a9a1e65eef435fe75" + integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-abstract "^1.23.6" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.6" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + iterator.prototype "^1.1.4" + safe-array-concat "^1.1.3" + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +es-shim-unscopables@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" + integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== + dependencies: + hasown "^2.0.2" + +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== + dependencies: + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" + +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^8.5.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" + integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== + +eslint-plugin-eslint-comments@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz#9e1cd7b4413526abb313933071d7aba05ca12ffa" + integrity sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ== + dependencies: + escape-string-regexp "^1.0.5" + ignore "^5.0.5" + +eslint-plugin-ft-flow@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz#3b3c113c41902bcbacf0e22b536debcfc3c819e8" + integrity sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg== + dependencies: + lodash "^4.17.21" + string-natural-compare "^3.0.1" + +eslint-plugin-jest@^27.9.0: + version "27.9.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz#7c98a33605e1d8b8442ace092b60e9919730000b" + integrity sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug== + dependencies: + "@typescript-eslint/utils" "^5.10.0" + +eslint-plugin-react-hooks@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz#1be0080901e6ac31ce7971beed3d3ec0a423d9e3" + integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== + +eslint-plugin-react-native-globals@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz#ee1348bc2ceb912303ce6bdbd22e2f045ea86ea2" + integrity sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g== + +eslint-plugin-react-native@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz#5343acd3b2246bc1b857ac38be708f070d18809f" + integrity sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q== + dependencies: + eslint-plugin-react-native-globals "^0.1.1" + +eslint-plugin-react@^7.30.1: + version "7.37.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz#2975511472bdda1b272b34d779335c9b0e877065" + integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.3" + array.prototype.tosorted "^1.1.4" + doctrine "^2.1.0" + es-iterator-helpers "^1.2.1" + estraverse "^5.3.0" + hasown "^2.0.2" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.9" + object.fromentries "^2.0.8" + object.values "^1.2.1" + prop-types "^15.8.1" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.12" + string.prototype.repeat "^1.0.0" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.19.0: + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +exponential-backoff@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.2.tgz#a8f26adb96bf78e8cd8ad1037928d5e5c0679d91" + integrity sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.9, fast-glob@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-xml-parser@^4.4.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz#c54d6b35aa0f23dc1ea60b6c884340c006dc6efb" + integrity sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig== + dependencies: + strnum "^1.1.1" + +fastq@^1.6.0: + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +finalhandler@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== + dependencies: + micromatch "^4.0.2" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.9: + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== + +flow-enums-runtime@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz#5bb0cd1b0a3e471330f4d109039b7eba5cb3e787" + integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== + +follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" + +form-data@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.3.tgz#608b1b3f3e28be0fccf5901fc85fb3641e5cf0ae" + integrity sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" + mime-types "^2.1.12" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + +gifted-charts-core@0.1.65: + version "0.1.65" + resolved "https://registry.yarnpkg.com/gifted-charts-core/-/gifted-charts-core-0.1.65.tgz#7406dce435621b887697276e444d81898fb52c32" + integrity sha512-sMRXnPwT6ouIrZ4TBFdEAfywn1F9tPuP57HmGA8HzITDtWz79Rhlp5ZFaD8YgPhNLbQanqaHarY3Z4ZqDK5XnQ== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +graceful-fs@^4.1.11, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hermes-estree@0.28.1: + version "0.28.1" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.28.1.tgz#631e6db146b06e62fc1c630939acf4a3c77d1b24" + integrity sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ== + +hermes-estree@0.29.1: + version "0.29.1" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.29.1.tgz#043c7db076e0e8ef8c5f6ed23828d1ba463ebcc5" + integrity sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ== + +hermes-parser@0.28.1: + version "0.28.1" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.28.1.tgz#17b9e6377f334b6870a1f6da2e123fdcd0b605ac" + integrity sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg== + dependencies: + hermes-estree "0.28.1" + +hermes-parser@0.29.1: + version "0.29.1" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.29.1.tgz#436b24bcd7bb1e71f92a04c396ccc0716c288d56" + integrity sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA== + dependencies: + hermes-estree "0.29.1" + +hoist-non-react-statics@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +https-proxy-agent@^7.0.5: + version "7.0.6" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" + integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== + dependencies: + agent-base "^7.1.2" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.0.5, ignore@^5.2.0, ignore@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +image-size@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.2.1.tgz#ee118aedfe666db1a6ee12bed5821cde3740276d" + integrity sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw== + dependencies: + queue "6.0.2" + +immer@^10.0.3: + version "10.1.1" + resolved "https://registry.yarnpkg.com/immer/-/immer-10.1.1.tgz#206f344ea372d8ea176891545ee53ccc062db7bc" + integrity sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw== + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.2" + side-channel "^1.1.0" + +intl-messageformat@^10.1.0: + version "10.7.16" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.16.tgz#d909f9f9f4ab857fbe681d559b958dd4dd9f665a" + integrity sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug== + dependencies: + "@formatjs/ecma402-abstract" "2.3.4" + "@formatjs/fast-memoize" "2.2.7" + "@formatjs/icu-messageformat-parser" "2.11.2" + tslib "^2.8.0" + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== + dependencies: + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== + dependencies: + has-bigints "^1.0.2" + +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== + dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + is-typed-array "^1.1.13" + +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== + dependencies: + call-bound "^1.0.3" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-generator-function@^1.0.10: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== + dependencies: + call-bound "^1.0.3" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== + dependencies: + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" + +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2, is-weakref@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== + dependencies: + call-bound "^1.0.3" + +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== + dependencies: + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== + +is-wsl@^2.1.1, is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== + dependencies: + "@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" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterator.prototype@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz#12c959a29de32de0aa3bbbb801f4d777066dae39" + integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== + dependencies: + define-data-property "^1.1.4" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + get-proto "^1.0.0" + has-symbols "^1.1.0" + set-function-name "^2.0.2" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.6.3: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +joi@^17.2.1: + version "17.13.3" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" + integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA== + dependencies: + "@hapi/hoek" "^9.3.0" + "@hapi/topo" "^5.1.0" + "@sideway/address" "^4.1.5" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsc-safe-url@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz#141c14fbb43791e88d5dc64e85a374575a83477a" + integrity sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== + +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +jsesc@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stable-stringify@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz#8903cfac42ea1a0f97f35d63a4ce0518f0cc6a70" + integrity sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + isarray "^2.0.5" + jsonify "^0.0.1" + object-keys "^1.1.1" + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" + integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +klaw-sync@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== + dependencies: + graceful-fs "^4.1.11" + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +launch-editor@^2.9.1: + version "2.10.0" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.10.0.tgz#5ca3edfcb9667df1e8721310f3a40f1127d4bc42" + integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lighthouse-logger@^1.0.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz#aef90f9e97cd81db367c7634292ee22079280aaa" + integrity sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g== + dependencies: + debug "^2.6.9" + marky "^1.2.2" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== + +lodash@^4.17.13, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +logkitty@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7" + integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ== + dependencies: + ansi-fragments "^0.2.1" + dayjs "^1.8.15" + yargs "^15.1.0" + +loose-envify@^1.0.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +marky@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/marky/-/marky-1.3.0.tgz#422b63b0baf65022f02eda61a238eccdbbc14997" + integrity sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memoize-one@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + +merge-options@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" + integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== + dependencies: + is-plain-obj "^2.1.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +metro-babel-transformer@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.82.5.tgz#a65ed29265d8257109ab8c37884e6e3a2edee86d" + integrity sha512-W/scFDnwJXSccJYnOFdGiYr9srhbHPdxX9TvvACOFsIXdLilh3XuxQl/wXW6jEJfgIb0jTvoTlwwrqvuwymr6Q== + dependencies: + "@babel/core" "^7.25.2" + flow-enums-runtime "^0.0.6" + hermes-parser "0.29.1" + nullthrows "^1.1.1" + +metro-cache-key@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.82.5.tgz#290a0054b28a708266fb91c8028cf94be04f99c9" + integrity sha512-qpVmPbDJuRLrT4kcGlUouyqLGssJnbTllVtvIgXfR7ZuzMKf0mGS+8WzcqzNK8+kCyakombQWR0uDd8qhWGJcA== + dependencies: + flow-enums-runtime "^0.0.6" + +metro-cache@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.82.5.tgz#4c8fe58cd5fa30b87db0b2b6a650a771ec6fe162" + integrity sha512-AwHV9607xZpedu1NQcjUkua8v7HfOTKfftl6Vc9OGr/jbpiJX6Gpy8E/V9jo/U9UuVYX2PqSUcVNZmu+LTm71Q== + dependencies: + exponential-backoff "^3.1.1" + flow-enums-runtime "^0.0.6" + https-proxy-agent "^7.0.5" + metro-core "0.82.5" + +metro-config@0.82.5, metro-config@^0.82.2: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.82.5.tgz#07366f32c3fe6203d630af7df4781900816c7c85" + integrity sha512-/r83VqE55l0WsBf8IhNmc/3z71y2zIPe5kRSuqA5tY/SL/ULzlHUJEMd1szztd0G45JozLwjvrhAzhDPJ/Qo/g== + dependencies: + connect "^3.6.5" + cosmiconfig "^5.0.5" + flow-enums-runtime "^0.0.6" + jest-validate "^29.7.0" + metro "0.82.5" + metro-cache "0.82.5" + metro-core "0.82.5" + metro-runtime "0.82.5" + +metro-core@0.82.5, metro-core@^0.82.2: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.82.5.tgz#fda1b2f7365e3a09055dd72ba1681f8fc1f6f492" + integrity sha512-OJL18VbSw2RgtBm1f2P3J5kb892LCVJqMvslXxuxjAPex8OH7Eb8RBfgEo7VZSjgb/LOf4jhC4UFk5l5tAOHHA== + dependencies: + flow-enums-runtime "^0.0.6" + lodash.throttle "^4.1.1" + metro-resolver "0.82.5" + +metro-file-map@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.82.5.tgz#3e47410a9ce8f6c913480970226a17371c2d2974" + integrity sha512-vpMDxkGIB+MTN8Af5hvSAanc6zXQipsAUO+XUx3PCQieKUfLwdoa8qaZ1WAQYRpaU+CJ8vhBcxtzzo3d9IsCIQ== + dependencies: + debug "^4.4.0" + fb-watchman "^2.0.0" + flow-enums-runtime "^0.0.6" + graceful-fs "^4.2.4" + invariant "^2.2.4" + jest-worker "^29.7.0" + micromatch "^4.0.4" + nullthrows "^1.1.1" + walker "^1.0.7" + +metro-minify-terser@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.82.5.tgz#5dc77d53b6ef4079bd9c752ae046d557df4ae584" + integrity sha512-v6Nx7A4We6PqPu/ta1oGTqJ4Usz0P7c+3XNeBxW9kp8zayS3lHUKR0sY0wsCHInxZlNAEICx791x+uXytFUuwg== + dependencies: + flow-enums-runtime "^0.0.6" + terser "^5.15.0" + +metro-resolver@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.82.5.tgz#cb810038d488a47334df444312b23f0090eca5c3" + integrity sha512-kFowLnWACt3bEsuVsaRNgwplT8U7kETnaFHaZePlARz4Fg8tZtmRDUmjaD68CGAwc0rwdwNCkWizLYpnyVcs2g== + dependencies: + flow-enums-runtime "^0.0.6" + +metro-runtime@0.82.5, metro-runtime@^0.82.2: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.82.5.tgz#97840760e4cee49f08948dd918dbeba08dd0d0ec" + integrity sha512-rQZDoCUf7k4Broyw3Ixxlq5ieIPiR1ULONdpcYpbJQ6yQ5GGEyYjtkztGD+OhHlw81LCR2SUAoPvtTus2WDK5g== + dependencies: + "@babel/runtime" "^7.25.0" + flow-enums-runtime "^0.0.6" + +metro-source-map@0.82.5, metro-source-map@^0.82.2: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.5.tgz#85e2e9672bff6d6cefb3b65b96fcc69f929c69c6" + integrity sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw== + dependencies: + "@babel/traverse" "^7.25.3" + "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3" + "@babel/types" "^7.25.2" + flow-enums-runtime "^0.0.6" + invariant "^2.2.4" + metro-symbolicate "0.82.5" + nullthrows "^1.1.1" + ob1 "0.82.5" + source-map "^0.5.6" + vlq "^1.0.0" + +metro-symbolicate@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz#b53255cad11f1e6795f319ca4b41857bfe295d65" + integrity sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw== + dependencies: + flow-enums-runtime "^0.0.6" + invariant "^2.2.4" + metro-source-map "0.82.5" + nullthrows "^1.1.1" + source-map "^0.5.6" + vlq "^1.0.0" + +metro-transform-plugins@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.5.tgz#678da4d0f9085b2a3fc0b4350062f19cc625c5fc" + integrity sha512-57Bqf3rgq9nPqLrT2d9kf/2WVieTFqsQ6qWHpEng5naIUtc/Iiw9+0bfLLWSAw0GH40iJ4yMjFcFJDtNSYynMA== + dependencies: + "@babel/core" "^7.25.2" + "@babel/generator" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.3" + flow-enums-runtime "^0.0.6" + nullthrows "^1.1.1" + +metro-transform-worker@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.82.5.tgz#aabdccf17aaa584ec0fd97b5283e806958fb3418" + integrity sha512-mx0grhAX7xe+XUQH6qoHHlWedI8fhSpDGsfga7CpkO9Lk9W+aPitNtJWNGrW8PfjKEWbT9Uz9O50dkI8bJqigw== + dependencies: + "@babel/core" "^7.25.2" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.3" + "@babel/types" "^7.25.2" + flow-enums-runtime "^0.0.6" + metro "0.82.5" + metro-babel-transformer "0.82.5" + metro-cache "0.82.5" + metro-cache-key "0.82.5" + metro-minify-terser "0.82.5" + metro-source-map "0.82.5" + metro-transform-plugins "0.82.5" + nullthrows "^1.1.1" + +metro@0.82.5, metro@^0.82.2: + version "0.82.5" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.82.5.tgz#a27fbc08dd283a14ae58496288c10adaae65f461" + integrity sha512-8oAXxL7do8QckID/WZEKaIFuQJFUTLzfVcC48ghkHhNK2RGuQq8Xvf4AVd+TUA0SZtX0q8TGNXZ/eba1ckeGCg== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/core" "^7.25.2" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.3" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.3" + "@babel/types" "^7.25.2" + accepts "^1.3.7" + chalk "^4.0.0" + ci-info "^2.0.0" + connect "^3.6.5" + debug "^4.4.0" + error-stack-parser "^2.0.6" + flow-enums-runtime "^0.0.6" + graceful-fs "^4.2.4" + hermes-parser "0.29.1" + image-size "^1.0.2" + invariant "^2.2.4" + jest-worker "^29.7.0" + jsc-safe-url "^0.2.2" + lodash.throttle "^4.1.1" + metro-babel-transformer "0.82.5" + metro-cache "0.82.5" + metro-cache-key "0.82.5" + metro-config "0.82.5" + metro-core "0.82.5" + metro-file-map "0.82.5" + metro-resolver "0.82.5" + metro-runtime "0.82.5" + metro-source-map "0.82.5" + metro-symbolicate "0.82.5" + metro-transform-plugins "0.82.5" + metro-transform-worker "0.82.5" + mime-types "^2.1.27" + nullthrows "^1.1.1" + serialize-error "^2.1.0" + source-map "^0.5.6" + throat "^5.0.0" + ws "^7.5.10" + yargs "^17.6.2" + +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +"mime-db@>= 1.43.0 < 2": + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +moment@^2.30.1: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.3, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + +nocache@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" + integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== + +node-stream-zip@^1.9.1: + version "1.15.0" + resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" + integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nullthrows@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== + +ob1@0.82.5: + version "0.82.5" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.5.tgz#a2860e39385f4602bc2666c46f331b7531b94a8b" + integrity sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ== + dependencies: + flow-enums-runtime "^0.0.6" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.3, object-inspect@^1.13.4: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" + object-keys "^1.1.1" + +object.entries@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" + integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-object-atoms "^1.1.1" + +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.values@^1.1.6, object.values@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^6.2.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + +open@^7.0.3, open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +patch-package@8.0.0, patch-package@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61" + integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^4.1.2" + ci-info "^3.7.0" + cross-spawn "^7.0.3" + find-yarn-workspace-root "^2.0.0" + fs-extra "^9.0.0" + json-stable-stringify "^1.0.2" + klaw-sync "^6.0.0" + minimist "^1.2.6" + open "^7.4.2" + rimraf "^2.6.3" + semver "^7.5.3" + slash "^2.0.0" + tmp "^0.0.33" + yaml "^2.2.2" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +paths-js@^0.4.10: + version "0.4.11" + resolved "https://registry.yarnpkg.com/paths-js/-/paths-js-0.4.11.tgz#b2a9d5f94ee9949aa8fee945f78a12abff44599e" + integrity sha512-3mqcLomDBXOo7Fo+UlaenG6f71bk1ZezPQy2JCmYHy2W2k5VKpP+Jbin9H0bjXynelTbglCqdFhSEkeIkKTYUA== + +picocolors@^1.0.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" + integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +point-in-polygon@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz#b0af2616c01bdee341cbf2894df643387ca03357" + integrity sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw== + +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@2.8.8: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + 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" + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +promise@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== + dependencies: + asap "~2.0.6" + +prompts@^2.0.1, prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pure-rand@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== + +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + +query-string@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +queue@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-devtools-core@^6.1.1: + version "6.1.5" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-6.1.5.tgz#c5eca79209dab853a03b2158c034c5166975feee" + integrity sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA== + dependencies: + shell-quote "^1.6.1" + ws "^7" + +react-freeze@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.4.tgz#cbbea2762b0368b05cbe407ddc9d518c57c6f3ad" + integrity sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA== + +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +react-is@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.0.tgz#805bce321546b7e14c084989c77022351bbdd11b" + integrity sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg== + +react-native-chart-kit@^6.12.0: + version "6.12.0" + resolved "https://registry.yarnpkg.com/react-native-chart-kit/-/react-native-chart-kit-6.12.0.tgz#187a4987a668a85b7e93588c248ed2c33b3a06f6" + integrity sha512-nZLGyCFzZ7zmX0KjYeeSV1HKuPhl1wOMlTAqa0JhlyW62qV/1ZPXHgT8o9s8mkFaGxdqbspOeuaa6I9jUQDgnA== + dependencies: + lodash "^4.17.13" + paths-js "^0.4.10" + point-in-polygon "^1.0.1" + +react-native-element-dropdown@^2.12.4: + version "2.12.4" + resolved "https://registry.yarnpkg.com/react-native-element-dropdown/-/react-native-element-dropdown-2.12.4.tgz#259db84e673b9f4fc03090a54760efd4f4a1456c" + integrity sha512-abZc5SVji9FIt7fjojRYrbuvp03CoeZJrgvezQoDoSOrpiTqkX69ix5m+j06W2AVncA0VWvbT+vCMam8SoVadw== + dependencies: + lodash "^4.17.21" + +react-native-fs@^2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/react-native-fs/-/react-native-fs-2.20.0.tgz#05a9362b473bfc0910772c0acbb73a78dbc810f6" + integrity sha512-VkTBzs7fIDUiy/XajOSNk0XazFE9l+QlMAce7lGuebZcag5CnjszB+u4BdqzwaQOdcYb5wsJIsqq4kxInIRpJQ== + dependencies: + base-64 "^0.1.0" + utf8 "^3.0.0" + +react-native-gesture-handler@^2.27.1: + version "2.27.1" + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.27.1.tgz#8865b2345f4c65536517f20cedc420481fc72d49" + integrity sha512-57TUWerhdz589OcDD21e/YlL923Ma4OIpyWsP0hy7gItBCPm5d7qIUW7Yo/cS2wo1qDdOhJaNlvlBD1lDou1fA== + dependencies: + "@egjs/hammerjs" "^2.0.17" + hoist-non-react-statics "^3.3.0" + invariant "^2.2.4" + +react-native-gifted-charts@^1.4.63: + version "1.4.63" + resolved "https://registry.yarnpkg.com/react-native-gifted-charts/-/react-native-gifted-charts-1.4.63.tgz#a37ebe7c2c41851ca94470978bafcaf1aadb88bc" + integrity sha512-+/FW+YQv2ZaYn+BqWMXzlAXRXn6WpQGbEyLo/Z8w8/4/a863U1mhYiQNI2nCcQPP+qwntI3qpCXWExawp/xIuA== + dependencies: + gifted-charts-core "0.1.65" + +react-native-iphone-x-helper@^1.0.3: + version "1.3.1" + resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz#20c603e9a0e765fd6f97396638bdeb0e5a60b010" + integrity sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg== + +react-native-is-edge-to-edge@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.1.7.tgz#28947688f9fafd584e73a4f935ea9603bd9b1939" + integrity sha512-EH6i7E8epJGIcu7KpfXYXiV2JFIYITtq+rVS8uEb+92naMRBdxhTuS8Wn2Q7j9sqyO0B+Xbaaf9VdipIAmGW4w== + +react-native-is-edge-to-edge@^1.1.7: + version "1.2.1" + resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.2.1.tgz#64e10851abd9d176cbf2b40562f751622bde3358" + integrity sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q== + +react-native-keyboard-aware-scroll-view@^0.9.5: + version "0.9.5" + resolved "https://registry.yarnpkg.com/react-native-keyboard-aware-scroll-view/-/react-native-keyboard-aware-scroll-view-0.9.5.tgz#e2e9665d320c188e6b1f22f151b94eb358bf9b71" + integrity sha512-XwfRn+T/qBH9WjTWIBiJD2hPWg0yJvtaEw6RtPCa5/PYHabzBaWxYBOl0usXN/368BL1XktnZPh8C2lmTpOREA== + dependencies: + prop-types "^15.6.2" + react-native-iphone-x-helper "^1.0.3" + +react-native-linear-gradient@^2.8.3: + version "2.8.3" + resolved "https://registry.yarnpkg.com/react-native-linear-gradient/-/react-native-linear-gradient-2.8.3.tgz#9a116649f86d74747304ee13db325e20b21e564f" + integrity sha512-KflAXZcEg54PXkLyflaSZQ3PJp4uC4whM7nT/Uot9m0e/qxFV3p6uor1983D1YOBJbJN7rrWdqIjq0T42jOJyA== + +react-native-loader-kit@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-native-loader-kit/-/react-native-loader-kit-3.0.0.tgz#7a275e80c302917fd9b9a2c972f50bec1d9a9f10" + integrity sha512-r/+kqHiewOgUTCXhhF/gVEpfeit4piWZzPmvIHj9ua9rhSyRlZZzCpyNyXF+Cz49BXdRM/bm30ABpB0QBbE9Kw== + +react-native-modal-selector@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/react-native-modal-selector/-/react-native-modal-selector-2.1.2.tgz#c9fae030baf8bb2c5419e766ff63c31fc946f396" + integrity sha512-+Cvoz/yNUFmfIkJ7xkmlLR2nhJOUhx00S6BPqp2Ruy8LkmaiNr7WMZ4BzsgzylyEgZ84Q+42HQ0v0QzJYobviA== + dependencies: + prop-types "^15.5.10" + +react-native-multiple-select@^0.5.12: + version "0.5.12" + resolved "https://registry.yarnpkg.com/react-native-multiple-select/-/react-native-multiple-select-0.5.12.tgz#be9204f49bc1bb734c40422a89acc173959bcd70" + integrity sha512-lFw0u798/2qHr4TwDdxMtReRtsNOCC2SWPzWHRGKE4XcBiUll0hHhke7iqQg4xJdfo46C/h69f1ZXphDOjZY3A== + dependencies: + prop-types "^15.7.2" + +react-native-otp-entry@^1.8.5: + version "1.8.5" + resolved "https://registry.yarnpkg.com/react-native-otp-entry/-/react-native-otp-entry-1.8.5.tgz#e5893040e1b0540c6febb89b1b29a1729277c1df" + integrity sha512-TZNkIuUzZKAAWrC8X/A22ZHJdycLysxUNysrGf0yTmDLRUyf4zLXwVFcDYUcRNe763Hjaf5qvtKGILb6lDGzoA== + +react-native-permissions@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/react-native-permissions/-/react-native-permissions-5.4.1.tgz#b147e5901f2f5d847b367f2ba6e60378ebcee90c" + integrity sha512-MTou5DVn8IADr7OQjYePJzcxrVNEeODBvSpB8XOt5qBI9ui3HduSBn/KTNZECH/Ph2Y20OnZBMqe6Wp9IryrgQ== + +react-native-photo-manipulator@^1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/react-native-photo-manipulator/-/react-native-photo-manipulator-1.9.2.tgz#d42cddfcbcac0be91f3aa0852e3d5d4fa23ec5c0" + integrity sha512-Q3Y3mGAIYTk0QhXYvCb1/m6amkFZ2ieUvkOkHaOa/zWECyGP5Pi+z0Z0PvtM2acdb2oBv7SZyeVg9W4g3ZggQw== + dependencies: + color-rgba "^3.0.0" + +react-native-raw-bottom-sheet@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-native-raw-bottom-sheet/-/react-native-raw-bottom-sheet-3.0.0.tgz#8e7838ab9b8113bcccdc9648b41eb2bd54e86243" + integrity sha512-kHR7j2ExCLqf/AO3MECozMJXi48O1+YxUYSRgRo/5Ftm7mEcrxJEzvjqMmqUbVhhKlfk5hLCGFnEQ5Z9OHCUtg== + +react-native-reanimated@^3.18.0: + version "3.18.0" + resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.18.0.tgz#0a246eab38a9e807887fe561a2868cfe85351f3c" + integrity sha512-eVcNcqeOkMW+BUWAHdtvN3FKgC8J8wiEJkX6bNGGQaLS7m7e4amTfjIcqf/Ta+lerZLurmDaQ0lICI1CKPrb1Q== + dependencies: + "@babel/plugin-transform-arrow-functions" "^7.0.0-0" + "@babel/plugin-transform-class-properties" "^7.0.0-0" + "@babel/plugin-transform-classes" "^7.0.0-0" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0" + "@babel/plugin-transform-optional-chaining" "^7.0.0-0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0-0" + "@babel/plugin-transform-template-literals" "^7.0.0-0" + "@babel/plugin-transform-unicode-regex" "^7.0.0-0" + "@babel/preset-typescript" "^7.16.7" + convert-source-map "^2.0.0" + invariant "^2.2.4" + react-native-is-edge-to-edge "1.1.7" + +react-native-safe-area-context@^5.5.0: + version "5.5.1" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-5.5.1.tgz#9fac8ae5da8b9ff6f77eb3f697e073f04a1f2f3f" + integrity sha512-WYxV+mm7SWuapVWxq2071lkQlDUXjSwcu7Cc2bUtNcF80/Bl0WnuWAZ8+tO46M38PclMrQIIgbv83BvDHJNQ5g== + +react-native-screens@^4.11.1: + version "4.11.1" + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-4.11.1.tgz#7d0f3d313d8ddc1e55437c5e038f15f8805dc991" + integrity sha512-F0zOzRVa3ptZfLpD0J8ROdo+y1fEPw+VBFq1MTY/iyDu08al7qFUO5hLMd+EYMda5VXGaTFCa8q7bOppUszhJw== + dependencies: + react-freeze "^1.0.0" + react-native-is-edge-to-edge "^1.1.7" + warn-once "^0.1.0" + +react-native-sqlite-storage@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/react-native-sqlite-storage/-/react-native-sqlite-storage-6.0.1.tgz#ce6a6b852f07abbea68658d5363818c8bef45dfb" + integrity sha512-1tDFjrint6X6qSYKf3gDyz+XB+X79jfiL6xTugKHPRtF0WvqMtVgdLuNqZunIXjNEvNtNVEbXaeZ6MsguFu00A== + +react-native-svg@^15.12.0: + version "15.12.0" + resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.12.0.tgz#0e2d476961e8b07f8c549fe4489c99b5130dc150" + integrity sha512-iE25PxIJ6V0C6krReLquVw6R0QTsRTmEQc4K2Co3P6zsimU/jltcDBKYDy1h/5j9S/fqmMeXnpM+9LEWKJKI6A== + dependencies: + css-select "^5.1.0" + css-tree "^1.1.3" + warn-once "0.1.1" + +react-native-toast-message@^2.3.1: + version "2.3.3" + resolved "https://registry.yarnpkg.com/react-native-toast-message/-/react-native-toast-message-2.3.3.tgz#e301508d386a9902ff6b4559ecc6674f8cfdf97a" + integrity sha512-4IIUHwUPvKHu4gjD0Vj2aGQzqPATiblL1ey8tOqsxOWRPGGu52iIbL8M/mCz4uyqecvPdIcMY38AfwRuUADfQQ== + +react-native-vector-icons@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-10.2.0.tgz#f438f2ca16f7d6be658fd6ec8f0d2b7e2132b91c" + integrity sha512-n5HGcxUuVaTf9QJPs/W22xQpC2Z9u0nb0KgLPnVltP8vdUvOp6+R26gF55kilP/fV4eL4vsAHUqUjewppJMBOQ== + dependencies: + prop-types "^15.7.2" + yargs "^16.1.1" + +react-native-vision-camera@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/react-native-vision-camera/-/react-native-vision-camera-4.7.0.tgz#bf2f74c7c23c88ef58725d220728366e2b9d8e09" + integrity sha512-aiwmBIhpiQA7fuhqRiBFAgISBI+qAyoZeZakjz/PDwUEuwGKmjYrC2LMOcFAkqSKvDA4vsoOXGxpnk77NoCZBA== + +react-native@0.80.0: + version "0.80.0" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.80.0.tgz#574bf976c1e03d27191100179a8e9ec0f19d42ef" + integrity sha512-b9K1ygb2MWCBtKAodKmE3UsbUuC29Pt4CrJMR0ocTA8k+8HJQTPleBPDNKL4/p0P01QO9aL/gZUddoxHempLow== + dependencies: + "@jest/create-cache-key-function" "^29.7.0" + "@react-native/assets-registry" "0.80.0" + "@react-native/codegen" "0.80.0" + "@react-native/community-cli-plugin" "0.80.0" + "@react-native/gradle-plugin" "0.80.0" + "@react-native/js-polyfills" "0.80.0" + "@react-native/normalize-colors" "0.80.0" + "@react-native/virtualized-lists" "0.80.0" + abort-controller "^3.0.0" + anser "^1.4.9" + ansi-regex "^5.0.0" + babel-jest "^29.7.0" + babel-plugin-syntax-hermes-parser "0.28.1" + base64-js "^1.5.1" + chalk "^4.0.0" + commander "^12.0.0" + flow-enums-runtime "^0.0.6" + glob "^7.1.1" + invariant "^2.2.4" + jest-environment-node "^29.7.0" + memoize-one "^5.0.0" + metro-runtime "^0.82.2" + metro-source-map "^0.82.2" + nullthrows "^1.1.1" + pretty-format "^29.7.0" + promise "^8.3.0" + react-devtools-core "^6.1.1" + react-refresh "^0.14.0" + regenerator-runtime "^0.13.2" + scheduler "0.26.0" + semver "^7.1.3" + stacktrace-parser "^0.1.10" + whatwg-fetch "^3.0.0" + ws "^6.2.3" + yargs "^17.6.2" + +react-redux@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.2.0.tgz#96c3ab23fb9a3af2cb4654be4b51c989e32366f5" + integrity sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g== + dependencies: + "@types/use-sync-external-store" "^0.0.6" + use-sync-external-store "^1.4.0" + +react-refresh@^0.14.0: + version "0.14.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" + integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== + +react-test-renderer@19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.1.0.tgz#89e1baa9e45a6da064b9760f92251d5b8e1f34ab" + integrity sha512-jXkSl3CpvPYEF+p/eGDLB4sPoDX8pKkYvRl9+rR8HxLY0X04vW7hCm1/0zHoUSjPZ3bDa+wXWNTDVIw/R8aDVw== + dependencies: + react-is "^19.1.0" + scheduler "^0.26.0" + +react@19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75" + integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== + +readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +redux-thunk@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-3.1.0.tgz#94aa6e04977c30e14e892eae84978c1af6058ff3" + integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw== + +redux@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-5.0.1.tgz#97fa26881ce5746500125585d5642c77b6e9447b" + integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w== + +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" + +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.2: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" + +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.12.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== + dependencies: + jsesc "~3.0.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +reselect@^5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-5.1.1.tgz#c766b1eb5d558291e5e550298adb0becc24bb72e" + integrity sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" + integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== + +resolve@^1.20.0, resolve@^1.22.10: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + dependencies: + is-core-module "^2.16.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" + isarray "^2.0.5" + +safe-buffer@5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== + dependencies: + es-errors "^1.3.0" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scheduler@0.26.0, scheduler@^0.26.0: + version "0.26.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" + integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== + +semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.1.3, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== + +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-error@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" + integrity sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw== + +serve-static@^1.13.1, serve-static@^1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== + dependencies: + encodeurl "~2.0.0" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.19.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1, shell-quote@^1.8.1: + version "1.8.3" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b" + integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.6, side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +stacktrace-parser@^0.1.10: + version "0.1.11" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz#c7c08f9b29ef566b9a6f7b255d7db572f66fabc4" + integrity sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg== + dependencies: + type-fest "^0.7.1" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stop-iteration-iterator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== + dependencies: + es-errors "^1.3.0" + internal-slot "^1.1.0" + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-natural-compare@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" + integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-abstract "^1.23.6" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" + set-function-name "^2.0.2" + side-channel "^1.1.0" + +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" + +string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strnum@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.1.2.tgz#57bca4fbaa6f271081715dbc9ed7cee5493e28e4" + integrity sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tailwind-merge@^1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-1.14.0.tgz#e677f55d864edc6794562c63f5001f45093cdb8b" + integrity sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ== + +tailwind-variants@0.1.20: + version "0.1.20" + resolved "https://registry.yarnpkg.com/tailwind-variants/-/tailwind-variants-0.1.20.tgz#8aaed9094be0379a438641a42d588943e44c5fcd" + integrity sha512-AMh7x313t/V+eTySKB0Dal08RHY7ggYK0MSn/ad8wKWOrDUIzyiWNayRUm2PIJ4VRkvRnfNuyRuKbLV3EN+ewQ== + dependencies: + tailwind-merge "^1.14.0" + +terser@^5.15.0: + version "5.43.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.43.1.tgz#88387f4f9794ff1a29e7ad61fb2932e25b4fdb6d" + integrity sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.14.0" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +ts-api-utils@^1.3.0: + version "1.4.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" + integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" + +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== + dependencies: + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" + +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" + +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" + +typescript@5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== + +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== + dependencies: + call-bound "^1.0.3" + has-bigints "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" + +undici-types@~7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" + integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +use-latest-callback@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.2.4.tgz#35c0f028f85a3f4cf025b06011110e87cc18f57e" + integrity sha512-LS2s2n1usUUnDq4oVh1ca6JFX9uSqUncTfAm44WMg0v6TxL7POUTk1B044NH8TeLkFbNajIsgDHcgNpNzZucdg== + +use-sync-external-store@^1.4.0, use-sync-external-store@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" + integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== + +utf8@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +v8-to-istanbul@^9.0.1: + version "9.3.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vlq@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468" + integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w== + +walker@^1.0.7, walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +warn-once@0.1.1, warn-once@^0.1.0, warn-once@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.1.1.tgz#952088f4fb56896e73fd4e6a3767272a3fccce43" + integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q== + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +whatwg-fetch@^3.0.0: + version "3.6.20" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70" + integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== + +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== + dependencies: + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.16, which-typed-array@^1.1.19: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.3.tgz#ccc96e4add5fd6fedbc491903075c85c5a11d9ee" + integrity sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA== + dependencies: + async-limiter "~1.0.0" + +ws@^7, ws@^7.5.10: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yaml@^2.2.1, yaml@^2.2.2: + version "2.8.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.0.tgz#15f8c9866211bdc2d3781a0890e44d4fa1a5fff6" + integrity sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^15.1.0: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^16.1.1: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.3.1, yargs@^17.6.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==